我有从XML文件蟒蛇发生器产生的一些文件CMake的下一个项目。 我不能指定由该发电机的CMakeLists.txt生成的所有文件,所以我使用的文件寻找这一点。
问题是,当我更新我的XML文件或生成源(这是在同一个版本库),我希望有我的编译系统重新配置,(通过化妆为例)重建代码时修改过的文件都考虑在内。
是否有可能使CMake的治疗某些文件更像它处理的CMakeLists.txt文件,并使其重新构建系统时,这些文件被改变?
我有从XML文件蟒蛇发生器产生的一些文件CMake的下一个项目。 我不能指定由该发电机的CMakeLists.txt生成的所有文件,所以我使用的文件寻找这一点。
问题是,当我更新我的XML文件或生成源(这是在同一个版本库),我希望有我的编译系统重新配置,(通过化妆为例)重建代码时修改过的文件都考虑在内。
是否有可能使CMake的治疗某些文件更像它处理的CMakeLists.txt文件,并使其重新构建系统时,这些文件被改变?
是的,你应该能够使用到做到这一点(AB) configure_file()
配置文件,使源的CMake运行的相关性,因此,在它的任何变化导致的重新配置。 只要是这样的:
configure_file(MyInputFile.xml DummyOutput.xml)
它不需要任何形式的变通办法。 标准的方法是使用CMAKE_CONFIGURE_DEPENDS属性:
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS <filename>)