debugging与释放在CMAKE
在GCC编译的项目中,
- 如何为每个目标types运行
cmake
(debugging/发布)? - 如何使用
cmake
指定debugging和释放C / C ++标志? - 如何expression主要的可执行文件将被编译为
g++
和一个gcc
嵌套库?
通常最好做一个“源头”构build。 在您的项目的根目录中创build您的CMakeLists.txt
。 然后从你的项目的根源:
mkdir Release cd Release cmake -DCMAKE_BUILD_TYPE=Release .. make
而对于debugging(再次从您的项目的根):
mkdir Debug cd Debug cmake -DCMAKE_BUILD_TYPE=Debug .. make
Debug
将添加适合您的编译器的debugging标志。 有关更多详细信息,请参阅此FAQ
您可以通过CMAKE_C_FLAGS_DEBUG
和CMAKE_C_FLAGS_RELEASE
variables修改/添加CMakeLists.txt
的标志,例如:
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall")
有关更多详细信息,请参阅CMAKE_BUILD_TYPE
下的此链接 。
至于你的第三个问题,我不确定你在问什么。 CMake应该自动检测并使用适合你的不同源文件的编译器。
对于debugging/释放标志,请参阅CMAKE_BUILD_TYPE
variables(将其作为cmake -DCMAKE_BUILD_TYPE=value
传递)。 它需要Release
, Debug
等值
http://cmake.org/Wiki/CMake_Useful_Variables#Compilers_and_Tools
cmake使用扩展名来select编译器,所以只需命名你的文件.c。
你可以用各种设置覆盖它:
例如:
set_source_files_properties(yourfile.c LANGUAGE CXX)
用g ++编译.c文件。 上面的链接还显示了如何为C / C ++select特定的编译器。