#INSTALL (TARGETS hello hello_shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) #INSTALL (TARGETS hello hello_static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) #INSTALL (FILES hello.h DESTINATION include/hello) 3、configure and generate xxx/to/path cd build cmake .. 4、其他设置 若需要...
add_library(<name> INTERFACE [IMPORTED [GLOBAL]]) 这类库有属性,能install(),export和imported,但可能没有build过程。像纯头文件库或完全针对target的设计(这条参见interface libraries) 回到顶部 为库起别名 为给定library添加一个别名,后续可使用<name>来替代<target>。 1 add_library(<name> ALIAS <target>...
生成静态库需要用到命令add_library只需将第二个参数由STATIC改为SHARED。我们修改CMakeLists.txt。与静态库相同命令只需要指出名字中间部分 执行cmake命令并编译。 可以看到build 目录下成功生成了动态库文件libmymath.so 。 指定库文件的输出路径 指定库文件的输出路径有两种方法:设置EXECUTABLE_OUTPUT_PATH指定输出路...
add_library(<name> <SHARED|STATIC|MODULE|OBJECT|UNKNOWN> IMPORTED [GLOBAL]) 1. 2. 这种用法可以直接导入已经生成的库,cmake不会给这类library添加编译规则。 这种用法的关键在于添加变量IMPORTED。 另外,GLOBAL可用于设置这个library为全局可见。 imported的library,其属性以IMPORTED_开头,导入库的几个重要属性如下...
https://cmake.org/cmake/help/latest/search.html?q=add_library 开胃菜例子 生成一个可执行程序的 CMakeList #添加包含文件的的目录 include_directories(${cppzmq_INCLUDE_DIR}) #用${SOURCE_FILES}指定的文件,生成可执行文件sample_project ...
ADD_LIBRARY(libname[SHARED|STATIC|MODULE][EXCLUDE_FROM_ALL]source1source2...sourceN) 不需要写全libhello.so,只需要填写hello 即可,cmake 系统会自动生成 libhello.X 类型有三种: SHARED,动态库。 STATIC,静态库。 MODULE,在使用 dyld 的系统有效,如果不支持dyld,则被当作SHARED 对待。
ADD_LIBRARY(libname [SHARED|STATIC|MODULE] [EXCLUDE_FROM_ALL] source1 source2 ... sourceN)#设置输出目标的属性 SET_TARGET_PROPERTIES(target1 target2 ...PROPERTIES prop1 value1 prop2 value2 ...)例:设置目标库的名称:SET_TARGET_PROPERTIES(taget_name PROPERTIES OUTPUT_NAME "hello")#设置动态库...
CMake支持创建静态库和动态库。默认情况下,add_library()命令会创建一个静态库。如果你想要创建一个动态库,你需要在命令中添加SHARED参数,例如:add_library(MyLib SHARED main.cpp)。 如果你想要同时创建静态库和动态库,你可以将它们都列出来,例如:add_library(MyLibStatic STATIC main.cpp)和add_library(MyLibSh...
PS:前面使用set_target_properties重新定义了库的输出名称,如果不使用set_target_properties也可以,那么库的名称就是add_library里定义的名称,只是连续2次使用add_library指定库名称时(第一个参数),这个名称不能相同,而set_target_properties可以把名称设置为相同,只是最终生成的库文件后缀不同(一个是.so,一个是.a)...
cpp md5.cpp ) link_libraries(lib_demo) add_executable(demo main.cpp ) # link library in static mode target_link_libraries(demo libuuid.a) 另外,使用cmake生成makefile之后,make edit_cache可以编辑编译选项。 不熟悉的命令可以去查找文档,贴个目前最新的cmake3.19官方帮助文档地址 https://cmake.org/...