aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/mgclient/export-cmake.patch
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/mgclient/export-cmake.patch
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/mgclient/export-cmake.patch')
-rw-r--r--vcpkg/ports/mgclient/export-cmake.patch108
1 files changed, 108 insertions, 0 deletions
diff --git a/vcpkg/ports/mgclient/export-cmake.patch b/vcpkg/ports/mgclient/export-cmake.patch
new file mode 100644
index 0000000..8811a4f
--- /dev/null
+++ b/vcpkg/ports/mgclient/export-cmake.patch
@@ -0,0 +1,108 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 92426e9..f96152a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -16,6 +16,8 @@ add_library(project_options INTERFACE)
+ include(../cmake/Sanitizers.cmake)
+ enable_sanitizers(project_options)
+
++include(GNUInstallDirs)
++
+ set(mgclient_src_files
+ mgallocator.c
+ mgclient.c
+@@ -50,6 +52,7 @@ else()
+ find_package(OpenSSL REQUIRED)
+ include(GenerateExportHeader)
+
++ if(NOT BUILD_SHARED_LIBS)
+ add_library(mgclient-static STATIC ${mgclient_src_files})
+
+ generate_export_header(mgclient-static
+@@ -62,18 +65,22 @@ else()
+ target_include_directories(mgclient-static
+ PRIVATE
+ "${PROJECT_SOURCE_DIR}/src"
+- PUBLIC
+- "${PROJECT_SOURCE_DIR}/include"
+ "${CMAKE_CURRENT_BINARY_DIR}"
+- "${OPENSSL_INCLUDE_DIR}")
++ "${OPENSSL_INCLUDE_DIR}"
++ PUBLIC
++ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
++ )
+ target_link_libraries(mgclient-static
+ PRIVATE
+- ${OPENSSL_LIBRARIES} project_options project_c_warnings)
+-
++ ${OPENSSL_LIBRARIES})
++ target_compile_options(mgclient-static PRIVATE
++ $<TARGET_PROPERTY:project_options,INTERFACE_COMPILE_OPTIONS>
++ $<TARGET_PROPERTY:project_c_warnings,INTERFACE_COMPILE_OPTIONS>)
+ if(MGCLIENT_ON_WINDOWS)
+ target_link_libraries(mgclient-static PUBLIC ws2_32 crypt32 gdi32)
+ endif()
+-
++ else()
+ add_library(mgclient-shared SHARED ${mgclient_src_files})
+
+ generate_export_header(mgclient-shared
+@@ -87,32 +94,44 @@ else()
+ target_include_directories(mgclient-shared
+ PRIVATE
+ "${PROJECT_SOURCE_DIR}/src"
+- PUBLIC
+- "${PROJECT_SOURCE_DIR}/include"
+ "${CMAKE_CURRENT_BINARY_DIR}"
+- "${OPENSSL_INCLUDE_DIR}")
++ "${OPENSSL_INCLUDE_DIR}"
++ PUBLIC
++ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
++ )
+ target_link_libraries(mgclient-shared
+ PRIVATE
+- ${OPENSSL_LIBRARIES} project_options project_c_warnings)
+-
++ ${OPENSSL_LIBRARIES})
++ target_compile_options(mgclient-shared PRIVATE
++ $<TARGET_PROPERTY:project_options,INTERFACE_COMPILE_OPTIONS>
++ $<TARGET_PROPERTY:project_c_warnings,INTERFACE_COMPILE_OPTIONS>)
+ if(MGCLIENT_ON_WINDOWS)
+ target_link_libraries(mgclient-shared PUBLIC ws2_32 crypt32 gdi32)
+ endif()
++ endif()
+
+- generate_export_header(mgclient-shared
+- BASE_NAME "mgclient"
+- EXPORT_FILE_NAME "mgclient-export.h")
+-
+- include(GNUInstallDirs)
+-
+- install(TARGETS mgclient-static mgclient-shared
++ if(BUILD_SHARED_LIBS)
++ install(TARGETS mgclient-shared
++ EXPORT unofficial-mgclient-export
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++ else()
++ install(TARGETS mgclient-static
++ EXPORT unofficial-mgclient-export
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++ endif()
+ install(DIRECTORY
+ "${PROJECT_SOURCE_DIR}/include/"
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/mgclient-export.h"
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++ install(EXPORT unofficial-mgclient-export
++ FILE unofficial-mgclient-config.cmake
++ NAMESPACE unofficial::mgclient::
++ DESTINATION share/unofficial-mgclient)
+ endif()