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_RELEASEvariables修改/添加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_TYPEvariables(将其作为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特定的编译器。