cmake--set_target_properties
作用
设置某个指定的目标(文件,)的某些属性;
可以设置的属性
设置版本属性
cmake_minimum_required(VERSION 3.10)project(test_set_target_properties)add_library(mylib SHARED src/test.cpp)
set_target_properties(mylib PROPERTIES VERSION 1.0.1)
库的属性:
IMPOERTED_LOCATION:指定库的加载路径;
INTERFACE_INCLUDE_DIRECTORIES:指定这个库所对应的头文件路径;
#定义一个未知类型的外部库,相当于外部某个库的一个提前定义的对象,后面会用于存放外部库的信息
add_library(camera_lib::calibration UNKNOWN IMPORTED)
#设置外部库的库的加载路径,和库对应的头文件的路径
set_target_properties(camera::calibrationPROPERTIES IMPORTED_LOCATION "${CAMERA_CALI_LIB}"INTERFACE_INCLUDE_DIRECTORIES "${CAMERA_INC_DIR}")
在外部find_package()之后,需要使用这个库的时候,只需要链接这个库即可:
target_link_libraries(exec PUBLIC camera_lib::calibration)
#这种方式就会头文件和库文件的加载路径就都会被找到了