SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello") 这样,我们就可以同时得到libhello.so和libhello.a 两个库了。 lib/CMakeLists.txt最终的的内容: SET(LIBHELLO_SRC hello.c) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC}) SET_TARGET...
用法:set_target_properties(target_name PROPERTIES COMPILE_DEFINITIONS MY_DEFINITION) 描述:为目标设置编译时宏定义。 获取目标属性的方法通常是使用get_target_property函数。例如: 1 get_target_property(result_var target_name PROPERTY_NAME) 其中,result_var是存储获取到的属性值的变量,target_name是目标的名称,...
第一篇文章,记一个困扰了我很长时间的一个cmake的问题吧。 大家在用cmake时,应该经常会用到第三方so库,导入第三方so库中需要使用到set_target_properties,例如这样写: set_target_properties( Thirdlib PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/jniLibs/libThirdlib.so ) CMAKE_CURRENT_SOURCE...
PS:前面使用set_target_properties重新定义了库的输出名称,如果不使用set_target_properties也可以,那么库的名称就是add_library里定义的名称,只是连续2次使用add_library指定库名称时(第一个参数),这个名称不能相同,而set_target_properties可以把名称设置为相同,只是最终生成的库文件后缀不同(一个是.so,一个是.a)...
简介: 问题集锦:使用CMake部署Qt应用程序:set_target_properties、get_target_property 组合使用的例子 #给myTarget增加prop1属性,值为p1 set_target_properties(myTarget PROPERTIES prop1 p1 prop2 p2) # 获取myTaraget的prop1属性,并赋值给ret get_target_property(ret myTarget prop1) message(${ret}) # ...
set_target_properties(static-lib PROPERTIES OUTPUT_NAME "static_lib") #PROJECT_SOURCE_DIR:工程的根目录 #LIBRARY_OUTPUT_PATH :lib库文件的存放位置 set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build/lib) 1. 2. 3. 4. 5. 6. 7.
在编译工程时,常常有许多宏需要添加到VS中,如果采用adddefinitions的方式进行添加,会使得不同项目的宏混淆,因此,可以采用settarget_properties的方式,根据项目制定对应的宏 set(BUILD_FLAGS "-DHZ_PLATFORM_WINDOWS -DWINDOWS -DHZ_BUILD_DLL" ) set_target_properties(Hazel PROPERTIES COMPILE_FLAGS ${BUILD_FLAGS}...
set_target_properties(mylibrary PROPERTIES PUBLIC_HEADER include/mylibrary.h):设置动态库的属性,将include/mylibrary.h指定为动态库的头文件。 总结 通过以上的步骤,你可以解决Android CMakeLists中设置动态库找不到头文件的问题。首先,你需要创建一个CMakeLists.txt文件,并添加动态库。然后,你需要设置源文件和头...
## https://stackoverflow.com/questions/32183975/how-to-print-all-the-properties-of-a-target-in-cmake/56738858#56738858 ## https://stackoverflow.com/a/56738858/3743145 ## Get all properties that cmake supports execute_process(COMMAND cmake --help-property-list OUTPUT_VARIABLE CMAKE_PROPERTY_...
SET_TARGET_PROPERTIES(taos PROPERTIES VERSION 1.6.0.0 SOVERSION 1) 此时会生成如下文件: libtaos.so -> libtaos.so.1* libtaos.so.1 -> libtaos.so.1.6.0.0* libtaos.so.1.6.0.0 Copy Qt DLL COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:Qt5::Core> $<TARGET_FILE:Qt5::...