cmake_minimum_required(VERSION 3.15) project(quip VERSION 0.0.1) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_library(quip SHARED src/quip.cpp src/quip.h) target_link_libraries(quip PUBLIC SDL3 SDL3_ttf SDL3_image) target_include_directories(quip PUBLIC $ $ ) set_target_properties(quip PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 1 PUBLIC_HEADER "src/quip.h" ) include(GNUInstallDirs) install(TARGETS quip EXPORT quipTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/quip ) install(EXPORT quipTargets FILE quipTargets.cmake NAMESPACE quip:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/quip ) include(CMakePackageConfigHelpers) configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/quipConfig.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/quip ) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/quipConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/quipConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/quipConfigVersion.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/quip )