├── cmakelists.txt
└── main.c
源文件
main.c
#include
int main(int argc, char *argv[])
{
printf("build-type:cmake\r\n");
return 0;
}
cmakelists.txt
# set the minimum version of cmake that can be used
# to find the cmake version run
# $ cmake --version
cmake_minimum_required(version 3.5)
# set a default build type if none was specified
if(not cmake_build_type and not cmake_configuration_types)
message("setting build type to 'relwithdebinfo' as none was specified.")
set(cmake_build_type relwithdebinfo cache string "choose the type of build." force)
# set the possible values of build type for cmake-gui
set_property(cache cmake_build_type property strings "debug" "release"
"minsizerel" "relwithdebinfo")
endif()
# set the project name
project (build_type)
# add an executable
add_executable(cmake_examples_build_type main.c)
编译
$ mkdir build
$ cd build/
$ cmake .. -dcmake_build_type=release
$ make verbose=1 (打印详细的编译信息)
说明
构建级别
make具有许多内置的构建配置,可用于编译工程。 这些配置指定了代码优化的级别,以及调试信息是否包含在二进制文件中。
这些优化级别,主要有:
release —— 不可以打断点调试,程序开发完成后发行使用的版本,占的体积小。 它对代码做了优化,因此速度会非常快,
在编译器中使用命令: -o3 -dndebug 可选择此版本。
debug ——调试的版本,体积大。
在编译器中使用命令: -g 可选择此版本。
minsizerel—— 最小体积版本
在编译器中使用命令:-os -dndebug可选择此版本。
relwithdebinfo—— 既优化又能调试。
在编译器中使用命令:-o2 -g -dndebug可选择此版本。
设置编译级别的方式
方式1:使用cmake图形界面
方式2:使用cmake命令行
cmake .. -dcmake_build_type=release
cmake .. -dcmake_build_type=debug