在使用cmake的时候为了构建工程方便,可以自己写脚本生成工程目录。下面是一个简单的例子实现。
参数说明:
-S <path-to-source>
:指定 CMakeLists.txt 所在的路径,即项目的源代码路径。
-B <path-to-build>
:指定生成构建系统的路径,即生成的项目构建文件(如 Makefile、Visual Studio 工程文件等)所在的路径。
-A <architecture>
:指定目标的架构,如 x64、Win32 等。这个参数通常用于生成 Visual Studio 工程时指定目标平台。
Windows示例(.bat文件):
# 选择当前目录下的源文件,在上一级生成build_code目录
cmake -S . -B ../build_code -A x64 ^
-DBUILD_FW_FLAG=1^
-DBULID_TEST_FLAG=0
在一些大型工程项目中有许多编译的开关,通过 -D##flag_name##来控制编译的开关,1为开,0为关闭,以此来控制你想编译的模块。
Linux示例(.sh文件):
#!/bin/sh
# 设置编译类型
BUILD_TYPE='release'
# 设置生成目录
BUILD_DIR=../build_$BUILD_TYPE
cmake -S . -B $BUILD_DIR \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DBUILD_FW_FLAG=1 \
-DBULID_TEST_FLAG=0
在Linux系统cmake工程之后,可以进入build生成的目录下,使用make命令编译代码,示例:
# 切换到构建目录下
cd build_relase
# -j7代表使用7个线程并行编译,-s 则用于静默模式,即只输出必要的信息,不显示详细的构建过程
make -j7 -s