我正在编写一个包含库本身和示例的库,我正在使用CMake:
requirejs(["FileSaver.js"], function(FileSaver) {
//FileSaver is now available as function
console.log(FileSaver);
});
当我运行cmake_minimum_required(VERSION 3.6)
add_executable (example main.cpp)
install(DIRECTORY include DESTINATION include PATTERN ".DS_Store" EXCLUDE)
时 - 它会编译cmake --build . --target install
目标并安装example
目录
我想在构建include
目标时排除构建example
目标并仅安装include
目录,如果在没有任何特殊目标的情况下运行,则构建install
:
我希望example
不构建:
example
我希望cmake --build . --target install
构建:
example
我应该如何更改我的CMakeLists.txt以使其正常工作?
答案 0 :(得分:3)
安装时无法排除单个 CMake目标。
问题是“安装”目标可能仅取决于“所有”(默认)目标。
虽然你可以删除'install' - > “全部”依赖关系(通过设置CMAKE_SKIP_INSTALL_ALL_DEPENDENCY变量),可能无法为“安装”添加其他依赖关系。
所以,在安装之前
cmake --build . --target install
执行
cmake --build .
或不会构建任何内容(甚至是您希望在任何情况下构建的库)。