diff --git a/CMakeLists.txt b/CMakeLists.txt index bbf086054..2663b662d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -830,10 +830,6 @@ endif() if(BUILD_SDL) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/platform/sdl ${CMAKE_CURRENT_BINARY_DIR}/sdl) - # The SDL platform CMakeLists could decide to disable SDL, so check again before adding the define. - if(BUILD_SDL) - add_definitions(-DBUILD_SDL) - endif() endif() if(BUILD_QT) @@ -887,7 +883,7 @@ if(BUILD_EXAMPLE) target_link_libraries(${BINARY_NAME}-example-server ${BINARY_NAME}) set_target_properties(${BINARY_NAME}-example-server PROPERTIES COMPILE_DEFINITIONS "${OS_DEFINES};${FEATURE_DEFINES};${FUNCTION_DEFINES}") - if(BUILD_SDL) + if(FOUND_SDL) add_executable(${BINARY_NAME}-example-client ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/example/client-server/client.c) target_link_libraries(${BINARY_NAME}-example-client ${BINARY_NAME} ${SDL_LIBRARY} ${SDLMAIN_LIBRARY} ${OPENGL_LIBRARY} ${OPENGLES2_LIBRARY}) set_target_properties(${BINARY_NAME}-example-client PROPERTIES @@ -991,7 +987,7 @@ if(BUILD_QT) cpack_add_component(${BINARY_NAME}-qt GROUP qt DEPENDS base) endif() -if(BUILD_SDL) +if(FOUND_SDL) cpack_add_component_group(sdl PARENT_GROUP base) cpack_add_component(${BINARY_NAME}-sdl GROUP sdl DEPENDS base) endif() diff --git a/src/platform/qt/CMakeLists.txt b/src/platform/qt/CMakeLists.txt index 22d036631..2d3ef87a2 100644 --- a/src/platform/qt/CMakeLists.txt +++ b/src/platform/qt/CMakeLists.txt @@ -6,9 +6,7 @@ set(PLATFORM_SRC) set(QT_STATIC OFF) if(BUILD_SDL) - if(NOT SDL_FOUND AND NOT SDL2_FOUND) - find_package(SDL 1.2 REQUIRED) - endif() + add_definitions(-DBUILD_SDL) if(SDL2_FOUND) link_directories(${SDL2_LIBDIR}) endif() @@ -32,9 +30,9 @@ if(NOT BUILD_GL AND NOT BUILD_GLES2) message(WARNING "OpenGL is recommended to build the Qt port") endif() +set(FOUND_QT ${Qt5Widgets_FOUND} PARENT_SCOPE) if(NOT Qt5Widgets_FOUND) message(WARNING "Cannot find Qt modules") - set(BUILD_QT OFF PARENT_SCOPE) return() endif() diff --git a/src/platform/qt/main.cpp b/src/platform/qt/main.cpp index 35ae30d09..5d177d852 100644 --- a/src/platform/qt/main.cpp +++ b/src/platform/qt/main.cpp @@ -40,8 +40,10 @@ Q_IMPORT_PLUGIN(AVFServicePlugin); using namespace QGBA; int main(int argc, char* argv[]) { -#if defined(BUILD_SDL) && SDL_VERSION_ATLEAST(2, 0, 0) +#ifdef BUILD_SDL +#if SDL_VERSION_ATLEAST(2, 0, 0) // CPP does not shortcut function lookup SDL_SetMainReady(); +#endif #endif ConfigController configController; diff --git a/src/platform/sdl/CMakeLists.txt b/src/platform/sdl/CMakeLists.txt index bfc840d4c..bb8a1a99d 100644 --- a/src/platform/sdl/CMakeLists.txt +++ b/src/platform/sdl/CMakeLists.txt @@ -13,13 +13,15 @@ endif() if(SDL_VERSION EQUAL "1.2" OR NOT SDL2_FOUND) find_package(SDL 1.2) - set(SDL_VERSION "1.2" PARENT_SCOPE) - set(SDL_VERSION_DEBIAN "1.2debian") - set(USE_PIXMAN ON) + if(SDL_FOUND) + set(SDL_VERSION "1.2" PARENT_SCOPE) + set(SDL_VERSION_DEBIAN "1.2debian") + set(USE_PIXMAN ON) + endif() endif() if (NOT SDL2_FOUND AND NOT SDL_FOUND) - set(BUILD_SDL OFF PARENT_SCOPE) + set(SDL_FOUND OFF PARENT_SCOPE) return() endif()