aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/qt_sdl/CMakeLists.txt
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2021-01-07 18:30:12 +0100
committerGitHub <noreply@github.com>2021-01-07 18:30:12 +0100
commit641ddf8137956b39d2b1bd007ab6e5de7106bf1f (patch)
tree07c10a2ca6130daa9e7f132b4cd2d97fff92a065 /src/frontend/qt_sdl/CMakeLists.txt
parent5865b4438eb99849ce2890e465db4e69fe281820 (diff)
parente485ce3e1323205925ce6a5d15c077d29a012302 (diff)
Merge pull request #678 from WaluigiWare64/feature/zip-support
Add support for loading ROMs from a variety of compressed files
Diffstat (limited to 'src/frontend/qt_sdl/CMakeLists.txt')
-rw-r--r--src/frontend/qt_sdl/CMakeLists.txt19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/frontend/qt_sdl/CMakeLists.txt b/src/frontend/qt_sdl/CMakeLists.txt
index 0d695d6..f0362e5 100644
--- a/src/frontend/qt_sdl/CMakeLists.txt
+++ b/src/frontend/qt_sdl/CMakeLists.txt
@@ -17,6 +17,9 @@ SET(SOURCES_QT_SDL
font.h
Platform.cpp
PlatformConfig.cpp
+
+ ArchiveUtil.h
+ ArchiveUtil.cpp
../Util_ROM.cpp
../Util_Video.cpp
@@ -51,6 +54,15 @@ find_package(Iconv REQUIRED)
pkg_check_modules(SDL2 REQUIRED sdl2)
pkg_check_modules(SLIRP REQUIRED slirp)
+if (APPLE)
+ # Find libarchive on macOS, because macOS only provides the library, not the headers
+ execute_process(COMMAND brew --prefix libarchive
+ OUTPUT_VARIABLE LIBARCHIVE_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ list(APPEND CMAKE_PREFIX_PATH "${LIBARCHIVE_DIR}")
+endif()
+pkg_check_modules(LIBARCHIVE REQUIRED libarchive)
+
if (WIN32 AND (CMAKE_BUILD_TYPE STREQUAL Release))
add_executable(melonDS WIN32 ${SOURCES_QT_SDL})
else()
@@ -61,15 +73,16 @@ target_link_libraries(melonDS ${CMAKE_THREAD_LIBS_INIT})
target_include_directories(melonDS PRIVATE ${SDL2_INCLUDE_DIRS})
target_include_directories(melonDS PRIVATE ${SLIRP_INCLUDE_DIRS})
+target_include_directories(melonDS PRIVATE ${LIBARCHIVE_INCLUDE_DIRS})
target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../..")
target_link_libraries(melonDS core)
if (BUILD_STATIC)
- target_link_libraries(melonDS -static ${SDL2_STATIC_LIBRARIES} ${SLIRP_STATIC_LIBRARIES})
+ target_link_libraries(melonDS -static ${SDL2_STATIC_LIBRARIES} ${SLIRP_STATIC_LIBRARIES} ${LIBARCHIVE_STATIC_LIBRARIES})
else()
- target_link_libraries(melonDS ${SDL2_LIBRARIES} ${SLIRP_LIBRARIES})
+ target_link_libraries(melonDS ${SDL2_LIBRARIES} ${SLIRP_LIBRARIES} ${LIBARCHIVE_LIBRARIES})
endif()
if (NOT Iconv_IS_BUILT_IN)
@@ -85,7 +98,7 @@ elseif (WIN32)
target_link_libraries(melonDS comctl32 d2d1 dwrite uxtheme ws2_32 iphlpapi gdi32)
if (BUILD_STATIC)
- target_link_libraries(melonDS imm32 winmm version setupapi -static Qt5::Core Qt5::Gui Qt5::Widgets z zstd)
+ target_link_libraries(melonDS imm32 winmm version setupapi -static Qt5::Core Qt5::Gui Qt5::Widgets zstd)
else()
target_link_libraries(melonDS Qt5::Core Qt5::Gui Qt5::Widgets)
endif()