gpt4 book ai didi

c++ - 为什么 CMAKE 在被询问时并不总是复制资源?

转载 作者:行者123 更新时间:2023-11-28 04:27:57 25 4
gpt4 key购买 nike

我有一个包含一些 Assets (着色器)文件的项目,这些文件也经常更新,并且需要在每次构建我的项目时复制到构建目标文件夹。

现在,文件是第一次复制,但随后,当项目重建时(从 Clion 内部),文件不会持续复制。例如,如果我将它们从它们复制到的目录中删除,它们就不会再次出现。

这是我的 Cmake 文件:

# Name for this project
set(PROJECT_NAME "3d_model")

# Choose the library for the final build
set(PROJECT_BUILD_DIR ${CMAKE_SOURCE_DIR}/bin/${PROJECT_NAME})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BUILD_DIR}/$<CONFIG>)

# Set sources
set(PROJECTS_SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/projects)
set(SOURCES
src/main.cpp
${INCLUDE_DIR}/glad/src/glad.c)

add_executable(${PROJECT_NAME} ${SOURCES})
target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS} glfw ${GLFW_LIBRARIES})

# Copy resources
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/assets DESTINATION ${PROJECT_BUILD_DIR}/)

您可以在最后一行中看到我尝试在每次构建项目时复制项目 Assets 。

有没有办法确保这种情况发生?

最佳答案

add_custom_command 可能是你想要的

add_custom_command(TARGET ${ProjectName} PRE_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/assets ${PROJECT_BUILD_DIR}/
 )

关于c++ - 为什么 CMAKE 在被询问时并不总是复制资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53807752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com