mirror of https://github.com/microsoft/vcpkg.git
[mgclient] add new port (#47699)
This commit is contained in:
parent
958592be61
commit
50c0cb48a0
|
|
@ -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()
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO memgraph/mgclient
|
||||
REF "v${VERSION}"
|
||||
SHA512 67321e51255c4552a8e9a4ad55a5ed9159b92ecea87f8a667bc817b87289940558f1f1cd0dc5f99bb698739bd5e1b58d9ff3f13c4d61190f27bd009b0055a445
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
export-cmake.patch
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS options
|
||||
FEATURES
|
||||
cpp BUILD_CPP_BINDINGS
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${options}
|
||||
-DBUILD_TESTING=OFF
|
||||
-DBUILD_TESTING_INTEGRATION=OFF
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-mgclient)
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "mgclient",
|
||||
"version": "1.4.5",
|
||||
"description": "C/C++ Memgraph Client ",
|
||||
"homepage": "https://github.com/memgraph/mgclient",
|
||||
"license": "Apache-2.0",
|
||||
"supports": "!android",
|
||||
"dependencies": [
|
||||
"openssl",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"cpp": {
|
||||
"description": "build header only cpp bindings"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6316,6 +6316,10 @@
|
|||
"baseline": "1.35.1",
|
||||
"port-version": 5
|
||||
},
|
||||
"mgclient": {
|
||||
"baseline": "1.4.5",
|
||||
"port-version": 0
|
||||
},
|
||||
"mgnlibs": {
|
||||
"baseline": "2019-09-29",
|
||||
"port-version": 2
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "330e70cc5a8d26aa962c53ffb33716158bc269e3",
|
||||
"version": "1.4.5",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue