我有一个 C++ 文件,使用__DATE__
显示我的应用程序的构建日期。但如果这个文件没有被修改,它就不会被重建,日期也不会被更新。
CMake 总是可以重建该特定文件吗?
显然可以使用 makefile :如何强制 makefile 重建目标 https://stackoverflow.com/questions/816370/how-do-you-force-a-makefile-to-rebuild-a-target
Edit:重复的CMake - 始终构建特定文件 https://stackoverflow.com/questions/53432251/cmake-always-build-specific-file
您尝试应用的解决方案有点违反 CMake 原则,因为它可能会导致所有依赖目标的重建。
但是,您可以通过这样的方法来实现这一点
add_custom_command(TARGET ${PROJECT_NAME}
PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${CMAKE_CURRENT_SOURCE_DIR}/path/file.c)
Update使用第二种方法:
add_custom_target(file_toucher
COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${CMAKE_CURRENT_SOURCE_DIR}/path/file.c)
add_dependencies(${PROJECT_NAME} file_toucher)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)