11cmake_minimum_required (VERSION 3.25.0 )
22cmake_policy (SET CMP0069 NEW )
33
4- project (llhttp VERSION 9.3 .1)
4+ project (llhttp VERSION 9.4 .1)
55include (GNUInstallDirs )
6+ include (CMakePackageConfigHelpers )
67
78set (CMAKE_C_STANDARD 99)
89
@@ -66,18 +67,6 @@ function(config_library target)
6667 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
6768 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
6869 )
69-
70- install (FILES
71- ${CMAKE_CURRENT_SOURCE_DIR} /libllhttp.pc
72- DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
73- )
74-
75- # This is required to work with FetchContent
76- install (EXPORT llhttp
77- FILE llhttp-config.cmake
78- NAMESPACE llhttp::
79- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/llhttp
80- )
8170endfunction (config_library target )
8271
8372if (LLHTTP_BUILD_SHARED_LIBS)
@@ -98,6 +87,36 @@ if(LLHTTP_BUILD_STATIC_LIBS)
9887 config_library (llhttp_static )
9988endif ()
10089
90+ if (TARGET llhttp_shared OR TARGET llhttp_static)
91+ install (FILES
92+ ${CMAKE_CURRENT_SOURCE_DIR} /libllhttp.pc
93+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
94+ )
95+
96+ install (EXPORT llhttp
97+ FILE llhttp-targets .cmake
98+ NAMESPACE llhttp::
99+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/llhttp
100+ )
101+
102+ configure_package_config_file (
103+ ${CMAKE_CURRENT_SOURCE_DIR} /cmake/llhttpConfig.cmake.in
104+ ${CMAKE_CURRENT_BINARY_DIR} /llhttpConfig.cmake
105+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/llhttp
106+ )
107+
108+ write_basic_package_version_file (
109+ ${CMAKE_CURRENT_BINARY_DIR} /llhttpConfigVersion.cmake
110+ COMPATIBILITY AnyNewerVersion
111+ )
112+
113+ install (FILES
114+ ${CMAKE_CURRENT_BINARY_DIR} /llhttpConfig.cmake
115+ ${CMAKE_CURRENT_BINARY_DIR} /llhttpConfigVersion.cmake
116+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/llhttp
117+ )
118+ endif ()
119+
101120# On windows with Visual Studio, add a debug postfix so that release
102121# and debug libraries can coexist.
103122if (MSVC )
0 commit comments