include_directories("${PROJECT_SOURCE_DIR}/include") # 2、添加库(对应的两个项目) add_library( hello_shared SHARED ${libhello_src}) add_library( hello_static STATIC ${libhello_src}) # 按照一般的习惯,静态库名字跟动态库名字应该是一致的,只是扩展名不同; #即:静态库名为 libhello.a; 动态库...
md5.cpp )link_libraries(lib_demo)add_executable(demo main.cpp )# link library in static modetarget_link_libraries(demo libuuid.a) 另外,使用cmake生成makefile之后,make edit_cache可以编辑编译选项。 不熟悉的命令可以去查找文档,贴个cmake3.0官方帮助文档地址...
1. `project`: 用于定义项目的名称和支持的语言。 2. `add_executable`: 用于添加可执行文件。 3. `add_library`: 用于添加库文件。 4. `target_link_libraries`: 用于将库文件链接到目标文件。 5. `include_directories`: 用于添加头文件搜索路径。 6. `file`: 用于操作文件,包括复制、删除、重命名等操作。
CMakeLists也可以解析外部的CMake语法,他是由“include” 或者“add_subdirectory”包含进来,两者的区别后面会说到。 解析完这些变量,cmake在内存中有了项目(可执行程序、库、用户自定义Command)的构建表达方法。在代码中一个target用cmTarget对象表示,所有的cmTarget构成了cmMakefile对象。 图2、CMakeCache.txt的 ...
六、CMake与外部Makefile的交互(Interaction Between CMake and External Makefile) 6.1 如何在CMake中使用外部Makefile(How to Use External Makefile in CMake) 6.1.1 add_custom_command 6.1.2 add_custom_target 6.1.3 add_custom_command的其他参数 6.2 外部Makefile如何影响CMake生成的Makefile(How Externa...
md5.cpp)link_libraries(lib_demo)add_executable(demo main.cpp)# link libraryinstaticmodetarget_link_libraries(demo libuuid.a) 另外,使用cmake生成makefile之后,make edit_cache可以编辑编译选项。 不熟悉的命令可以去查找文档,贴个目前最新的cmake3.19官方帮助文档地址https://cmake.org/cmake/help/v3.19/...
target_include_directories() add_executable( xx.cpp xx.h) 1. 2. 3. 这三种方式都可以对当前项目添加引用路径。 include_directories include_directories()的影响范围最大,可以为CMakelists.txt后的所有项目添加头文件目录 一般写在最外层CMakelists.txt中影响全局 ...
#include <stdio.h> int main(void) { printf("Hello World\n"); return 0; } 然后在main.c同级目录下编写CMakeLists.txt,内容如下: cmake_minimum_required (VERSION 2.8) project (demo) add_executable(main main.c) 2.3 运行查看 在终端下切到main.c所在的目录下,然后输入以下命令运行cmake: ...
1.include_directories。该命令是用来向工程添加多个指定头文件的搜索路径,路径之间用空格分隔。因为main.c里include了testFunc.h和testFunc1.h,如果没有这个命令来指定头文件所在位置,就会无法编译。当然,也可以在main.c里使用include来指定路径. 2.add_subdirectory()这个命令可以向当前工程添加存放源文件的子目录,并...