[xsimd] Add new port (#5194)

* [xsimd] Add new port

* Add a header include guard to xsimd's algorithm.hpp

algorithm.hpp is not guarded by a header include guard, which can cause
difficulty for users. xhihaoy asked that we be sure to include this
patch because it caused a lot of pain.
This commit is contained in:
myd7349 2019-01-27 08:31:21 +08:00 committed by Codiferous
parent ebb2d1a44f
commit 65d866786a
3 changed files with 71 additions and 0 deletions

7
ports/xsimd/CONTROL Normal file
View File

@ -0,0 +1,7 @@
Source: xsimd
Version: 7.1.2
Description: Modern, portable C++ wrappers for SIMD intrinsics
Feature: xcomplex
Description: xtl complex support
Build-Depends: xtl

View File

@ -0,0 +1,24 @@
diff --git a/include/xsimd/stl/algorithms.hpp b/include/xsimd/stl/algorithms.hpp
index 4cb2b79..1590b89 100644
--- a/include/xsimd/stl/algorithms.hpp
+++ b/include/xsimd/stl/algorithms.hpp
@@ -6,6 +6,9 @@
* The full license is in the file LICENSE, distributed with this software. *
****************************************************************************/
+#ifndef XSIMD_ALGORITHMS_HPP
+#define XSIMD_ALGORITHMS_HPP
+
#include "xsimd/memory/xsimd_load_store.hpp"
namespace xsimd
@@ -126,4 +129,6 @@ namespace xsimd
#undef XSIMD_LOOP_MACRO
}
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file

View File

@ -0,0 +1,40 @@
# header-only library
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO QuantStack/xsimd
REF 7.1.2
SHA512 9479eb6188a68388d470e38ec7b08aaeeb03a1028a574258b52e1c39ce0b1b1aaf97a5cb898447f68c989badd23903ba7a059f5daf59160c660ba751d668c0eb
HEAD_REF master
PATCHES PatchHeaderIncludeGuard.patch
)
if("xcomplex" IN_LIST FEATURES)
set(ENABLE_XTL_COMPLEX ON)
else()
set(ENABLE_XTL_COMPLEX OFF)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DENABLE_FALLBACK=OFF
-DENABLE_XTL_COMPLEX=${ENABLE_XTL_COMPLEX}
-DBUILD_TESTS=OFF
-DDOWNLOAD_GTEST=OFF
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
# Handle copyright
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
# CMake integration test
vcpkg_test_cmake(PACKAGE_NAME ${PORT})