[amqpcpp] Add new port (#5201)

* [amqpcpp] Add new port

* Force static linkage for amqpcpp

The documentation for this library says that shared linkage on Windows
is unsupported. Furthermore, the build currently errors out on Windows
because shared DLLs are not placed correctly.

vcpkg only supports static linkage on Linux and macOS, so I'm
categorically making amqpcpp build with static linkage on all platforms.
This unifies the platforms and gives consistent behavior
This commit is contained in:
Todor Prokopov 2019-01-27 02:28:29 +02:00 committed by Codiferous
parent bbb8efe794
commit ebb2d1a44f
3 changed files with 54 additions and 0 deletions

4
ports/amqpcpp/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: amqpcpp
Version: 4.1.2
Description: AMQP-CPP is a C++ library for communicating with a RabbitMQ message broker
Build-Depends: openssl (linux)

View File

@ -0,0 +1,16 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 645bb32..3ef5c4b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -89,6 +89,11 @@ else()
add_library(${PROJECT_NAME} STATIC ${src_MAIN} ${src_LINUX_TCP})
endif()
+if(AMQP-CPP_LINUX_TCP)
+ find_path(OPENSSL_INCLUDE_DIR openssl/ssl.h)
+ include_directories(${OPENSSL_INCLUDE_DIR})
+endif()
+
# install rules
# ------------------------------------------------------------------------------------------------------

View File

@ -0,0 +1,34 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CopernicaMarketingSoftware/AMQP-CPP
REF v4.1.2
SHA512 e2015d3958d434532591f9a304c625bdebb9bb075af1e2b684c9b8b061df8a2fd6a407200c802ad7b88ee954bcdad854f44a43512f76adf225addf145fc0fb44
HEAD_REF master
PATCHES
find-openssl.patch
)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(LINUX_TCP ON)
else()
set(LINUX_TCP OFF)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DAMQP-CPP_BUILD_SHARED=OFF
-DAMQP-CPP_LINUX_TCP=${LINUX_TCP}
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/amqpcpp RENAME copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)