From b7b2627b3746e28fe64c9af74583c8b24edee909 Mon Sep 17 00:00:00 2001 From: freiro Date: Tue, 13 Dec 2016 00:01:48 +0100 Subject: Modularized Qt and SDL file copying Now cmake relies on two submodules to copy the libraries in the proper folders --- CMakeModules/CopyCitraQt5Deps.cmake | 17 +++++++++++++++++ CMakeModules/CopyCitraSDLDeps.cmake | 5 +++++ CMakeModules/CopyMSVCLibsQt.cmake | 19 ------------------- src/citra/CMakeLists.txt | 11 ++++------- src/citra_qt/CMakeLists.txt | 6 ++++-- 5 files changed, 30 insertions(+), 28 deletions(-) create mode 100644 CMakeModules/CopyCitraQt5Deps.cmake create mode 100644 CMakeModules/CopyCitraSDLDeps.cmake delete mode 100644 CMakeModules/CopyMSVCLibsQt.cmake 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/$/") + 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$<$:d>.* + Qt5Gui$<$:d>.* + Qt5OpenGL$<$:d>.* + Qt5Widgets$<$:d>.* + ) + windows_copy_files(citra-qt ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$: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/$/") + windows_copy_files(${target_dir} ${SDL2_DLL_DIR} ${DLL_DEST} SDL2.dll) +endfunction(copy_citra_SDL_deps) diff --git a/CMakeModules/CopyMSVCLibsQt.cmake b/CMakeModules/CopyMSVCLibsQt.cmake deleted file mode 100644 index 64b27a807..000000000 --- a/CMakeModules/CopyMSVCLibsQt.cmake +++ /dev/null @@ -1,19 +0,0 @@ -function(copy_msvc_libraries) - include(WindowsCopyFiles) - set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$/") - windows_copy_files(citra-qt ${SDL2_DLL_DIR} ${DLL_DEST} SDL2.dll) - - set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") - set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") - set(PLATFORMS ${DLL_DEST}platforms/) - windows_copy_files(citra-qt ${Qt5_DLL_DIR} ${DLL_DEST} - icudt*.dll - icuin*.dll - icuuc*.dll - Qt5Core$<$:d>.* - Qt5Gui$<$:d>.* - Qt5OpenGL$<$:d>.* - Qt5Widgets$<$:d>.* - ) - windows_copy_files(citra-qt ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$:d>.*) -endfunction(copy_msvc_libraries) \ No newline at end of file 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/$/") - - 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 64c4330c1..e1b3566bf 100644 --- a/src/citra_qt/CMakeLists.txt +++ b/src/citra_qt/CMakeLists.txt @@ -108,7 +108,9 @@ if(UNIX AND NOT APPLE) install(TARGETS citra-qt RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") endif() -include(CopyMSVCLibsQt) if (MSVC) - copy_msvc_libraries() + include(CopyCitraQt5Deps) + include(CopyCitraSDLDeps) + copy_citra_Qt5_deps(citra-qt) + copy_citra_SDL_deps(citra-qt) endif() -- cgit v1.2.3