CMake。无法获取目标输出文件名

时间:2019-03-10 17:16:59

标签: cmake

我使用CMake 3.10。以前我用过3.5。 根据手册,我可以使用$获得一些输出文件的路径。实际上什么都没有打印。

状态为“-lib_location == $”我查看了

的示例

但是如果我使用下一种构造,它会很好用。

add_custom_target(
  testTartgetFile ALL
  COMMAND ${CMAKE_COMMAND} -E echo "$<TARGET_FILE:tgt1>"
  VERBATIM
)

问题是如何获取目标对象?我需要它进行进一步处理,而不是打印出来。

我的代码:

cmake_minimum_required(VERSION 3.0)

project(libtest_project)

function(add_txbundle)
    set(options NONE)
    set(oneValueArgs TARGET)
    set(multiValueArgs EXTRA_MAPPINGS  DEPENDENCIES)
    set(txPrefix "TxBundle")
    cmake_parse_arguments(${txPrefix} "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

    message(status " TARGET ${${txPrefix}_TARGET}")
    message(status " EXTRA_MAPPINS ${TxBundle_EXTRA_MAPPINGS}")

    set(TxBundleTarget "${${txPrefix}_TARGET}.txbundle")
    set(TxParentTarget "${${txPrefix}_TARGET}")

    message(status " TX TARGET ${TxBundleTarget}")
    #..... some actions ...

endfunction(add_txbundle)

add_library(testlb SHARED testlib.cpp)
message (STATUS "lib_location == $<TARGET_FILE:testlb>")    
add_txbundle(TARGET testlb EXTRA_MAPPINGS "1:1")

0 个答案:

没有答案