diff options
| author | 2016-12-16 11:35:55 -0500 | |
|---|---|---|
| committer | 2016-12-16 11:35:55 -0500 | |
| commit | d30d6f81aa2ef14a690d483c5b7e7487c71d1971 (patch) | |
| tree | 4626053321537e40007b8bcd8170bd91caadb99b | |
| parent | Merge pull request #2337 from lioncash/gdb (diff) | |
| parent | Modularized Qt and SDL file copying (diff) | |
| download | yuzu-d30d6f81aa2ef14a690d483c5b7e7487c71d1971.tar.gz yuzu-d30d6f81aa2ef14a690d483c5b7e7487c71d1971.tar.xz yuzu-d30d6f81aa2ef14a690d483c5b7e7487c71d1971.zip | |
Merge pull request #2303 from freiro/citra-qt_missing_sdl2_dll
Copy SDL2.dll when compiling citra-qt with msvc
| -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 @@ | |||
| 1 | # CMake 3.2 required for cmake to know the right flags for CXX standard on OSX | 1 | # CMake 3.2 required for cmake to know the right flags for CXX standard on OSX |
| 2 | cmake_minimum_required(VERSION 3.2) | 2 | cmake_minimum_required(VERSION 3.2) |
| 3 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) | ||
| 3 | 4 | ||
| 4 | function(download_bundled_external remote_path lib_name prefix_var) | 5 | function(download_bundled_external remote_path lib_name prefix_var) |
| 5 | set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}") | 6 | 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 @@ | |||
| 1 | function(copy_citra_Qt5_deps target_dir) | ||
| 2 | include(WindowsCopyFiles) | ||
| 3 | set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") | ||
| 4 | set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") | ||
| 5 | set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") | ||
| 6 | set(PLATFORMS ${DLL_DEST}platforms/) | ||
| 7 | windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} | ||
| 8 | icudt*.dll | ||
| 9 | icuin*.dll | ||
| 10 | icuuc*.dll | ||
| 11 | Qt5Core$<$<CONFIG:Debug>:d>.* | ||
| 12 | Qt5Gui$<$<CONFIG:Debug>:d>.* | ||
| 13 | Qt5OpenGL$<$<CONFIG:Debug>:d>.* | ||
| 14 | Qt5Widgets$<$<CONFIG:Debug>:d>.* | ||
| 15 | ) | ||
| 16 | windows_copy_files(citra-qt ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) | ||
| 17 | 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 @@ | |||
| 1 | function(copy_citra_SDL_deps target_dir) | ||
| 2 | include(WindowsCopyFiles) | ||
| 3 | set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") | ||
| 4 | windows_copy_files(${target_dir} ${SDL2_DLL_DIR} ${DLL_DEST} SDL2.dll) | ||
| 5 | 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 @@ | |||
| 1 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) | ||
| 2 | |||
| 1 | set(SRCS | 3 | set(SRCS |
| 2 | emu_window/emu_window_sdl2.cpp | 4 | emu_window/emu_window_sdl2.cpp |
| 3 | citra.cpp | 5 | citra.cpp |
| @@ -28,11 +30,6 @@ if(UNIX AND NOT APPLE) | |||
| 28 | endif() | 30 | endif() |
| 29 | 31 | ||
| 30 | if (MSVC) | 32 | if (MSVC) |
| 31 | include(WindowsCopyFiles) | 33 | include(CopyCitraSDLDeps) |
| 32 | 34 | copy_citra_SDL_deps(citra) | |
| 33 | set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") | ||
| 34 | |||
| 35 | windows_copy_files(citra ${SDL2_DLL_DIR} ${DLL_DEST} SDL2.dll) | ||
| 36 | |||
| 37 | unset(DLL_DEST) | ||
| 38 | endif() | 35 | 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 @@ | |||
| 1 | set(CMAKE_AUTOMOC ON) | 1 | set(CMAKE_AUTOMOC ON) |
| 2 | set(CMAKE_INCLUDE_CURRENT_DIR ON) | 2 | set(CMAKE_INCLUDE_CURRENT_DIR ON) |
| 3 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) | ||
| 3 | 4 | ||
| 4 | set(SRCS | 5 | set(SRCS |
| 5 | config.cpp | 6 | config.cpp |
| @@ -107,27 +108,9 @@ if(UNIX AND NOT APPLE) | |||
| 107 | install(TARGETS citra-qt RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") | 108 | install(TARGETS citra-qt RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") |
| 108 | endif() | 109 | endif() |
| 109 | 110 | ||
| 110 | if (Qt5_FOUND AND MSVC) | 111 | if (MSVC) |
| 111 | include(WindowsCopyFiles) | 112 | include(CopyCitraQt5Deps) |
| 112 | 113 | include(CopyCitraSDLDeps) | |
| 113 | set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") | 114 | copy_citra_Qt5_deps(citra-qt) |
| 114 | set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") | 115 | copy_citra_SDL_deps(citra-qt) |
| 115 | set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") | ||
| 116 | set(PLATFORMS ${DLL_DEST}platforms/) | ||
| 117 | |||
| 118 | windows_copy_files(citra-qt ${Qt5_DLL_DIR} ${DLL_DEST} | ||
| 119 | icudt*.dll | ||
| 120 | icuin*.dll | ||
| 121 | icuuc*.dll | ||
| 122 | Qt5Core$<$<CONFIG:Debug>:d>.* | ||
| 123 | Qt5Gui$<$<CONFIG:Debug>:d>.* | ||
| 124 | Qt5OpenGL$<$<CONFIG:Debug>:d>.* | ||
| 125 | Qt5Widgets$<$<CONFIG:Debug>:d>.* | ||
| 126 | ) | ||
| 127 | windows_copy_files(citra-qt ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) | ||
| 128 | |||
| 129 | unset(Qt5_DLL_DIR) | ||
| 130 | unset(Qt5_PLATFORMS_DIR) | ||
| 131 | unset(DLL_DEST) | ||
| 132 | unset(PLATFORMS) | ||
| 133 | endif() | 116 | endif() |