#cmakedefine01 VAR 会被替换成 #define VAR 0 或者 #define VAR 1 我们可以在命令行通过-D name=value 来控制CMake 变量的定义或者设置变量的值,-D会更新或者生成cache里面的一个数据项,因此可以通过命令行来控制编译选项,cache完以后同名的一般变量会被删除(文章一中的最后一条),所以如果采用这种方式,必须每...
option(MYDEBUG "enable debug compilation" OFF) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) add_subdirectory(src) 这里使用了option命令,其第一个参数是这个option的名字,第二个参数是字符串,用来描述这个option是来干嘛的,第三个是option的值,ON或OFF,也可以不写,不写就是默认OFF。 然后编写sr...
#cmakedefine FOO_ENABLE #cmakedefine FOO_STRING "@FOO_STRING@" An adjacent CMakeLists.txt may use configure_file to configure the header: option(FOO_ENABLE "Enable Foo" ON) if(FOO_ENABLE) set(FOO_STRING "foo") endif() configure_file(foo.h.in foo.h @ONLY) This creates a foo.h i...
option(MYDEBUG "enable debug compilation" OFF) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) add_subdirectory(src) 这里使用了option命令,其第一个参数是这个option的名字,第二个参数是字符串,用来描述这个option是来干嘛的,第三个是option的值,ON或OFF,也可以不写,不写就是默认OFF。 然后编写sr...
#cmakedefine FOO_ENABLE #cmakedefine FOO_STRING "@FOO_STRING@" An adjacent CMakeLists.txt may use configure_file to configure the header: option(FOO_ENABLE "Enable Foo" ON) if(FOO_ENABLE) set(FOO_STRING "foo") endif() configure_file(foo.h.in foo.h @ONLY) ...
#define _TEST_FUNC1_H_ void func1(int data); #endif再修改main.c,调用testFunc1.h里声明的函数func1(): main.c #include <stdio.h> #include "testFunc.h" #include "testFunc1.h" int main(void) { func(100); func1(200); return 0; ...
#cmakedefineUSE_MYMATH 这样CMake 会自动根据 CMakeLists 配置文件中的设置自动生成 config.h 文件。 编译项目 现在编译一下这个项目,为了便于交互式的选择该变量的值,可以使用ccmake .命令 从中可以找到刚刚定义的USE_MYMATH选项,按键盘的方向键可以在不同的选项窗口间跳转,按下enter键可以修改该选项。修改完成...
option(ENABLE_ORIGIN_PROTOCOL "use origin protocol" OFF) if(ENABLE_ORIGIN_PROTOCOL) add_definitions(-DUSE_OLD_PROTOCL) endif(ENABLE_ORIGIN_PROTOCOL) #定义常量,相当于#define USE_OLD_PROTOCL 1 add_definitions(-DUSE_OLD_PROTOCL=1) #定义文本,相当于#define USE_OLD_PROTOCL #define XXX ... ...
CMake---if与option使用小记 在CMake中if语法比较简单,if后面括号中的参数随着CMake版本的推进,在else和endif中也可以不用写了。 if(address)else() endif() 对于if语法,比较常用的就是字符串比较了,这里个人简单用到过两种,一种是这个变量有没有定义过。有两种写法可以验证 ...
#defineENABLE_FEATURE_X @ENABLE_FEATURE_X@ 在CMakeLists.txt文件中,你可以使用以下命令为ENABLE_FEATURE_X定义一个可配置选项,并生成config.h文件: option(ENABLE_FEATURE_X "Enable feature X" ON) configure_file(config.h.in config.h @ONLY)