From 2c8ccc5a0b551c8cd4afd38d51469573702a4ef0 Mon Sep 17 00:00:00 2001 From: Clownacy Date: Sun, 14 Apr 2019 04:14:45 +0100 Subject: [PATCH] Actually, only generate the output folder during cmake's config stage --- CMakeLists.txt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8682c3b4..9c416c53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -339,10 +339,18 @@ target_compile_options(CSE2 PRIVATE ${SDL2_CFLAGS_OTHER} ${FREETYPE_CFLAGS_OTHER target_link_libraries(CSE2 ${SDL2_LIBRARIES} ${FREETYPE_LIBRARIES}) # Set up the output directory -add_custom_command(TARGET CSE2 PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/cavestory") +# Copy the files to the output directory +file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/${FILES_DIR}/" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/cavestory") + +# Send the Release executable to the directory set_target_properties(CSE2 PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/cavestory") -add_custom_command(TARGET CSE2 POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/${FILES_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/cavestory") +# On MSVC, copy across SDL2.dll as well +if (MSVC) + if (CMAKE_CL_64) + file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/msvc/SDL2/lib/x64/SDL2.dll" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/cavestory") + else() + file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/msvc/SDL2/lib/x86/SDL2.dll" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/cavestory") + endif() +endif()