在 CMake 中给 .cpp 定义一个宏



根据不同的操作系统,把宏定义成不同的值



CMake 还提供了一些简写变量:WIN32, APPLE, UNIX, ANDROID, IOS 等
- 虽然名字叫
WIN32,实际上对 32 位 Windows 和 64 位 Windows 都适用 APPLE对于所有苹果产品(MacOS 或 iOS)都为真UNIX对于所有 Unix 类系统(FreeBSD, Linux, Android, MacOS, iOS)都为真


使用生成器表达式,简化成一条指令
语法:$<$<类型:值>:为真时的表达式>
- 比如
$<$:MY_NAME=”Bill Gates”>在 Windows 平台上会变为MY_NAME=”Bill Gates”其他平台上则表现为空字符串
生成器表达式:如需多个平台可以用逗号分割

判断当前用的是哪一款 C++ 编译器
也可以用生成器表达式判断编译器
生成器表达式也可以做复杂的逻辑判断


CMake 还提供了一些简写变量:MSVC, CMAKE_COMPILER_IS_GNUCC


CMAKE_CXX_COMPILER_ID 直接作为字符串变量


从命令行参数指定编译器
也可以通过环境变量 CXX 指定


CMAKE_GENERATOR 也可以了解一下


顺便一提,小彭老师使用的 vimrc 分享
github.com/archibate/vimrc




