0
다른 대상과 링크 될 라이브러리를 정의하기 위해 대상 실행에서 생성 된 파일의 내용을 사용하려고합니다.cmake 다른 대상을 실행 한 결과를 기반으로 한 대상의 링크 라이브러리
등이 될 것이다 뭔가 :
add_executable(generator zoot.cpp)
get_property(GEN_LOCATION TARGET generator PROPERTY LOCATION)
add_custom_command(OUTPUT libInfo.txt
COMMAND ${GEN_LOCATION}
DEPENDS someOtherFile.txt)
add_custom_target(lib_info_generator ALL
DEPENDS libInfo.txt someOtherFile.txt)
add_dependencies(lib_info_generator generator)
add_executable(final_target hi.cpp)
file(STRINGS "libInfo.txt" MY_LIB)
if(MY_LIB STREQUAL "lib1")
target_link_libraries(final_target lib1)
else()
target_link_libraries(final_target lib2)
endif()
대상 lib_info_generator이 수행 될 때까지 libInfo.txt이 존재하지 않기 때문이 작동하지 않습니다.
CMake에서 이것을 구현하는 방법이 있습니까?
libInfo.txt 파일에 대해 GENERATED 속성을 설정하려고 할 수도 있지만, 이것이 도움이되지 않는다고 생각합니다. – Alexey