标签: build-system

`meson.source_root()` 是项目根目录吗?

meson.source_root() 返回的目录是项目根目录(带有根级别的 meson.build 文件)还是当前正在处理的 meson.build 文件的路径?

build build-system meson-build

3
推荐指数
1
解决办法
3581
查看次数

如何使用Gulp auto-prefixer定位所有浏览器

我是Gulp的新手,之前从未使用任何插件,所以我有点迷失.

我已经按照一些教程进行了操作,并设法让Gulp运行并使用auto-prefixer插件.我现在只是试图找出是否有办法让它成为所有浏览器的所有版本的前缀?

这个浏览器列表中,我可以选择所有主要浏览器的最后两个版本或一系列版本,但我想选择所有浏览器的所有版本(主要和其他).我特别想添加对默认三星浏览器的支持,因为我现在遇到一些浏览器兼容性问题,并希望一些前缀可能是解决方案.

这是我到目前为止的代码:

var gulp = require('gulp');
var prefix = require('gulp-autoprefixer');

gulp.task('prefix', function () {
    gulp.src('css/**/*.css')
        .pipe(prefix('last 2 versions'))
        .pipe(gulp.dest('css/'));
});

gulp.task('default', ['prefix']);
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript browser build-system gulp gulp-autoprefixer

3
推荐指数
1
解决办法
2708
查看次数

如何在yocto中删除deploy/images/beaglebone目录

在我的yocto源代码中,deploy/images/beaglebonedir接近100GB所以我想释放那个内存

请帮我如何手动或通过命令行删除该部署目录

I want to clean all images(*.tar.gz,*.sdcard, *.ubifs) of previous compilation in yocto deploy/images/beaglebone/
Run Code Online (Sandbox Code Playgroud)

build-system yocto

3
推荐指数
1
解决办法
3250
查看次数

创建 TGZ 存档时更改布局

我使用 CMake 来管理具有以下布局的项目:

ProjectA/
  include
  doc
  test
ProjectB
  include
  doc
  test
Run Code Online (Sandbox Code Playgroud)

我想使用 CPack 打包具有以下布局的tar.gz 源存档:

include/
ProjectA/
  doc
  test
ProjectB/
  doc
  test
Run Code Online (Sandbox Code Playgroud)

其中新的顶级包含包含所有包含文件。

我尝试通过运行 CMake 脚本来实现此目的CPACK_INSTALL_SCRIPT,但该脚本在创建文件之前运行。我在哪里可以连接到 CPack 来获得这种效果?

似乎install对什么没有影响make package_source,但对 却有影响make package。不幸的是make package,还将构建和打包库,这是我不希望发生的事情。我想要一个纯源发行版 ala make dist

cmake build-system cpack

2
推荐指数
1
解决办法
2066
查看次数

使用G ++在Sublime 2中编译多个*.cpp和*.h文件

在MAC上,我可以使用命令行成功编译c ++程序

  g++ *.cpp *.h -o executablename
Run Code Online (Sandbox Code Playgroud)

但是它在Sublime 2中失败了 - 我为此创建了一个构建系统

 {
 "cmd" : ["g++", "*.cpp", "*.h", "-o", "executablename"]
 }
Run Code Online (Sandbox Code Playgroud)

有了这些结果

 i686-apple-darwin11-llvm-g++-4.2: *.cpp: No such file or directory
 i686-apple-darwin11-llvm-g++-4.2: *.h: No such file or directory
 i686-apple-darwin11-llvm-g++-4.2: no input files
 [Finished in 0.0s with exit code 1]
Run Code Online (Sandbox Code Playgroud)

但是,如果我在项目中创建具有特定文件名的构建系统,它可以工作:

{
"cmd" : ["g++", "Test.cpp", "TestCode.cpp", "TestCode.h", "TestCode2.cpp", "TestCode2.h", "-o", "executablename"]
}
Run Code Online (Sandbox Code Playgroud)

如何在Sublime 2中创建一个构建系统,它使用命令行模式在命令行上编译多个文件?

c++ g++ build-system sublimetext2

2
推荐指数
1
解决办法
6064
查看次数

如何防止gulp-notify破坏Windows中的gulp-watch?

我正在使用gulp-notify插件.这是我在gulpfile.js中实现它的一个例子(你可以看到我正在使用gutil和livereload.我不知道他们是否有任何因素,但如果他们这样做,请告诉我.)

gulp.task('js', function() {
  return gulp.src('./dev/scripts/*.coffee')
    .pipe(coffee({bare: true}).on('error', gutil.log))
    .pipe( gulp.dest('./build/js'))
    .pipe(notify('Coffeescript compile successful'))
    .pipe(livereload(server));
});
Run Code Online (Sandbox Code Playgroud)

此插件适用于OS X和Linux.在Windows上,它没有通知功能,它会返回错误并中断gulp-watch插件.这是我如何设置gulp-watch的一个例子:

gulp.task('watch', function () {
  server.listen(35729, function (err) {
    if (err) {
      return console.log(err);
    }
    gulp.watch('./dev/scripts/*.coffee',['js']);
  });
});
Run Code Online (Sandbox Code Playgroud)

所以,我在文档中读到了gulp-pipe插件可以帮助我在Windows上不打破gulp-watch,但我找不到一个如何在这样的设置中使用它的示例.

javascript build-system node.js gulp

2
推荐指数
1
解决办法
2644
查看次数

如何使用介子处理条件 cflags?

我是介子的新手,此时只是浏览文档。在介子构建中处理条件 cflags 的推荐方法是什么?

说对于 Visual Studio,我想使用 /DNOMINMAX 并抑制一堆警告,只有 VS 会产生像 /wd4626 /wd4640 等。你建议怎么做?

build build-system meson-build

2
推荐指数
1
解决办法
1948
查看次数

使用 CMake 时处理编译器标志的正确方法

我正在努力寻找一种正确的方法来为所有目标传播正确的编译器标志。

假设有一个包含库和单元测试的项目。

ProjectFolder
|-WorkerLibFolder
  |-Worker.cpp
  |-Worker.hpp
  |-CMakeLists.txt  (2)
|-main.cpp
|-CMakeLists.txt (1)
|-TestsFolder
  |-UnitTests.cpp
  |-CMakeLists.txt  (3)
Run Code Online (Sandbox Code Playgroud)

在 CMakeLists.txt (1) 中,我想全局设置编译选项,因为我假设项目的所有库的优化级别和其他标志应该相同。 add_compile_options(-Wall -Werror -Wno-error=maybe-uninitialized)用来实现它。

我还使用CMAKE_BUILD_TYPE了在CMAKE_CXX_FLAGS_RELEASECMAKE_CXX_FLAGS_DEBUG标志的帮助下自动设置所需优化级别的功能。

此外,这些变量之一被隐式传递给编译器的事实似乎很烦人,因为无论如何我必须提前为所需的优化标志设置这些变量,set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -DNDEBUG -DBOOST_DISABLE_ASSERTS")因为这-O3是默认设置的发布配置。

无论如何,直到我想-O0在编译测试环境 (UniTests.cpp) 时总是设置的那一刻,一切都很好。CMakeLists.txt (3) 生成 project_ut 可执行文件。我希望 WorkerLib 使用配置的优化级别(取自CMAKE_BUILD_TYPE)进行编译,但它自动意味着CMAKE_CXX_FLAGS_RELEASEwith-Ofast被传播到 UnitTest.cpp

我想我可能在这里做了一些奇怪的事情,并且有更好的方法来处理问题。这里的一个选择是在没有CMAKE_BUILD_TYPE功能帮助的情况下传递优化标志,但这似乎是错误的(因为我不想为每个目标维护标志列表)。

编辑:

#CMakeLists.txt(1):
cmake_minimum_required(VERSION 3.14.1)
project(TestProject LANGUAGES CXX C)

#####  common comp flags #####

add_compile_options(-Wall -Werror -Wno-error=maybe-uninitialized)

##############################

set(RELEASE_FLAGS "-Ofast -DNDEBUG -DBOOST_DISABLE_ASSERTS") …
Run Code Online (Sandbox Code Playgroud)

cmake build-system compiler-flags

2
推荐指数
1
解决办法
3711
查看次数

开发人员是否应限于某些开发软件?

开发人员是否应限于某些开发用途的应用程序?

对于大多数人来说,只要开发团队同意它并不重要,答案就是答案.

对于经过安全认证审核的公司,是否有一种方法可以平衡公司的风险和开发人员的灵活性和绩效?

范围

  1. 编码/开发软件
  2. 构建系统软件
  3. 分发包含的第三方软件(库,实用程序)
  4. (附加)工作站上的剩余软件

可能的解决方案

  1. 创建已批准软件的白名单,开发人员必须先获得所需软件的批准才能使用该软件.批准将基于业务目的/安全风险.

  2. 为软件创建黑名单.开发人员列出所有使用的软件.审核委员会定期查看清单.

有没有人必须在限制开发人员工具超出团队设置的公司工作?他们是如何处理这种情况的?

编辑

清理问题.试图减少争论.

ide build-system libraries

1
推荐指数
2
解决办法
507
查看次数