Build pkg-config for msvc as well

This commit is contained in:
Pavel Zwerschke
2024-06-18 00:11:13 +02:00
committed by GitHub
parent 6e481aa061
commit 9b8d170d1f

View File

@@ -543,35 +543,29 @@ install(
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
) )
if (UNIX OR MINGW OR CYGWIN) SET(prefix ${CMAKE_INSTALL_PREFIX})
SET(prefix ${CMAKE_INSTALL_PREFIX}) # exec_prefix is prefix by default and CMake does not have the
# exec_prefix is prefix by default and CMake does not have the # concept.
# concept. SET(exec_prefix ${CMAKE_INSTALL_PREFIX})
SET(exec_prefix ${CMAKE_INSTALL_PREFIX}) SET(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
SET(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) SET(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
SET(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) SET(VERSION ${PROJECT_VERSION})
SET(VERSION ${PROJECT_VERSION}) # Linking against the static json-c requires
# dependent packages to include additional libs:
# Linking against the static json-c requires SET(LIBS_LIST ${CMAKE_REQUIRED_LIBRARIES})
# dependent packages to include additional libs: # Note: We would need cmake >= 3.12 in order to use list(TRANSFORM ...)
SET(LIBS_LIST ${CMAKE_REQUIRED_LIBRARIES}) function(list_transform_prepend var prefix)
set(temp "")
# Note: We would need cmake >= 3.12 in order to use list(TRANSFORM ...) foreach(f ${${var}})
function(list_transform_prepend var prefix) list(APPEND temp "${prefix}${f}")
set(temp "") endforeach()
foreach(f ${${var}}) set(${var} "${temp}" PARENT_SCOPE)
list(APPEND temp "${prefix}${f}") endfunction()
endforeach() list_transform_prepend(LIBS_LIST "-l")
set(${var} "${temp}" PARENT_SCOPE) string(REPLACE ";" " " LIBS "${LIBS_LIST}")
endfunction() configure_file(json-c.pc.in json-c.pc @ONLY)
list_transform_prepend(LIBS_LIST "-l") 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}")
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 ()
install(FILES ${JSON_C_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/json-c) install(FILES ${JSON_C_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/json-c)