由于多种原因,我必须通过自定义命令手动生成静态库。
但是,似乎只有在目标明确请求其输出文件时才执行自定义命令。
如果我尝试将生成的静态库与 链接target_link_libraries
,CMake 会抱怨它找不到生成它的规则。
# Building library on the fly
add_custom_command(OUTPUT mylib.a
COMMAND ...
)
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib.a) # Fails miserably
add_custom_command
我想我必须以某种方式在调用和调用之间插入一个目标或依赖项target_link_libraries
,但我不明白如何正确地这样做。