mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-30 20:59:12 +08:00
[stxxl] Add new port (#5254)
* [stxxl] Add new port * [stxxl] Fix missing include directory exporting * [stxxl] Fix STXXL_INCLUDE_DIRS
This commit is contained in:
commit
473dac7265
3
ports/stxxl/CONTROL
Normal file
3
ports/stxxl/CONTROL
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Source: stxxl
|
||||||
|
Version: 2018-11-15
|
||||||
|
Description: Standard Template Library for Extra Large Data Sets
|
31
ports/stxxl/fix-include-dir.patch
Normal file
31
ports/stxxl/fix-include-dir.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
||||||
|
index 06f9e50a..281e1f04 100644
|
||||||
|
--- a/lib/CMakeLists.txt
|
||||||
|
+++ b/lib/CMakeLists.txt
|
||||||
|
@@ -94,6 +94,8 @@ if(BUILD_SHARED_LIBS)
|
||||||
|
add_library(stxxl SHARED ${LIBSTXXL_SOURCES})
|
||||||
|
set_target_properties(stxxl PROPERTIES OUTPUT_NAME "${STXXL_LIBNAME}")
|
||||||
|
set_target_properties(stxxl PROPERTIES VERSION "${STXXL_VERSION_STRING}")
|
||||||
|
+ target_include_directories(stxxl PUBLIC $<INSTALL_INTERFACE:include>)
|
||||||
|
+
|
||||||
|
install(TARGETS stxxl
|
||||||
|
EXPORT stxxl-targets
|
||||||
|
ARCHIVE DESTINATION ${INSTALL_LIB_DIR}
|
||||||
|
@@ -104,6 +106,8 @@ if(BUILD_SHARED_LIBS)
|
||||||
|
add_library(stxxl_static STATIC ${LIBSTXXL_SOURCES})
|
||||||
|
set_target_properties(stxxl_static PROPERTIES OUTPUT_NAME "${STXXL_LIBNAME}")
|
||||||
|
set_target_properties(stxxl_static PROPERTIES VERSION "${STXXL_VERSION_STRING}")
|
||||||
|
+ target_include_directories(stxxl_static PUBLIC $<INSTALL_INTERFACE:include>)
|
||||||
|
+
|
||||||
|
install(TARGETS stxxl_static
|
||||||
|
EXPORT stxxl-targets
|
||||||
|
ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
|
||||||
|
@@ -122,6 +126,8 @@ else()
|
||||||
|
add_library(stxxl STATIC ${LIBSTXXL_SOURCES})
|
||||||
|
set_target_properties(stxxl PROPERTIES OUTPUT_NAME "${STXXL_LIBNAME}")
|
||||||
|
set_target_properties(stxxl PROPERTIES VERSION "${STXXL_VERSION_STRING}")
|
||||||
|
+ target_include_directories(stxxl PUBLIC $<INSTALL_INTERFACE:include>)
|
||||||
|
+
|
||||||
|
install(TARGETS stxxl
|
||||||
|
EXPORT stxxl-targets
|
||||||
|
ARCHIVE DESTINATION ${INSTALL_LIB_DIR}
|
76
ports/stxxl/portfile.cmake
Normal file
76
ports/stxxl/portfile.cmake
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
include(vcpkg_common_functions)
|
||||||
|
|
||||||
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||||
|
message("stxxl currently only supports static library linkage.")
|
||||||
|
set(VCPKG_LIBRARY_LINKAGE static)
|
||||||
|
set(VCPKG_CRT_LINKAGE static)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
vcpkg_from_github(
|
||||||
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
|
REPO stxxl/stxxl
|
||||||
|
REF b9e44f0ecba7d7111fbb33f3330c3e53f2b75236
|
||||||
|
SHA512 800a8fb95b52b21256cecb848f95645c54851f4dc070e0cd64fb5009f7663c0c962a24ca3f246e54d6d45e81a5c734309268d7ea6f0b0987336a50a3dcb99616
|
||||||
|
HEAD_REF master
|
||||||
|
PATCHES
|
||||||
|
# This patch can be removed when stxxl/stxxl/#95 is accepted
|
||||||
|
fix-include-dir.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_configure_cmake(
|
||||||
|
SOURCE_PATH ${SOURCE_PATH}
|
||||||
|
OPTIONS
|
||||||
|
-DBUILD_STATIC_LIBS=ON
|
||||||
|
-DBUILD_EXAMPLES=OFF
|
||||||
|
-DBUILD_TESTS=OFF
|
||||||
|
-DBUILD_EXTRAS=OFF
|
||||||
|
-DUSE_BOOST=OFF
|
||||||
|
-DTRY_COMPILE_HEADERS=OFF
|
||||||
|
-DUSE_STD_THREADS=ON
|
||||||
|
-DNO_CXX11=OFF
|
||||||
|
-DUSE_VALGRIND=OFF
|
||||||
|
-DUSE_MALLOC_COUNT=OFF
|
||||||
|
-DUSE_GCOV=OFF
|
||||||
|
-DUSE_TPIE=OFF
|
||||||
|
OPTIONS_DEBUG
|
||||||
|
-DSTXXL_DEBUG_ASSERTIONS=ON
|
||||||
|
OPTIONS_RELEASE
|
||||||
|
-DSTXXL_DEBUG_ASSERTIONS=OFF
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_install_cmake()
|
||||||
|
|
||||||
|
if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake)
|
||||||
|
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
|
||||||
|
endif()
|
||||||
|
if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT})
|
||||||
|
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
vcpkg_replace_string(
|
||||||
|
${CURRENT_PACKAGES_DIR}/share/${PORT}/stxxl-config.cmake
|
||||||
|
"\${STXXL_CMAKE_DIR}/../include"
|
||||||
|
"\${STXXL_CMAKE_DIR}/../../include"
|
||||||
|
)
|
||||||
|
|
||||||
|
if(CMAKE_HOST_WIN32)
|
||||||
|
set(EXECUTABLE_SUFFIX ".exe")
|
||||||
|
else()
|
||||||
|
set(EXECUTABLE_SUFFIX "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/stxxl_tool${EXECUTABLE_SUFFIX}
|
||||||
|
DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
|
||||||
|
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
|
||||||
|
|
||||||
|
file(REMOVE_RECURSE
|
||||||
|
${CURRENT_PACKAGES_DIR}/debug/include
|
||||||
|
${CURRENT_PACKAGES_DIR}/debug/bin
|
||||||
|
${CURRENT_PACKAGES_DIR}/debug/share
|
||||||
|
${CURRENT_PACKAGES_DIR}/bin
|
||||||
|
)
|
||||||
|
|
||||||
|
# Handle copyright
|
||||||
|
configure_file(${SOURCE_PATH}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
|
||||||
|
|
||||||
|
vcpkg_copy_pdbs()
|
Loading…
x
Reference in New Issue
Block a user