diff options
| -rw-r--r-- | ports/xeus/CONTROL | 4 | ||||
| -rw-r--r-- | ports/xeus/portfile.cmake | 19 | ||||
| -rw-r--r-- | ports/xeus/static-lib.patch | 63 | ||||
| -rw-r--r-- | ports/xeus/usage | 2 | ||||
| -rw-r--r-- | ports/xeus/vcpkg-cmake-wrapper.cmake | 9 |
5 files changed, 25 insertions, 72 deletions
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()
|
