mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-29 11:41:36 +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