mirror of
https://github.com/libSDL2pp/libSDL2pp.git
synced 2025-08-04 03:15:59 -04:00
Add SDL_image2 support to cmake
This commit is contained in:
parent
5542acd252
commit
955d6f7bc1
@ -5,8 +5,19 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
|||||||
|
|
||||||
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
||||||
|
|
||||||
|
OPTION(SDL2PP_WITH_IMAGE "Enable SDL2_image support" ON)
|
||||||
|
|
||||||
# depends
|
# depends
|
||||||
FIND_PACKAGE(SDL2 REQUIRED)
|
FIND_PACKAGE(SDL2 REQUIRED)
|
||||||
|
SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
|
||||||
|
SET(SDL2_ALL_LIBRARIES ${SDL2_LIBRARY})
|
||||||
|
IF(SDL2PP_WITH_IMAGE)
|
||||||
|
FIND_PACKAGE(SDL2_image REQUIRED)
|
||||||
|
SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIR})
|
||||||
|
SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_IMAGE_LIBRARY})
|
||||||
|
ELSE(SDL2PP_WITH_IMAGE)
|
||||||
|
MESSAGE(STATUS "SDL2_image support disabled")
|
||||||
|
ENDIF(SDL2PP_WITH_IMAGE)
|
||||||
|
|
||||||
# compiler flags & definitions
|
# compiler flags & definitions
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
@ -17,8 +28,8 @@ ELSE(MSVC)
|
|||||||
SET(WERROR_FLAG "-Werror")
|
SET(WERROR_FLAG "-Werror")
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(BEFORE ${PROJECT_SOURCE_DIR})
|
||||||
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${SDL2_ALL_INCLUDE_DIRS})
|
||||||
|
|
||||||
# sources
|
# sources
|
||||||
SET(LIBRARY_SOURCES
|
SET(LIBRARY_SOURCES
|
||||||
@ -52,7 +63,7 @@ IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|||||||
|
|
||||||
# library
|
# library
|
||||||
ADD_LIBRARY(SDL2pp SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
ADD_LIBRARY(SDL2pp SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||||
TARGET_LINK_LIBRARIES(SDL2pp ${SDL2_LIBRARY})
|
TARGET_LINK_LIBRARIES(SDL2pp ${SDL2_ALL_LIBRARIES})
|
||||||
|
|
||||||
# demos and tests
|
# demos and tests
|
||||||
OPTION(RUN_GUI_TESTS "Run GUI tests (requires X11 display)" ON)
|
OPTION(RUN_GUI_TESTS "Run GUI tests (requires X11 display)" ON)
|
||||||
@ -67,7 +78,6 @@ ELSE(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|||||||
ADD_LIBRARY(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
ADD_LIBRARY(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||||
|
|
||||||
# provide variables to parent
|
# provide variables to parent
|
||||||
SET(SDL2PP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${SDL2_INCLUDE_DIR} PARENT_SCOPE)
|
SET(SDL2PP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${SDL2_ALL_INCLUDE_DIRS} PARENT_SCOPE)
|
||||||
SET(SDL2PP_LIBRARIES SDL2pp ${SDL2_LIBRARY} PARENT_SCOPE)
|
SET(SDL2PP_LIBRARIES SDL2pp ${SDL2_ALL_LIBRARIES} PARENT_SCOPE)
|
||||||
ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||||
|
|
||||||
|
27
cmake/FindSDL2_image.cmake
Normal file
27
cmake/FindSDL2_image.cmake
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# - Try to locate SDL2_image
|
||||||
|
# This module defines:
|
||||||
|
#
|
||||||
|
# SDL2_IMAGE_INCLUDE_DIR
|
||||||
|
# SDL2_IMAGE_LIBRARY
|
||||||
|
# SDL2_IMAGE_FOUND
|
||||||
|
#
|
||||||
|
|
||||||
|
FIND_PATH(SDL2_IMAGE_INCLUDE_DIR NAMES SDL2/SDL_image.h)
|
||||||
|
|
||||||
|
FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_image)
|
||||||
|
|
||||||
|
IF(SDL2_IMAGE_INCLUDE_DIR AND SDL2_IMAGE_LIBRARY)
|
||||||
|
SET(SDL2_IMAGE_FOUND TRUE)
|
||||||
|
ENDIF(SDL2_IMAGE_INCLUDE_DIR AND SDL2_IMAGE_LIBRARY)
|
||||||
|
|
||||||
|
IF(SDL2_IMAGE_FOUND)
|
||||||
|
IF(NOT SDL2_IMAGE_FIND_QUIETLY)
|
||||||
|
MESSAGE(STATUS "Found SDL2_image: -I${SDL2_IMAGE_INCLUDE_DIR}, ${SDL2_IMAGE_LIBRARY}")
|
||||||
|
ENDIF(NOT SDL2_IMAGE_FIND_QUIETLY)
|
||||||
|
ELSE(SDL2_IMAGE_FOUND)
|
||||||
|
IF(SDL2_IMAGE_FIND_REQUIRED)
|
||||||
|
MESSAGE(FATAL_ERROR "Could not find SDL2")
|
||||||
|
ENDIF(SDL2_IMAGE_FIND_REQUIRED)
|
||||||
|
ENDIF(SDL2_IMAGE_FOUND)
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY SDL2_IMAGE_FOUND)
|
Loading…
x
Reference in New Issue
Block a user