我有一个由配置的项目 CMake .它有一个程序和一些共享库。
CMake
target_link_libraries
LoadLibrary
我们使用Visual Studio 2015作为 CMake 目标编译器。但在这个IDE中,当我修改一些代码后启动程序(按F5)时,只编译程序和链接的共享库。运行时要加载的“插件”没有编译,因此代码与二进制文件不匹配。
有没有办法添加一个“构建依赖项”,即在程序执行之前,如果某些库已经过时,即使最后一个库没有链接它们,也应该编译它们?
有一个CMake命令正好用于此目的: add_dependencies .它应该满足你的需求。例子:
add_executable(mainTarget SomeSource.cpp) add_library(linkedLib SomeOtherSource.cpp) add_library(libToBeLoaded MODULE MoreSource.cpp) target_link_libraries(mainTarget PRIVATE linkedLib) # This is it: add_dependencies(mainTarget libToBeLoaded)