1 cmake_minimum_required(VERSION 3.0)
2 project(SDL2_gfx VERSION 1.0.4 LANGUAGES C)
4 set(CONFIG_NAME "sdl2-gfx")
6 find_path(SDL_INCLUDE_DIR SDL2/SDL.h)
7 find_package(SDL2 CONFIG REQUIRED)
10 set(SDL_GFX_DEFINES WIN32)
12 list(APPEND SDL_GFX_DEFINES DLL_EXPORT)
15 add_library(${PROJECT_NAME}
21 target_include_directories(${PROJECT_NAME} PUBLIC
22 $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
23 $<INSTALL_INTERFACE:include>
24 $<INSTALL_INTERFACE:include/SDL2>
28 add_compile_definitions(${SDL_GFX_DEFINES})
30 target_include_directories(${PROJECT_NAME} PRIVATE ${SDL_INCLUDE_DIR}/SDL2)
31 target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2)
33 install(TARGETS ${PROJECT_NAME}
34 EXPORT ${PROJECT_NAME}
35 RUNTIME DESTINATION bin
36 ARCHIVE DESTINATION lib
37 LIBRARY DESTINATION lib)
39 install(EXPORT ${PROJECT_NAME}
40 FILE ${CONFIG_NAME}-targets.cmake
42 DESTINATION share/${CONFIG_NAME}/
44 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake
45 "include(CMakeFindDependencyMacro)
46 find_dependency(SDL2 CONFIG)
47 include(\${CMAKE_CURRENT_LIST_DIR}/${CONFIG_NAME}-targets.cmake)"
49 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake DESTINATION share/${CONFIG_NAME})
51 if(NOT SDL_GFX_SKIP_HEADERS)
52 install(FILES SDL2_framerate.h SDL2_gfxPrimitives.h SDL2_imageFilter.h SDL2_rotozoom.h SDL2_gfxPrimitives_font.h DESTINATION include/SDL2)