31 lines
1.1 KiB
CMake
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() |