libSDL2pp/CMakeLists.txt

60 lines
1.3 KiB
CMake

PROJECT(libSDL2pp)
# meta
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
# depends
FIND_PACKAGE(SDL2 REQUIRED)
# definitions
ADD_DEFINITIONS(-std=c++11 -Wall -Wextra -Werror -pedantic)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIR})
# sources
SET(LIBRARY_SOURCES
SDL2pp/Exception.cc
SDL2pp/SDL.cc
SDL2pp/Window.cc
SDL2pp/Renderer.cc
SDL2pp/Texture.cc
SDL2pp/Rect.cc
SDL2pp/Point.cc
)
SET(LIBRARY_HEADERS
)
IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
MESSAGE(STATUS "libSDL2pp standalone build")
# library
ADD_LIBRARY(SDL2pp SHARED ${LIBRARY_SOURCES})
TARGET_LINK_LIBRARIES(SDL2pp ${SDL2_LIBRARY})
# demos
SET(DEMOS
sprites
lines
rendertarget
)
FOREACH(DEMO ${DEMOS})
ADD_EXECUTABLE(demo_${DEMO} demos/${DEMO}.cc)
TARGET_LINK_LIBRARIES(demo_${DEMO} SDL2pp)
ENDFOREACH(DEMO ${DEMOS})
ELSE(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
MESSAGE(STATUS "libSDL2pp bundled build")
# library
ADD_LIBRARY(SDL2pp STATIC ${LIBRARY_SOURCES})
# provide variables to parent
SET(SDL2PP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${SDL2_INCLUDE_DIR} PARENT_SCOPE)
SET(SDL2PP_LIBRARIES SDL2pp ${SDL2_LIBRARY} PARENT_SCOPE)
ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)