Make building with libslirp optional

This commit is contained in:
Nadia Holmquist Pedersen
2021-06-16 15:41:30 +02:00
parent 1cd477db71
commit d47ba88fd4
3 changed files with 57 additions and 5 deletions

View File

@ -12,7 +12,6 @@ SET(SOURCES_QT_SDL
InterfaceSettingsDialog.cpp
Input.cpp
LAN_PCap.cpp
LAN_Socket.cpp
OSD.cpp
OSD_shaders.h
font.h
@ -70,21 +69,41 @@ find_package(Threads REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(Iconv REQUIRED)
pkg_check_modules(SDL2 REQUIRED sdl2)
pkg_check_modules(SLIRP REQUIRED slirp)
pkg_check_modules(SLIRP slirp)
pkg_check_modules(LIBARCHIVE REQUIRED libarchive)
add_compile_definitions(ARCHIVE_SUPPORT_ENABLED)
if (SLIRP_FOUND)
option(ENABLE_LIBSLIRP "Enable use of libslirp for network sockets" ON)
else()
option(ENABLE_LIBSLIRP "Enable use of libslirp for network sockets" OFF)
endif()
if (WIN32 AND (CMAKE_BUILD_TYPE STREQUAL Release))
add_executable(melonDS WIN32 ${SOURCES_QT_SDL})
else()
add_executable(melonDS ${SOURCES_QT_SDL})
endif()
if (ENABLE_LIBSLIRP)
target_compile_definitions(melonDS PRIVATE -DHAVE_LIBSLIRP)
target_sources(melonDS PRIVATE LAN_Socket.cpp)
endif()
target_link_libraries(melonDS ${CMAKE_THREAD_LIBS_INIT})
target_include_directories(melonDS PRIVATE ${SDL2_INCLUDE_DIRS} ${SDL2_PREFIX}/include ${SLIRP_INCLUDE_DIRS} ${LIBARCHIVE_INCLUDE_DIRS})
target_link_directories(melonDS PRIVATE ${SDL2_LIBRARY_DIRS} ${SLIRP_LIBRARY_DIRS})
target_link_directories(melonDS PRIVATE ${LIBARCHIVE_LIBRARY_DIRS})
target_include_directories(
melonDS PRIVATE
${SDL2_INCLUDE_DIRS} ${SDL2_PREFIX}/include
${SLIRP_INCLUDE_DIRS}
${LIBARCHIVE_INCLUDE_DIRS}
)
target_link_directories(
melonDS PRIVATE
${SDL2_LIBRARY_DIRS}
${SLIRP_LIBRARY_DIRS}
${LIBARCHIVE_LIBRARY_DIRS}
)
target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..")