From ebd2a374cfd53df58fed4a4da9d4e2051ff15e44 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 7 May 2019 01:11:03 +0800 Subject: [xeus] Update to 0.19.1 (#6320) * [xeus] Update to 0.19.1 * [xeus] Update usage --- ports/xeus/CONTROL | 4 +-- ports/xeus/portfile.cmake | 19 +++++++---- ports/xeus/static-lib.patch | 63 ------------------------------------ ports/xeus/usage | 2 +- ports/xeus/vcpkg-cmake-wrapper.cmake | 9 ++++++ 5 files changed, 25 insertions(+), 72 deletions(-) delete mode 100644 ports/xeus/static-lib.patch create mode 100644 ports/xeus/vcpkg-cmake-wrapper.cmake diff --git a/ports/xeus/CONTROL b/ports/xeus/CONTROL index f0581395c..3deb2ca48 100644 --- a/ports/xeus/CONTROL +++ b/ports/xeus/CONTROL @@ -1,4 +1,4 @@ Source: xeus -Version: 2019-02-13-1 +Version: 0.19.1-1 Description: C++ implementation of the Jupyter kernel protocol -Build-Depends: cppzmq, cryptopp, libuuid (linux), nlohmann-json, xtl, zeromq +Build-Depends: cppzmq, libuuid (linux), nlohmann-json, openssl, xtl, zeromq diff --git a/ports/xeus/portfile.cmake b/ports/xeus/portfile.cmake index 1ba0df8f7..ac1dcff01 100644 --- a/ports/xeus/portfile.cmake +++ b/ports/xeus/portfile.cmake @@ -3,28 +3,35 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO QuantStack/xeus - REF f78c60c7ce28baecb2479f2b82e4e8d1a6c35188 - SHA512 9d83f32f641bcad4ac96e263c465d46bdfa7d18d41f1e201309244c95587ce08ff2426f7cdd3a4399563d46064ed9bedd4d0babf4840f65e95c6a2c6f23ac9bb + REF 0.19.1 + SHA512 1f42cf3b5007fef957c259eee58bdc5d6b812dd32ca316823e33837d3802df0675f778a9c8f2fb97e9ff982c584229d3733e5894684e75498cc244e9c29df209 HEAD_REF master - PATCHES - static-lib.patch ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DBUILD_EXAMPLES=OFF + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} -DBUILD_TESTS=OFF -DDOWNLOAD_GTEST=OFF - -DXEUS_USE_SHARED_CRYPTOPP=OFF # `cryptopp` port currently only supports static linkage. -DDISABLE_ARCH_NATIVE=OFF ) vcpkg_install_cmake() +vcpkg_copy_pdbs() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share @@ -44,4 +51,4 @@ configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copy file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) # CMake integration test -#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/xeus/static-lib.patch b/ports/xeus/static-lib.patch deleted file mode 100644 index e9ab41f01..000000000 --- a/ports/xeus/static-lib.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 26118eb..ccda00b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -141,7 +141,12 @@ set(XEUS_SOURCES - # Output - # ====== - --add_library(xeus SHARED ${XEUS_SOURCES} ${XEUS_HEADERS}) -+option(BUILD_SHARED_LIBS "Build shared instead of static libraries." ON) -+if (BUILD_SHARED_LIBS) -+ add_library(xeus SHARED ${XEUS_SOURCES} ${XEUS_HEADERS}) -+else () -+ add_library(xeus STATIC ${XEUS_SOURCES} ${XEUS_HEADERS}) -+endif () - - if (APPLE) - set_target_properties(xeus PROPERTIES -@@ -166,9 +171,9 @@ target_link_libraries(xeus - - OPTION(XEUS_USE_SHARED_CRYPTOPP "Used shared library for cryptopp" OFF) - if (XEUS_USE_SHARED_CRYPTOPP) -- target_link_libraries(xeus PRIVATE cryptopp-shared) -+ target_link_libraries(xeus PUBLIC cryptopp-shared) - else () -- target_link_libraries(xeus PRIVATE cryptopp-static) -+ target_link_libraries(xeus PUBLIC cryptopp-static) - endif () - - if(NOT MSVC) -@@ -226,6 +231,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" - message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") - endif() - -+if (NOT BUILD_SHARED_LIBS) -+ target_compile_definitions(xeus PUBLIC XEUS_STATIC_LIB) -+endif () -+ - if(MSVC) - target_compile_definitions(xeus PUBLIC -DNOMINMAX) - target_compile_options(xeus PUBLIC /DGUID_WINDOWS /MP /bigobj) -diff --git a/include/xeus/xeus.hpp b/include/xeus/xeus.hpp -index 99e1d79..522bb78 100644 ---- a/include/xeus/xeus.hpp -+++ b/include/xeus/xeus.hpp -@@ -10,10 +10,14 @@ - #define XEUS_EXPORT_HPP - - #ifdef _WIN32 -- #ifdef XEUS_EXPORTS -- #define XEUS_API __declspec(dllexport) -+ #ifdef XEUS_STATIC_LIB -+ #define XEUS_API - #else -- #define XEUS_API __declspec(dllimport) -+ #ifdef XEUS_EXPORTS -+ #define XEUS_API __declspec(dllexport) -+ #else -+ #define XEUS_API __declspec(dllimport) -+ #endif - #endif - #else - #define XEUS_API diff --git a/ports/xeus/usage b/ports/xeus/usage index bac932eb9..1f959804e 100644 --- a/ports/xeus/usage +++ b/ports/xeus/usage @@ -1,4 +1,4 @@ The package xeus provides CMake targets: find_package(xeus CONFIG REQUIRED) - target_link_libraries(main PRIVATE xeus) + target_link_libraries(main PRIVATE xeus xeus_static) diff --git a/ports/xeus/vcpkg-cmake-wrapper.cmake b/ports/xeus/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..62a3cc765 --- /dev/null +++ b/ports/xeus/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET xeus AND NOT TARGET xeus_static) + add_library(xeus_static INTERFACE IMPORTED) + set_target_properties(xeus_static PROPERTIES INTERFACE_LINK_LIBRARIES xeus) +elseif(TARGET xeus_static AND NOT TARGET xeus) + add_library(xeus INTERFACE IMPORTED) + set_target_properties(xeus PROPERTIES INTERFACE_LINK_LIBRARIES xeus_static) +endif() -- cgit v1.2.3