summaryrefslogtreecommitdiff
path: root/devel/picojson/files/patch-CMakeLists.txt
blob: e9e9c654c21b7dc117957f3f8c50d524c2c8c48a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
--- 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
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+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
+)