我有一个 C++ 文件,用于__DATE__显示我的应用程序的构建日期。但如果这个文件没有被修改,它就不会被重建,日期也不会被更新。
CMake 总是可以重建该特定文件吗?
显然,使用 makefile 是可能的: How do you force a makefile to重建目标
编辑: CMake 的重复- 始终构建特定文件
您尝试应用的解决方案有点违反 CMake 原则,因为它可能会导致所有依赖目标的重建。
但是,您可以通过这样的方法来实现这一点
add_custom_command(TARGET ${PROJECT_NAME}
PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${CMAKE_CURRENT_SOURCE_DIR}/path/file.c)
Run Code Online (Sandbox Code Playgroud)
使用第二种方法更新:
add_custom_target(file_toucher
COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${CMAKE_CURRENT_SOURCE_DIR}/path/file.c)
add_dependencies(${PROJECT_NAME} file_toucher)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4221 次 |
| 最近记录: |