@@ -99,31 +99,34 @@ if (EMSCRIPTEN)
99
99
100
100
# Pull SDL2 from its Github repo
101
101
else ()
102
- if (NOT DEFINED FOSTER_SDL2_LIBS)
102
+ if (DEFINED FOSTER_SDL2_LIBS)
103
+ set (SDL2_LIBRARIES ${FOSTER_SDL2_LIBS} )
104
+ set (SDL2_INDLUDE_DIRS ${FOSTER_SDL2_INCLUDE} )
105
+ # Tell external SDL it's going to be a shared lib
106
+ set_property (TARGET ${FOSTER_SDL2_LIBS} PROPERTY POSITION_INDEPENDENT_CODE ON )
107
+ else ()
103
108
include (FetchContent)
104
109
set (FETCHCONTENT_QUIET FALSE )
105
- set (SDL_TEST_ENABLED_BY_DEFAULT OFF )
106
- set (SDL_SHARED_ENABLED_BY_DEFAULT OFF )
107
- set (SDL_STATIC_ENABLED_BY_DEFAULT ON )
108
-
110
+ set (FETCHCONTENT_TRY_FIND_PACKAGE_MODE ALWAYS)
111
+ set (SDL_VERSION 2.30.0)
109
112
FetchContent_Declare(
110
113
SDL2
111
114
GIT_REPOSITORY https://github.com/libsdl-org/SDL
112
- GIT_TAG release-2.30.0
115
+ GIT_TAG release-${SDL_VERSION}
113
116
GIT_PROGRESS TRUE
117
+ FIND_PACKAGE_ARGS ${SDL_VERSION}
114
118
)
119
+ set (SDL_TEST OFF )
120
+ set (SDL_SHARED OFF )
121
+ set (SDL_STATIC ON )
122
+ set (SDL_STATIC_PIC ON )
115
123
FetchContent_MakeAvailable(SDL2)
116
- set (FOSTER_SDL2_LIBS SDL2-static )
117
- set (FOSTER_SDL2_INCLUDE ${sdl2_SOURCE_DIRS } /include )
124
+ set (SDL2_LIBRARIES ${SDL2_LIBRARIES} SDL2-static )
125
+ set (SDL2_INCLUDE_DIRS ${SDL2_SOURCE_DIR } /include )
118
126
endif ()
119
-
120
- # statically link SDL2 since we're building it ourselve
121
- set (LIBS ${LIBS} ${FOSTER_SDL2_LIBS} )
122
- target_include_directories (${TARGET_NAME} PRIVATE ${FOSTER_SDL2_INCLUDE} )
127
+ set (LIBS ${LIBS} ${SDL2_LIBRARIES} )
128
+ target_include_directories (${TARGET_NAME} PRIVATE ${SDL2_INCLUDE_DIRS} )
123
129
endif ()
124
130
125
- # Tell SDL it's going to be a shared lib
126
- set_property (TARGET ${FOSTER_SDL2_LIBS} PROPERTY POSITION_INDEPENDENT_CODE ON )
127
-
128
131
# Link SDL
129
132
target_link_libraries (${TARGET_NAME} PRIVATE ${LIBS} )
0 commit comments