53 lines
1.5 KiB
CMake
53 lines
1.5 KiB
CMake
|
if(NOT CMAKE_CROSSCOMPILING)
|
||
|
find_package(PkgConfig QUIET)
|
||
|
pkg_check_modules(PC_SDL2 sdl2)
|
||
|
endif()
|
||
|
|
||
|
set_extra_dirs_lib(SDL2 sdl)
|
||
|
find_library(SDL2_LIBRARY
|
||
|
NAMES SDL2
|
||
|
HINTS ${HINTS_SDL2_LIBDIR} ${PC_SDL2_LIBDIR} ${PC_SDL2_LIBRARY_DIRS}
|
||
|
PATHS ${PATHS_SDL2_LIBDIR}
|
||
|
${CROSSCOMPILING_NO_CMAKE_SYSTEM_PATH}
|
||
|
)
|
||
|
if(PREFER_BUNDLED_LIBS)
|
||
|
set(CMAKE_FIND_FRAMEWORK FIRST)
|
||
|
else()
|
||
|
set(CMAKE_FIND_FRAMEWORK LAST)
|
||
|
endif()
|
||
|
set_extra_dirs_include(SDL2 sdl "${SDL2_LIBRARY}")
|
||
|
# Looking for 'SDL.h' directly might accidentally find a SDL instead of SDL 2
|
||
|
# installation. Look for a header file only present in SDL 2 instead.
|
||
|
find_path(SDL2_INCLUDEDIR SDL_assert.h
|
||
|
PATH_SUFFIXES SDL2
|
||
|
HINTS ${HINTS_SDL2_INCLUDEDIR} ${PC_SDL2_INCLUDEDIR} ${PC_SDL2_INCLUDE_DIRS}
|
||
|
PATHS ${PATHS_SDL2_INCLUDEDIR}
|
||
|
${CROSSCOMPILING_NO_CMAKE_SYSTEM_PATH}
|
||
|
)
|
||
|
|
||
|
include(FindPackageHandleStandardArgs)
|
||
|
find_package_handle_standard_args(SDL2 DEFAULT_MSG SDL2_LIBRARY SDL2_INCLUDEDIR)
|
||
|
|
||
|
mark_as_advanced(SDL2_LIBRARY SDL2_INCLUDEDIR)
|
||
|
|
||
|
if(SDL2_FOUND)
|
||
|
set(SDL2_LIBRARIES ${SDL2_LIBRARY})
|
||
|
set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDEDIR})
|
||
|
|
||
|
is_bundled(SDL2_BUNDLED "${SDL2_LIBRARY}")
|
||
|
set(SDL2_COPY_FILES)
|
||
|
set(SDL2_COPY_DIRS)
|
||
|
if(SDL2_BUNDLED)
|
||
|
if(TARGET_OS STREQUAL "windows")
|
||
|
set(SDL2_COPY_FILES "${EXTRA_SDL2_LIBDIR}/SDL2.dll")
|
||
|
if(TARGET_BITS EQUAL 32)
|
||
|
list(APPEND OPUSFILE_COPY_FILES
|
||
|
"${EXTRA_SDL2_LIBDIR}/libgcc_s_dw2-1.dll"
|
||
|
)
|
||
|
endif()
|
||
|
elseif(TARGET_OS STREQUAL "mac")
|
||
|
set(SDL2_COPY_DIRS "${EXTRA_SDL2_LIBDIR}/SDL2.framework")
|
||
|
endif()
|
||
|
endif()
|
||
|
endif()
|