Clarify MSVC-only bundled SDL support
This commit is contained in:
@@ -7,10 +7,18 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||
|
||||
option(MOTHERLOAD_USE_BUNDLED_WINDOWS_SDL "Use the bundled prebuilt SDL packages on Windows" ON)
|
||||
option(MOTHERLOAD_USE_BUNDLED_WINDOWS_SDL "Use the bundled prebuilt SDL packages for MSVC builds on Windows" ON)
|
||||
option(MOTHERLOAD_ENABLE_WARNINGS "Enable compiler warnings" ON)
|
||||
|
||||
if(WIN32 AND MOTHERLOAD_USE_BUNDLED_WINDOWS_SDL)
|
||||
if(WIN32 AND MOTHERLOAD_USE_BUNDLED_WINDOWS_SDL AND NOT MSVC)
|
||||
message(FATAL_ERROR
|
||||
"MOTHERLOAD_USE_BUNDLED_WINDOWS_SDL=ON only supports MSVC/Visual Studio builds. "
|
||||
"The bundled SDL package in Libraries/ is the SDL2 Visual C++ build, not a MinGW build. "
|
||||
"For CLion/MinGW, disable MOTHERLOAD_USE_BUNDLED_WINDOWS_SDL and use MinGW-compatible SDL packages instead."
|
||||
)
|
||||
endif()
|
||||
|
||||
if(MSVC AND MOTHERLOAD_USE_BUNDLED_WINDOWS_SDL)
|
||||
list(PREPEND CMAKE_PREFIX_PATH
|
||||
"${CMAKE_SOURCE_DIR}/Libraries/SDLMain/SDL2-2.26.3/cmake"
|
||||
"${CMAKE_SOURCE_DIR}/Libraries/SDLImage/SDL2_image-2.6.3/cmake"
|
||||
@@ -134,6 +142,11 @@ target_include_directories(Motherload
|
||||
"${CMAKE_SOURCE_DIR}/Game"
|
||||
"${CMAKE_SOURCE_DIR}/Engine"
|
||||
)
|
||||
|
||||
if(TARGET SDL2::SDL2main)
|
||||
target_link_libraries(Motherload PRIVATE SDL2::SDL2main)
|
||||
endif()
|
||||
|
||||
target_link_libraries(Motherload
|
||||
PRIVATE
|
||||
Engine
|
||||
@@ -143,10 +156,6 @@ target_link_libraries(Motherload
|
||||
SDL2_mixer::SDL2_mixer
|
||||
SDL2_ttf::SDL2_ttf
|
||||
)
|
||||
|
||||
if(TARGET SDL2::SDL2main)
|
||||
target_link_libraries(Motherload PRIVATE SDL2::SDL2main)
|
||||
endif()
|
||||
motherload_enable_warnings(Motherload)
|
||||
|
||||
source_group(TREE "${CMAKE_SOURCE_DIR}" FILES ${ENGINE_SOURCES} ${GAME_SOURCES})
|
||||
|
||||
Reference in New Issue
Block a user