Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake安装目标依赖项_C++_Cmake - Fatal编程技术网

C++ CMake安装目标依赖项

C++ CMake安装目标依赖项,c++,cmake,C++,Cmake,我正在编写一个包含库本身和示例的库,我正在使用CMake: cmake_minimum_required(VERSION 3.6) add_executable (example main.cpp) install(DIRECTORY include DESTINATION include PATTERN ".DS_Store" EXCLUDE) 当我运行cmake-build时-目标安装-编译示例目标并安装包含目录 我想排除building example target,并在building

我正在编写一个包含库本身和示例的库,我正在使用CMake:

cmake_minimum_required(VERSION 3.6)
add_executable (example main.cpp)
install(DIRECTORY include DESTINATION include PATTERN ".DS_Store" EXCLUDE)
当我运行cmake-build时-目标安装-编译示例目标并安装包含目录

我想排除building example target,并在building install target和building example(如果在没有任何特殊目标的情况下运行)时仅包含目录安装:

在这里,我希望不要构建示例: cmake-build-目标安装

我希望在这里建立一个示例: cmake-build

我应该如何更改我的CMakeLists.txt以使其按我所希望的方式工作?

安装时不能排除单个CMake目标

问题是,“安装”目标可能仅依赖于“所有”默认目标

虽然可以通过设置变量删除“install”->“all”依赖项,但不能为“install”添加其他依赖项

所以,在安装之前

cmake --build . --target install
要么表演

cmake --build .

或者不建立任何东西,甚至不建立任何你想在任何情况下建立的库。

我认为这是不可能的。至少第二个应该是cmake-build-目标示例。在这一点上,一个可能的解决方案已经在这里进行了研究