是否可以在cmake中不生成ALL_BUILD项目?

2023-12-30

我不需要 ALL_BUILD 子项目,我可以避免生成它吗?谢谢。


CMake 问题 #16979:“正在生成 ALL_BUILD 目标” https://gitlab.kitware.com/cmake/cmake/issues/16979:

The ALL_BUILDtarget 对应于 CMake 的“all”目标概念,相当于使用 makefile 生成器 make all。由于 VS IDE 处理 vcxproj 间依赖关系的方式不同,这与“构建解决方案”行为不同。

没有办法抑制ALL_BUILD目标。对于像这样的命令它必须存在cmake --build。能够默认构建“all”目标。

所以你无法避免它 - 就像 @arrowd 答案一样 - 但 CMake 中的一些内容可能会影响它的使用/外观(在 Visual Studio 等 IDE 生成器上):

  1. 当您激活全局USE_FOLDERS https://cmake.org/cmake/help/latest/prop_gbl/USE_FOLDERS.html财产

     set_property(GLOBAL PROPERTY USE_FOLDERS ON)
    

    通用目标ALL_BUILD, ZERO_CHECK, INSTALL, PACKAGE and RUN_TESTS将被分组为CMakePredefinedTargets文件夹(或全局中指定的名称)PREDEFINED_TARGETS_FOLDER https://cmake.org/cmake/help/latest/prop_gbl/PREDEFINED_TARGETS_FOLDER.html财产)。

  2. 全局变量CMAKE_SKIP_INSTALL_ALL_DEPENDENCY and CMAKE_SKIP_PACKAGE_ALL_DEPENDENCY抑制否则自动生成的依赖关系INSTALL or PACKAGE to the ALL_BUILD target.

  3. 全球VS_STARTUP_PROJECT https://cmake.org/cmake/help/latest/prop_dir/VS_STARTUP_PROJECT.html属性可用于将默认启动项目名称更改为除ALL_BUILD或“第一个项目不在子文件夹中”目标。

参考

  • 什么是 ALL_BUILD 和 ZERO_CHECK?我需要它们吗? https://stackoverflow.com/questions/27175754/what-are-all-build-and-zero-check-and-do-i-need-them
  • 如何跳过对包目标的所有依赖? https://stackoverflow.com/questions/43609677/how-to-skip-dependency-on-all-for-package-target
  • 使用解决方案文件夹时没有 CMakePredefinedTargets https://stackoverflow.com/questions/36149962/no-cmakepredefinedtargets-when-using-solution-folders
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在cmake中不生成ALL_BUILD项目? 的相关文章

  • 即使 CMake 中的 WITH_CUDA=ON,OpenCV 也不会使用 CUDA 进行构建

    我尝试使用 CMake GUI 版本 构建 OpenCV 3 1 以启用 Cuda 我已经安装了 Cuda 7 5 64 位版本 CMake 自动找到了 Cuda 工具包的正确路径 我确保WITH CUDA值设置为ON 并按下配置 这是我对
  • Qt 5 和 OS X Mavericks 问题

    我正在使用 Cmake 在 OS X 10 9 上构建 QT 项目 自 Mavericks 以来 OpenGL 标头的位置似乎发生了变化 文件夹 System Library Frameworks OpenGL framework Head
  • 查找带有 Anaconda cmake 前缀的 boost-python3

    DLDR如何将 cmake 指向 boost python3 库 cmake 不会自动检测到它 我正在尝试建立caffe https github com BVLC caffe对于 Python 3 6 使用提供的 cmake 我的系统规格
  • cmake:在 CMakeLists.txt 中选择生成器

    我想强制CMake使用 Unix Makefiles 发电机来自 CMakeLists txt 中 这是我现在使用的命令 cmake G Unix Makefiles 我希望是这样的 cmake 当在安装了 VC 和自定义工具链的 Wind
  • 使用 OpenCL 支持构建 OpenCV

    在 CMake 中 我使用 OpenCL Enable ON 构建了 OpenCV 它自动检测到OPENCL INCLUDE DIR路径但是OPENCL LIBRARY即使单击配置后也是空的 为了OPENCL LIBRARY我也没有看到浏览
  • Jenkins + Cmake + JIRA = 多个相互依赖项目的 CI?

    我们的系统中有许多小项目在 Linux 上运行 Slackware 7 11 正在慢慢迁移到 RHEL 6 0 大约 50 100 个应用程序和 15 20 个库 我们几乎所有的应用程序都使用我们的一个或多个库 我们的源树看起来像这样 ap
  • 编辑 CMakeLists.txt 以使用 -fPIC 进行编译

    我正在尝试为名为 libnifalcon 的 NOVINT Falcon 安装驱动程序 我使用 cmake 创建 make 文件 但是当我运行 make 时出现错误 Linking CXX shared library lib libnif
  • 在cmake中检测项目语言

    我想检测当前的项目语言 例如 如果我有这样的东西 cmake minimum required VERSION 3 0 project foo VERSION 1 0 LANGUAGES CXX 我需要这样的东西 if project la
  • CMake:不要为链接中使用的单个库设置 rpath

    我想要做的是配置我的 CMakeLists 文件 以便在构建我的项目时 链接器使用驻留在我的构建树中的共享库 so 的副本来链接可执行文件 但不会在中设置 rpath链接的可执行文件 以便系统必须在加载程序请求时提供该库 具体来说 我想在构
  • CMake:将为 lib 构建的对象文件重用到另一个 lib 目标中

    我正在尝试将我的项目转移到CMake 同时对编译过程进行一些优化 这是交易 我有几个子目录 必须 每个子目录都编译成静态库 这有效 我想将每个子目录中的所有目标文件收集到另一个更大的 完整的静态库中 它看起来像这样 libBig a mad
  • CXX 编译器标识未知

    我们在使用 Visual Studio 2012 在 Windows 7 64 位下使用 CMake v2 8 12 编译项目时遇到问题 CMake 给我们提供了以下错误 我们已经尝试使用管理员权限从 Visual Studio 命令行启动
  • 为dlib创建共享库

    按照说明使用 cmake 编译 dlib here http dlib net compile html 生成静态 dlib 库 cd examples mkdir build cd build cmake cmake build conf
  • cmake 找不到 boost 库,因为它查找错误的文件名

    我根据文档在 Windows 8 1 机器上构建了 boost 1 56 库 作为共享库和静态库 他们全部出现在BOOST ROOT stage lib目录 文件名格式如下 boost thread vc120 mt 1 56 dll bo
  • cmake MSYS Makefiles 生成器丢失

    我通过 pacman 安装了 cmake 3 2 3 当我尝试从 msys64 shell 中使用它时出现错误 cmake G MSYS Makefiles CMake Error Could not create named genera
  • CMake 中的 FindSDL2 发生了什么?

    我在游戏中使用 SDL2 我一直使用自定义 FindSDL2 cmake 因为标准 CMake 集中没有 然而 前段时间确实出现了有关 FindSDL2 的帖子 例子 红迪网帖子 https www reddit com r opengl
  • 每次我添加新的源子文件夹时,Cmake 都会重新编译所有内容

    我有一个项目树 组织如下 MyProjects build project1 CMakeLists txt project2 CMakeLists txt src project1 Project1Class1 h Project1Clas
  • MinGW Make 抛出“系统找不到指定的路径。”错误

    我正在尝试在 Windows 7 上使用 cmake 生成一个 c 项目 在实际创建项目之前 cmake 会对您的工具链进行快速测试 我正在使用 MinGW 这就是我的问题所在 Cmake 触发 make 构建 最终失败并返回 系统找不到指
  • 如何在 C++ 项目的 Cmake 文件上添加 Mac OS 框架

    我正在尝试将外部库 Vulkan 添加到我的项目中 这个库是预编译的并且有一个框架 我的项目树 build source Entry main cpp include ext vulkan macos include lib Framewo
  • 如何从 CMake 构建目标仅生成目标文件 (*.o)?

    我正在尝试使用 CMake 构建一个对象文件 但我似乎无法让 CMake 构建除完整可执行文件之外的其他内容 我基本上是在寻找以下编译的结果 结果将加载到 VxWorks 目标上并然后链接 CC CFLAGS INC DIRS c src
  • CMake“项目”指令的正确用法是什么

    我有一个很大的代码库 它构建了几十个库和几个可执行文件 代码库按层次结构进行分解 并且几乎在每个级别都构建了库 我已经仔细检查并在每个目录中放置了一个 CMakeLists txt 文件来构建每个库 在每个 CMakeLists txt 中

随机推荐