我需要在makefile中的任何目标执行之前创建以下始终过时的文件: ${CMAKE_BINARY_DIR}/version.hpp.in。文件内容如下:
我在我的CMake文件中有以下代码片段,但只有在运行#define RELEASE_VERSION "${RELEASE}"
#define MAJOR_VERSION "${MAJOR}"
#define MINOR_VERSION "${MINOR}"
#define PATCH_VERSION "${PATCH}"
#define REVISION "${REVISION}"
#define SVNPATH "${SVNPATH}"
cmake
命令后才会执行:FILE(WRITE ${CMAKE_BINARY_DIR}/version.hpp.in
"#define RELEASE_VERSION \"${RELEASE}\"\n"
"#define MAJOR_VERSION \"${MAJOR}\"\n"
"#define MINOR_VERSION \"${MINOR}\"\n"
"#define PATCH_VERSION \"${PATCH}\"\n"
"#define REVISION \"${REVISION}\"\n"
"#define SVNPATH \"${SVNPATH}\"\n"
)
我希望每次运行make
命令时都能生成version.hpp.in
文件。我该怎么做?
add_custom_command()
,例如在这里所述(http://cmake.3232098.n2.nabble.com/configure-file-as-a-build-step-td7518670.html)。希望这能更有帮助。 - olloconfigure_file
命令不会被执行,因为它的输入没有改变。 - B Faley