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