我正在使用 CMake 从存在于指定位置的文件动态自定义创建文件。这是我的代码:
file(GLOB files "${path}/*.data")
file(GLOB sidedata "${path}/*.sidedata")
foreach(file ${files})
get_filename_component(name ${file} NAME_WE)
add_custom_command(
OUTPUT "${name}.library"
DEPENDS ${path} ${file} ${sidedata} ${CMAKE_CURRENT_SOURCE_DIR}/makelibrary.pl
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/makelibrary.pl ARGS ${sidedata} ${file}
COMMENT "Generating ${name}.library"
)
add_custom_target(${name}.target ALL DEPENDS ${name}.library)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.library DESTINATION ${somewhere})
endforeach()
Run Code Online (Sandbox Code Playgroud)
我看到files和sidedata被缓存的问题 - 如果将新文件添加到path位置,则不会被检测到;如果文件被删除,依赖性检查将失败。
我该如何解决这个问题?
| 归档时间: |
|
| 查看次数: |
1925 次 |
| 最近记录: |