diff options
| -rw-r--r-- | CMakeLists.txt | 1 | ||||
| -rw-r--r-- | CMakeModules/CopyCitraQt5Deps.cmake | 17 | ||||
| -rw-r--r-- | CMakeModules/CopyCitraSDLDeps.cmake | 5 | ||||
| -rw-r--r-- | src/citra/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | src/citra_qt/CMakeLists.txt | 29 | 
5 files changed, 33 insertions, 30 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index bcee98a5f..52a1fd492 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@  # CMake 3.2 required for cmake to know the right flags for CXX standard on OSX  cmake_minimum_required(VERSION 3.2) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)  function(download_bundled_external remote_path lib_name prefix_var)      set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}") diff --git a/CMakeModules/CopyCitraQt5Deps.cmake b/CMakeModules/CopyCitraQt5Deps.cmake new file mode 100644 index 000000000..05f58cf9a --- /dev/null +++ b/CMakeModules/CopyCitraQt5Deps.cmake @@ -0,0 +1,17 @@ +function(copy_citra_Qt5_deps target_dir) +    include(WindowsCopyFiles) +    set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") +    set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") +    set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") +    set(PLATFORMS ${DLL_DEST}platforms/) +    windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} +        icudt*.dll +        icuin*.dll +        icuuc*.dll +        Qt5Core$<$<CONFIG:Debug>:d>.* +        Qt5Gui$<$<CONFIG:Debug>:d>.* +        Qt5OpenGL$<$<CONFIG:Debug>:d>.* +        Qt5Widgets$<$<CONFIG:Debug>:d>.* +    ) +    windows_copy_files(citra-qt ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) +endfunction(copy_citra_Qt5_deps) diff --git a/CMakeModules/CopyCitraSDLDeps.cmake b/CMakeModules/CopyCitraSDLDeps.cmake new file mode 100644 index 000000000..4f9e4aeb9 --- /dev/null +++ b/CMakeModules/CopyCitraSDLDeps.cmake @@ -0,0 +1,5 @@ +function(copy_citra_SDL_deps target_dir) +    include(WindowsCopyFiles) +    set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") +    windows_copy_files(${target_dir} ${SDL2_DLL_DIR} ${DLL_DEST} SDL2.dll) +endfunction(copy_citra_SDL_deps) diff --git a/src/citra/CMakeLists.txt b/src/citra/CMakeLists.txt index f9c488a1a..ecb5d2dfe 100644 --- a/src/citra/CMakeLists.txt +++ b/src/citra/CMakeLists.txt @@ -1,3 +1,5 @@ +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) +  set(SRCS              emu_window/emu_window_sdl2.cpp              citra.cpp @@ -28,11 +30,6 @@ if(UNIX AND NOT APPLE)  endif()  if (MSVC) -    include(WindowsCopyFiles) - -    set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") - -    windows_copy_files(citra ${SDL2_DLL_DIR} ${DLL_DEST} SDL2.dll) - -    unset(DLL_DEST) +    include(CopyCitraSDLDeps) +    copy_citra_SDL_deps(citra)  endif() diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt index a9dacd5f1..e1b3566bf 100644 --- a/src/citra_qt/CMakeLists.txt +++ b/src/citra_qt/CMakeLists.txt @@ -1,5 +1,6 @@  set(CMAKE_AUTOMOC ON)  set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)  set(SRCS              config.cpp @@ -107,27 +108,9 @@ if(UNIX AND NOT APPLE)      install(TARGETS citra-qt RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")  endif() -if (Qt5_FOUND AND MSVC) -    include(WindowsCopyFiles) - -    set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") -    set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") -    set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") -    set(PLATFORMS ${DLL_DEST}platforms/) - -    windows_copy_files(citra-qt ${Qt5_DLL_DIR} ${DLL_DEST} -        icudt*.dll -        icuin*.dll -        icuuc*.dll -        Qt5Core$<$<CONFIG:Debug>:d>.* -        Qt5Gui$<$<CONFIG:Debug>:d>.* -        Qt5OpenGL$<$<CONFIG:Debug>:d>.* -        Qt5Widgets$<$<CONFIG:Debug>:d>.* -    ) -    windows_copy_files(citra-qt ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) - -    unset(Qt5_DLL_DIR) -    unset(Qt5_PLATFORMS_DIR) -    unset(DLL_DEST) -    unset(PLATFORMS) +if (MSVC) +    include(CopyCitraQt5Deps) +    include(CopyCitraSDLDeps) +    copy_citra_Qt5_deps(citra-qt) +    copy_citra_SDL_deps(citra-qt)  endif()  | 
