我有一个CMake项目,它可以将多个Visual Studio项目生成一个解决方案。如果我对仅影响单个项目(例如,add_target_definitions
)的CMake脚本进行更改并调用CMake重新生成项目,则所有项目文件(* .vcxproj)都会重写到磁盘。这会触发所有目标的重建,即使可能只有一个项目文件实际上与之不同。这大大增加了我拥有的不同配置的构建时间。CMake:只有修改才重写项目?
我想用这些不同的目标定义(例如在命令行提供的)重建只有少数项目,而不是重新编译未受影响的库。我还需要一个在编译ALL_BUILD
目标时工作的解决方案,并且不会将项目拆分为多个项目(解决方案)。
是否有一个CMake选项或其他一些技巧来避免这种行为?