编译一个hello_cmake
文件树
├── CMakeLists.txt
├── main.cpp
main.cpp
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "Hello CMake!" << std::endl;
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.5) #设置CMake最小版本
project (hello_cmake) #设置工程名
add_executable(hello_cmake main.cpp) #生成可执行文件
详解
project (hello_cmake) :
将此工程命名为hello_cmake,并自动生成变量 PROJECT_NAME
PROJECT_NAME是变量名,${PROJECT_NAME}是变量值,值为hello_cmake
add_executable(hello_cmake main.cpp) :
add_executable()命令指定某些源文件生成可执行文件,本例中是main.cpp。
add_executable()函数的第一个参数是可执行文件名,第二个参数是要编译的源文件列表。
举一反三
生成与工程同名的二进制文件
cmake_minimum_required(VERSION 2.6)
project (hello_cmake)
add_executable(${PROJECT_NAME} main.cpp)
外部构建(推荐)
使用外部构建,我们可以创建一个可以位于文件系统上任何位置的构建文件夹。 所有临时构建和目标文件都位于此目录中,以保持源代码树的整洁。
拿本例子来说:
运行下述代码,新建build构建文件夹,并运行cmake命令
mkdir build
cd build/
cmake ..
make