--- CMakeLists.txt.orig 2025-06-03 19:41:04 UTC +++ CMakeLists.txt @@ -0,0 +1,65 @@ +cmake_minimum_required(VERSION 3.16) +project(picojson + VERSION %%DISTVERSION%% + LANGUAGES CXX +) + +include(GNUInstallDirs) + +set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}" + CACHE PATH "Location of header files" +) + +add_library(picojson INTERFACE) +add_library(picojson::picojson ALIAS picojson) +target_include_directories(picojson INTERFACE + $ + $ +) + +install(FILES picojson.h + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/" +) + +if(NOT WIN32) + # Install pkg-config file + set(prefix "${CMAKE_INSTALL_PREFIX}") + set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}") + set(version ${PROJECT_VERSION}) + configure_file(picojson.pc.in + "${CMAKE_CURRENT_BINARY_DIR}/picojson.pc" + NEWLINE_STYLE UNIX + @ONLY + ) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/picojson.pc" + DESTINATION "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig" + ) +endif() + +install(TARGETS picojson EXPORT picojson-targets + INCLUDES DESTINATION include +) + +set(config_package_location ${CMAKE_INSTALL_LIBDIR}/cmake/picojson) +install(EXPORT picojson-targets + FILE picojson-targets.cmake + NAMESPACE picojson:: + DESTINATION ${config_package_location} +) + +include(CMakePackageConfigHelpers) +configure_package_config_file(picojson-config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/picojson-config.cmake + INSTALL_DESTINATION ${config_package_location} + PATH_VARS INCLUDE_INSTALL_DIR +) +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/picojson-config-version.cmake" + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion + ARCH_INDEPENDENT +) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/picojson-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/picojson-config-version.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/picojson +)