<target>:要获取属性的目标(例如可执行文件或库)。 <property>:要获取的目标属性名称。 2. 如何使用 get_target_property 来获取第三方开源库的属性 当使用 find_package 或其他方法找到第三方开源库并链接到项目中后,可以通过 get_target_property 命令来获取该库的某些属性。这些属性可能包括库的...
get_target_property(target_name hello NAME) message("# Get target property NAME: ${target_name}") 运行cmake .输出如下: # Get target property NAME: hello
-- Build files have been written to: D:/work/cmake_test/get_target_property_test/build 这时可以看到输出符合预期: VAR1 = 123 VAR2 = 456 这样目的就达到了。 需要说明的有两点: 1、target必须存在,否则分分钟死给你看。经测试大概是需要至少是执行文件这种,或者库,不能是虚构的变量。 2、set_targe...
获取指定构建目标的属性,等同于命令get_target_property()。 获取NAME属性 cmake_minimum_required(VERSION 3.22.1) project(get_property_test) add_executable(hello .) get_property(target_name TARGET hello PROPERTY NAME) message("# Get target property NAME: ${target_name}") 输出结果 # Get GLOBAL pr...
get_target_property(windeployqt Qt5::qmake IMPORTED_LOCATION) 复制代码 target的名字就是Qt5::qmake,不要被::迷惑,变量名字允许使用:: 定义Qt5::qmake的地方 Qt\5.15.2\msvc2019\lib\cmake\Qt5Core\Qt5CoreConfigExtras.cmake if(NOT DEFINED QT_DEFAULT_MAJOR_VERSION) set(QT_DEFAULT_MAJOR_VERSION...
get_target_property(VAR target property) 从一个目标中获取属性值。属性的值会被存储在变量VAR中。如果该属性没有被发现,VAR会被设置为NOTFOUND。使用set_target_properties命令来设置属性值。属性值一般用于控制如何去构建一个目标,但是有些属性用来查询目标的信息。该命令可以获取当前已经被构建好的任意目标的属性。
1 设置目标的属性 set_target_properties(target1target2...PROPERTIESprop1value1prop2value2...) target1target2:指定要设置属性的目标 prop1 value1:指定要设置的属性名和值 2 获取目标属性 get_target_property(<VAR>targetproperty) 从target中获取属性名为property的值存放到变量VAR中...
获取目标属性的方法通常是使用get_target_property函数。例如: 1 get_target_property(result_var target_name PROPERTY_NAME) 其中,result_var是存储获取到的属性值的变量,target_name是目标的名称,而PROPERTY_NAME则是要获取的属性的名称。 野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892...
SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello") 这样,我们就可以同时得到libhello.so/libhello.a两个库了。与他对应的指令是: GET_TARGET_PROPERTY(VAR target property) 具体用法如下例,我们向lib/CMakeListst.txt中添加: GET_TARGET_PROPERTY(OUTPUT_VALUE hello_static OUTPUT_NAME) ...
GET_TARGET_PROPERTY 指令用于检查指定目标的属性 —— 当没有这个属性时将返回 NOTFOUND;而此时将通过 其下的 MESSAGE 指令输出相关信息以告知用户。 检查一下最终的构建结果:libhello.a 已经构建完成,位于 build/lib 目录中,但是 libhello.so 却消失 了。原因是 cmake 在构建一个新的 target 时,会尝试清理掉...