diff --git a/ports/caf/CONTROL b/ports/caf/CONTROL new file mode 100644 index 0000000000..3053fa95cc --- /dev/null +++ b/ports/caf/CONTROL @@ -0,0 +1,4 @@ +Source: caf +Version: 0.15.6 +Build-Depends: openssl +Description: an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more. diff --git a/ports/caf/openssl-version-override.patch b/ports/caf/openssl-version-override.patch new file mode 100644 index 0000000000..bccbd6ca45 --- /dev/null +++ b/ports/caf/openssl-version-override.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a7b75f7..794af1d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -545,6 +545,9 @@ if(NOT CAF_NO_OPENSSL) + message(STATUS + "Disable OpenSSL. Required >= 1.0.1 due to TLSv1.2 support.") + set(CAF_NO_OPENSSL yes) ++ elseif(CAF_OPENSSL_VERSION_OVERRIDE) ++ include_directories(BEFORE ${OPENSSL_INCLUDE_DIR}) ++ add_optional_caf_lib(openssl) + else() + # Check if openssl headers and library versions match + set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) diff --git a/ports/caf/portfile.cmake b/ports/caf/portfile.cmake new file mode 100644 index 0000000000..5f06c8d8ad --- /dev/null +++ b/ports/caf/portfile.cmake @@ -0,0 +1,48 @@ +include(vcpkg_common_functions) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_LIBRARY_LINKAGE "static") + message("CAF only supports static library linkage") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO actor-framework/actor-framework + REF 0.15.6 + SHA512 180ef1149fcbbe4532452cbe4509c177ecc3ae3971453505f6600b715be38b3c891ae7f83b8d368fcb20af037e4d6e94f7f750f477bd499d48316fe33fca511e + HEAD_REF master +) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES ${CMAKE_CURRENT_LIST_DIR}/openssl-version-override.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCAF_BUILD_STATIC=ON + -DCAF_BUILD_STATIC_ONLY=ON + -DCAF_NO_TOOLS=ON + -DCAF_NO_EXAMPLES=ON + -DCAF_NO_BENCHMARKS=ON + -DCAF_NO_UNIT_TESTS=ON + -DCAF_NO_PROTOBUF_EXAMPLES=ON + -DCAF_NO_QT_EXAMPLES=ON + -DCAF_NO_OPENCL=ON + -DCAF_NO_OPENSSL=OFF + -DCAF_NO_CURL_EXAMPLES=ON + -DCAF_OPENSSL_VERSION_OVERRIDE=ON +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL + ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/caf RENAME copyright) + +vcpkg_copy_pdbs()