summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2016-12-16 11:35:55 -0500
committerGravatar GitHub2016-12-16 11:35:55 -0500
commitd30d6f81aa2ef14a690d483c5b7e7487c71d1971 (patch)
tree4626053321537e40007b8bcd8170bd91caadb99b
parentMerge pull request #2337 from lioncash/gdb (diff)
parentModularized Qt and SDL file copying (diff)
downloadyuzu-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.txt1
-rw-r--r--CMakeModules/CopyCitraQt5Deps.cmake17
-rw-r--r--CMakeModules/CopyCitraSDLDeps.cmake5
-rw-r--r--src/citra/CMakeLists.txt11
-rw-r--r--src/citra_qt/CMakeLists.txt29
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
2cmake_minimum_required(VERSION 3.2) 2cmake_minimum_required(VERSION 3.2)
3set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
3 4
4function(download_bundled_external remote_path lib_name prefix_var) 5function(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 @@
1function(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>.*)
17endfunction(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 @@
1function(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)
5endfunction(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 @@
1set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
2
1set(SRCS 3set(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)
28endif() 30endif()
29 31
30if (MSVC) 32if (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)
38endif() 35endif()
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 @@
1set(CMAKE_AUTOMOC ON) 1set(CMAKE_AUTOMOC ON)
2set(CMAKE_INCLUDE_CURRENT_DIR ON) 2set(CMAKE_INCLUDE_CURRENT_DIR ON)
3set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
3 4
4set(SRCS 5set(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")
108endif() 109endif()
109 110
110if (Qt5_FOUND AND MSVC) 111if (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)
133endif() 116endif()