CMakeLists.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. cmake_minimum_required(VERSION 3.0)
  2. project(SDL2_TTF C)
  3. set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/mk/cmake")
  4. option(SDL2TTF_INSTALL "Install target for SDL2_ttf." OFF)
  5. option(SDL2TTF_RAQM "Build with RAQM" OFF)
  6. add_library(SDL2_ttf SDL_ttf.c version.rc)
  7. set_target_properties(SDL2_ttf PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
  8. target_include_directories(SDL2_ttf PRIVATE ${PROJECT_SOURCE_DIR})
  9. if(SDL2TTF_RAQM AND (TARGET RAQM))
  10. target_compile_definitions(SDL2_ttf PRIVATE HAVE_RAQM=1)
  11. target_link_libraries(SDL2_ttf PRIVATE RAQM)
  12. endif()
  13. target_link_libraries(SDL2_ttf PRIVATE SDL2 Freetype)
  14. include(GNUInstallDirs)
  15. install(TARGETS SDL2_ttf
  16. EXPORT sdl2_ttf-targets
  17. RUNTIME DESTINATION bin
  18. ARCHIVE DESTINATION lib
  19. LIBRARY DESTINATION lib)
  20. if(SDL2TTF_INSTALL)
  21. if(NOT DEFINED SDL_TTF_SKIP_HEADERS)
  22. install(FILES SDL_ttf.h DESTINATION include/SDL2)
  23. endif()
  24. # CMake integration
  25. configure_file(sdl2_ttf-config.cmake.in
  26. "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/sdl2_ttf-config.cmake" @ONLY)
  27. install(FILES
  28. "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/sdl2_ttf-config.cmake"
  29. DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/SDL2_ttf/")
  30. export(TARGETS SDL2_ttf
  31. FILE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/sdl2_ttf-targets.cmake")
  32. export(PACKAGE SDL2_ttf)
  33. install(EXPORT sdl2_ttf-targets
  34. DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/SDL2_ttf/")
  35. endif()
  36. message(STATUS "Link-time dependencies:")
  37. message(STATUS " " ${SDL_LIBRARY})
  38. message(STATUS " " ${FREETYPE_LIBRARY})