From 9b8d170d1fd7e3187ad4d3ff673ebbbf5528a882 Mon Sep 17 00:00:00 2001 From: Pavel Zwerschke Date: Tue, 18 Jun 2024 00:11:13 +0200 Subject: [PATCH 1/2] Build pkg-config for msvc as well --- CMakeLists.txt | 52 ++++++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5015408..2ff2f66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -543,35 +543,29 @@ install( DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) -if (UNIX OR MINGW OR CYGWIN) - SET(prefix ${CMAKE_INSTALL_PREFIX}) - # exec_prefix is prefix by default and CMake does not have the - # concept. - SET(exec_prefix ${CMAKE_INSTALL_PREFIX}) - SET(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) - SET(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) - SET(VERSION ${PROJECT_VERSION}) - - # Linking against the static json-c requires - # dependent packages to include additional libs: - SET(LIBS_LIST ${CMAKE_REQUIRED_LIBRARIES}) - - # Note: We would need cmake >= 3.12 in order to use list(TRANSFORM ...) - function(list_transform_prepend var prefix) - set(temp "") - foreach(f ${${var}}) - list(APPEND temp "${prefix}${f}") - endforeach() - set(${var} "${temp}" PARENT_SCOPE) - endfunction() - list_transform_prepend(LIBS_LIST "-l") - - string(REPLACE ";" " " LIBS "${LIBS_LIST}") - - configure_file(json-c.pc.in json-c.pc @ONLY) - set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") - install(FILES ${PROJECT_BINARY_DIR}/json-c.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}") -endif () +SET(prefix ${CMAKE_INSTALL_PREFIX}) +# exec_prefix is prefix by default and CMake does not have the +# concept. +SET(exec_prefix ${CMAKE_INSTALL_PREFIX}) +SET(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) +SET(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) +SET(VERSION ${PROJECT_VERSION}) +# Linking against the static json-c requires +# dependent packages to include additional libs: +SET(LIBS_LIST ${CMAKE_REQUIRED_LIBRARIES}) +# Note: We would need cmake >= 3.12 in order to use list(TRANSFORM ...) +function(list_transform_prepend var prefix) + set(temp "") + foreach(f ${${var}}) + list(APPEND temp "${prefix}${f}") + endforeach() + set(${var} "${temp}" PARENT_SCOPE) +endfunction() +list_transform_prepend(LIBS_LIST "-l") +string(REPLACE ";" " " LIBS "${LIBS_LIST}") +configure_file(json-c.pc.in json-c.pc @ONLY) +set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") +install(FILES ${PROJECT_BINARY_DIR}/json-c.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}") install(FILES ${JSON_C_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/json-c) From 906d1581de34b03c6c1a1d84f84eb81d2993c8aa Mon Sep 17 00:00:00 2001 From: Pavel Zwerschke Date: Thu, 29 Aug 2024 10:55:02 +0200 Subject: [PATCH 2/2] Update CMakeLists.txt --- CMakeLists.txt | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ff2f66..3797cba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -543,29 +543,33 @@ install( DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) -SET(prefix ${CMAKE_INSTALL_PREFIX}) -# exec_prefix is prefix by default and CMake does not have the -# concept. -SET(exec_prefix ${CMAKE_INSTALL_PREFIX}) -SET(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) -SET(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) -SET(VERSION ${PROJECT_VERSION}) -# Linking against the static json-c requires -# dependent packages to include additional libs: -SET(LIBS_LIST ${CMAKE_REQUIRED_LIBRARIES}) -# Note: We would need cmake >= 3.12 in order to use list(TRANSFORM ...) -function(list_transform_prepend var prefix) - set(temp "") - foreach(f ${${var}}) - list(APPEND temp "${prefix}${f}") - endforeach() - set(${var} "${temp}" PARENT_SCOPE) -endfunction() -list_transform_prepend(LIBS_LIST "-l") -string(REPLACE ";" " " LIBS "${LIBS_LIST}") -configure_file(json-c.pc.in json-c.pc @ONLY) -set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") -install(FILES ${PROJECT_BINARY_DIR}/json-c.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}") + SET(prefix ${CMAKE_INSTALL_PREFIX}) + # exec_prefix is prefix by default and CMake does not have the + # concept. + SET(exec_prefix ${CMAKE_INSTALL_PREFIX}) + SET(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) + SET(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) + SET(VERSION ${PROJECT_VERSION}) + + # Linking against the static json-c requires + # dependent packages to include additional libs: + SET(LIBS_LIST ${CMAKE_REQUIRED_LIBRARIES}) + + # Note: We would need cmake >= 3.12 in order to use list(TRANSFORM ...) + function(list_transform_prepend var prefix) + set(temp "") + foreach(f ${${var}}) + list(APPEND temp "${prefix}${f}") + endforeach() + set(${var} "${temp}" PARENT_SCOPE) + endfunction() + list_transform_prepend(LIBS_LIST "-l") + + string(REPLACE ";" " " LIBS "${LIBS_LIST}") + + configure_file(json-c.pc.in json-c.pc @ONLY) + set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") + install(FILES ${PROJECT_BINARY_DIR}/json-c.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}") install(FILES ${JSON_C_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/json-c)