在GCC编译的项目中,
- 如何为每种目标类型(调试/发布)运行CMake?
- 如何使用CMake指定调试和发布C/C++标志?
- 我如何表示主可执行文件将用
g++
编译,一个嵌套库用gcc
编译?
在GCC编译的项目中,
g++
编译,一个嵌套库用gcc
编译?使用CMake,通常推荐做"out of source" build分.在项目的根目录中创建CMakeLists.txt
.然后从项目的根目录开始:
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
Debug
英镑(同样是从项目的根本上):
mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
Release
/Debug
将为您的编译器添加适当的标志.还有RelWithDebInfo
和MinSizeRel
构建配置.
您可以通过指定一个toolchain file来修改/添加标志,您可以在其中添加CMAKE_<LANG>_FLAGS_<CONFIG>_INIT
个变量,例如:
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Wall")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-Wall")
有关更多详细信息,请参见CMAKE_BUILD_TYPE.
至于你的第三个问题,我不确定你到底在问什么.CMake应该自动检测并使用适合不同源文件的编译器.