add_library()默认定义的是static库,可以使用BUILD_SHARED_LIBS变量来改变默认行为。 target_link_libraries() 给二进制添加依赖 构建选项 target_include_directories()生成INCLUDE_DIRECTORIES, INTERFACE_INCLUDE_DIRECTORIES两个变量。如果只是用于库的实现,那应该用PRIVATE关键字;如果是库的头文件也使用了依赖,应该使用P...
add_library(<name> INTERFACE [IMPORTED [GLOBAL]]) 这类库有属性,能install(),export和imported,但可能没有build过程。像纯头文件库或完全针对target的设计(这条参见interface libraries) 回到顶部 为库起别名 为给定library添加一个别名,后续可使用<name>来替代<target>。 1 add_library(<name> ALIAS <target>...
add_library(anotherlib STATIC other.cpp $<TARGET_OBJECTS:test_library>) 1. 2. 3. test_library并没有被实际生成,使用test_library的目标文件的 生成表达式作为 参数放在add_library或者add_executable放源 代码的位置,而不能放在target_link_library的位置。 这种方式不常使用,因为静态库就是把文件打包,这种情...
add_library(lib_interface INTERFACE)target_link_directories(lib_interface INTERFACE your/lib/path)target_link_libraries(lib_interface INTERFACE you/lib)target_include_directories(lib_interface INTERFACE yout/include/path) 总体的使用和一般target一样,注意关键字INTERFACE就好...
在CMake中,add_library命令的基本语法如下: add_library(<name><SHARED|STATIC|MODULE|INTERFACE>[source1][source2...]) 其中,<name>是你要创建的库的名称,<SHARED|STATIC|MODULE|INTERFACE>用于指定库的类型。你可以选择的类型包括SHARED(共享库,Shared Libraries)、STATIC(静态库,Static Libraries)、MODULE(模块...
INTERFACE: 当目标自身不需要此链接库,但其他目标链接了这个目标时使用。 其他目标链接这个目标时,它们会继承这个链接库,但目标自身不会链接这个库。 这主要用于头文件只的库或者当你只想传递链接依赖而不实际链接它们时。 示例: target_link_libraries(my_target INTERFACE yet_another_library) ...
cmake add_library编译链接静态库cmakelists 本篇文章我们来编写CMakeLists.txt使用cmake的add_library的构建静态库,并使用target_link_libraries链接指定的静态库。 cmake的linux windows 和linux环境的准备可以我看前面的文章: 一、 代码准备 为了项目更简单点,我这边把静态库和配置和链接静态库的配置放在一个C...
在CMakeLists.txt文件中,使用add_library命令创建一个接口库,并将其类型设置为INTERFACE。 代码语言:txt 复制 add_library(MyInterfaceLib INTERFACE) 使用target_link_libraries命令将其他库的目标添加到接口库中。 代码语言:txt 复制 target_link_libraries(MyInterfaceLib PUBLIC SomeOtherLib) 在使用接口库的目标中...
target_include_directories(<target>[SYSTEM] [BEFORE]<INTERFACE|PUBLIC|PRIVATE>[items1...] [<INTERFACE|PUBLIC|PRIVATE>[items2...] ...]) 指定编译目标文件的时候需要包含的路径和内容,<target>必须是一个已经通过诸如add_executable()或者add_library()函数创建了的目标,并且不是一个标注成IMPORTED目标。
One solution is to use ADD_LIBRARY(thread-pool INTERFACE) but that only works with CMake 3.0 and I've 2.8 installed. I am not asking for a solution on how to upgrade CMake to 3.0 but is there any alternative way that I can use with CMake 2.6 or 2.8 ? One way that comes in my...