3)aux_source_directory命令 命令语法:aux_source_directory(<dir> <variable>) 命令简述:用于将 dir 目录下的所有源文件的名字保存在变量 variable 中 使用范例:aux_source_directory(src DIR_SRCS) 4)add_executable 命令 命令语法:add_executable(<name> [WIN32] [MACOSX_BUNDLE][EXCLUDE_FROM_ALL] source1 ...
作用: 把当前路径下src目录下的所有源文件路径放到变量hello_src中 命令:aux_source_directory(<dir> <variable>) 作用:查找dir路径下的所有源文件,保存到variable变量中. 上面的例子中,hello_src是一个自定义变量,在执行了aux_source_directory(./src ${hello_src})之后,我就可以像这样来添加一个可执行文件:...
如果在上面的例子中将ADD_SUBDIRECTORY(src bin)改成SUBDIRS(src)。那么在build目录中将出现一个src目录,生成的目标代码hello将存在在src目录中。 这里提一下,SUBDIRS指令,使用的方法是: SUBDIRS(dir1 dir2 …),但是这个指令已经不推荐使用了。他可以一次添加多个子目录,并且,即是外部编译,子目录体系仍然会被保存。
add_subdirectory (src) add_subdirectory:这个语句的作用是增加编译子目录。其基本语法格式是: add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) 一共有三个参数,后两个是可选参数. source_dir 源代码目录 指定一个包含CMakeLists.txt和代码文件所在的目录,该目录可以是绝对路径,也可以是相对路径,...
在构建时可以在控制台观察到,PROJECT_SOURCE_DIR 代表的就是当前项目在磁盘的根目录使用include_directories 可以搜索头文件进行包含,这样在使用某类时直接使用名称即可,不需要指定相对路径。 aux_source_directory 可以搜索文件夹中的实现文件,并添加到后面的变量中,这里是 SRC_LIST。
cmake系统也帮助我们预定义了PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR其值与上述对应相等 SET(变量名 变量值) SET(VAR [VALUE] [CACHE TYPEDOCSTRING [FORCE]]) SET(SRC_LIST main.c t1.ct2.c) SET(SRC_LIST main.c) MESSAGE MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] “message to display” …)...
cmake/t4/src/main.c:1:19: error: hello.h: 没有那个文件或目录 为了让我们的工程能够找到hello.h 头文件,需要引入一个新的指令INCLUDE_DIRECTORIES,其完整语法为: INCLUDE_DIRECTORIES([AFTER|BEFORE] [SYSTEM] dir1 dir2 ...) 这条指令可以用来向工程添加多个特定的头文件搜索路径,路径之间用空格分割,如...
└─src hello.cxx hi.cxx 2、CMakeLists.txt cmake_minimum_required(VERSION 3.1) #项目名 project(libhello) # 1、指定库的目录变量 set(libhello_src src/hello.cxx) # 指定头文件搜索路径 include_directories("${PROJECT_SOURCE_DIR}/include") ...
add_executable(Demo ${DIR_SRCS}) 这样,CMake 会将当前目录所有源文件的文件名赋值给变量DIR_SRCS,再指示变量DIR_SRCS中的源文件需要编译成一个名称为 Demo 的可执行文件。 多个目录,多个源文件 现在进一步将 test1.h 和test1.cpp文件移动到 src 目录下。
行集 (PROJECT_SRC “CmakeProject4.cpp” “CMakeProject4.h” 會顯示右括弧前醒目提示的 “Demo.cpp”。 [套用] 按鈕接受變更,或者您可以按 [取消]。 CMake 專案的 IntelliSense 根據預設,Visual Studio 會使用符合使用中 CMake 組態所指定編譯器和目標架構的 IntelliSense 模式。 如果CMakePresets.json ...