616得票26回答
寻找一个“cmake clean”命令来清除CMake输出。

就像make clean会删除Makefile生成的所有文件一样,我希望在CMake中也能做到同样的事情。经常需要手动浏览目录并删除类似cmake_install.cmake、CMakeCache.txt 和 CMakeFiles等文件。 是否有像cmake clean这样的命令可以自动删除...

574得票6回答
CMake中的Debug和Release区别解析

在一个使用 GCC 编译的项目中, 我如何为每个目标类型(debug/release)运行 CMake? 我如何使用 CMake 指定调试和发布的 C/C++ 标志? 我如何表示主可执行文件将使用 g++ 编译,而一个嵌套库将使用 gcc 编译?

519得票3回答
使用Makefile和CMake编译代码有什么区别?

我使用C/C++编程,并使用(GNU)Makefile来编译代码。我也可以用CMake做到同样的事情并得到一个Makefile,但是使用Makefile和CMake编译代码有什么区别?

456得票9回答
CMake中与'configure --prefix = DIR && make all install'相当的是什么?

我执行了"cmake . && make all install"命令,它可以正常工作,但会安装到/usr/local目录。 我需要将其安装到其他前缀目录(例如/usr)。 请问如何修改cmake和make的命令行参数以将其安装到/usr而不是/usr/local?

417得票6回答
通过CMake定义预处理宏?

如何通过CMake定义一个预处理器变量? 相应的代码应该是#define foo。

416得票17回答
如何在CMake中启用C++ 11?

当我尝试运行CMake生成的makefile以编译我的程序时,我收到以下错误信息: 在C++ 98模式下不支持基于范围的for循环。 我尝试将add_definitions(-std=c++0x)添加到我的CMakeLists.txt文件中,但没有起作用。 我也尝试了这个:if(...

408得票11回答
如何使用CMake正确添加包含目录

大约一年前,我询问了关于CMake中头文件依赖的问题。 最近我意识到,问题似乎在于CMake认为这些头文件是项目的外部文件。至少,在生成Code::Blocks项目时,头文件不会出现在项目中(源文件会)。因此,对我来说,CMake认为这些头文件是项目的外部文件,并且不会在依赖项中跟踪它们。 ...

355得票8回答
使用CMake和GNU Make:如何查看确切的命令?

我使用GNU Make和CMake,并且想要查看所有命令的详细信息(例如编译器如何执行,所有标志等)。 GNU make有--debug选项,但它似乎并没有那么有用,还有其他选项吗? CMake在生成的Makefile中提供了额外的调试标志吗?

336得票12回答
使用CMake在GCC和Clang/LLVM之间切换

我有一些使用CMake构建的项目,我希望能够轻松地在GCC或Clang/LLVM之间切换以编译它们。 我认为(如果我错了,请纠正我!)要使用Clang,我需要设置以下内容: SET (CMAKE_C_COMPILER "/usr/bin/clang") S...

306得票7回答
CMake:在脚本中打印出所有可访问的变量

我想知道是否有办法在CMake中打印出所有可访问的变量。我不感兴趣的是CMake变量 - 如--help-variables选项。我指的是我定义的变量或包含脚本定义的变量。 目前,我的包含方式为:INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardComp...