CMake中的宏是一系列可以被多次调用的CMake命令,可以接收参数,类似于函数。用于封装重复使用的构建逻辑。我们可以使用macro和endmacro命令定义宏。宏在定义它们的CMake文件中全局可见。 macro(MyMacro arg1 arg2) #定义宏 message(STATUS "Arg1: ${arg1}") message(STATUS "Arg2: ${arg2}") endmacro() #定义...
3、执行cmake的时候执行编译器版本和输出路径 cmake -G"Visual Studio 14 2015" CMakeLists.txt -B./platforms_project/win32 -G:表示指定编译器的版本 -B:表示要输出的路径 1. 2. 3. 4、到此一个最简单的cmake程序就完了 五、CMake常用操作指令 1、设置CMake的版本 cmake_minimum_required(VERSION 3...
Cmake 脚本对预处理器的宏定义 我们有些时候会在#if #ifndef 等预编译命令里面看到_WIN32等定义的宏。但是有些宏定义,你即使通过Visual Studio右键的go to definitions 和go to decleration就是找不到宏定义的位置,其实是在vcproject,.sln工程文件的项目属性里面就定义好了。因为在VS中时GUI界面的操作,所以容易...
这里我们以glslang库为例 # Set Module NameSET(MODULE_NAME glslang)# messageMESSAGE( STATUS"Configuring module: ${MODULE_NAME} ...")# Include DirectoriesINCLUDE_DIRECTORIES(${ECHO_SRC_PATH})INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})# Link DirectoriesLINK_DIRECTORIES(${CMAKE_LIBRARY_OUTPUT_D...
CMake 常用宏分享 介绍 在本人多年的CMake使用过程中,有两个自定义宏被广泛且频繁使用。分别是: 1. GROUP_FILES 根据项目目录结构,分组显示c++文件,实现目录结构与项目结构的对应。 # MACRO GROUP_FILES MACRO(GROUP_FILES src_files root_path) SET(cur_dir ${root_path}) FOREACH(group_files ${${src...
CMake 常用宏分享 介绍 在本人多年的CMake使用过程中,有两个自定义宏被广泛且频繁使用。分别是: 1. GROUP_FILES 根据项目目录结构,分组显示c++文件,实现目录结构与项目结构的对应。 # MACRO GROUP_FILES MACRO(GROUP_FILES src_files root_path) SET(cur_dir ${root_path}) ...
CMake 常⽤宏分享 介绍 在本⼈多年的CMake使⽤过程中,有两个⾃定义宏被⼴泛且频繁使⽤。分别是:1. GROUP_FILES 根据项⽬⽬录结构,分组显⽰c++⽂件,实现⽬录结构与项⽬结构的对应。# MACRO GROUP_FILES MACRO(GROUP_FILES src_files root_path)SET(cur_dir ${root_path})FOREACH(...
如果要客观评价 CMake,应该纵观整个C/C++构建工具的历史。第一代DSL型构建语言 Makefile,是描述构建的...
WIN32:在所有的 win32 平台为 TRUE,包括 Cygwin 开关选项 CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS:开关选项,用来控制 if else 的书写方式 BUILD_SHARED_LIBS:开关选项,默认为静态库 编译选项 CMAKE_BUILD_TYPE:编译类型,Debug, Release CMAKE_C_COMPILER:指定 C 编译器 ...