CMake.Не удается получить имя выходного файла цели - PullRequest
0 голосов
/ 10 марта 2019

Я использую 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...