Files
OpenVulkano/cmake/functions/CopyResourcesToExe.cmake
2024-10-02 12:23:51 +03:00

31 lines
1.1 KiB
CMake

function(CopyResourcesToExe TARGET FROM EXTENSIONS)
file(GLOB RESOURCES "${FROM}/*")
set(RESOURCES_TO_COPY "")
if (${EXTENSIONS} STREQUAL "*")
set(RESOURCES_TO_COPY ${RESOURCES})
else()
foreach(RESOURCE ${RESOURCES})
get_filename_component(EXT "${RESOURCE}" EXT)
list(FIND EXTENSIONS ${EXT} EXT_FOUND)
if(NOT EXT_FOUND EQUAL -1)
list(APPEND RESOURCES_TO_COPY "${RESOURCE}")
endif()
endforeach()
endif()
foreach(RESOURCE ${RESOURCES_TO_COPY})
if (NOT IS_DIRECTORY ${RESOURCE})
add_custom_command(TARGET ${TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${RESOURCE} $<TARGET_FILE_DIR:${TARGET}>
)
else()
get_filename_component(FNAME ${RESOURCE} NAME)
add_custom_command(TARGET ${TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different
${RESOURCE} $<TARGET_FILE_DIR:${TARGET}>/${FNAME}
)
endif()
endforeach()
endfunction()