diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2019-09-11 22:11:14 +0200 |
|---|---|---|
| committer | Curtis J Bezault <curtbezault@gmail.com> | 2019-09-11 13:11:14 -0700 |
| commit | de9bb1d2027b478fea5686d798022c4d698d9e36 (patch) | |
| tree | 8561259861f1e2b25f5b3ad9e0ab2c2eeb2c1056 | |
| parent | 942371f44f1772bcb5f9279728b07dc72a4d0ae0 (diff) | |
| download | vcpkg-de9bb1d2027b478fea5686d798022c4d698d9e36.tar.gz vcpkg-de9bb1d2027b478fea5686d798022c4d698d9e36.zip | |
[vcl] add vector class library version 2 (#7573)
* [vcl] add vector class library version 2
* fix target path
* renamed library to vectorclass.
Improved CMakelists.txt.
Added early architecture failure
* don't perform changes in the source dir and make cxx_std_17 a build requirement
* update to tagged version 2.00.01
* update version in CMakeLists.txt
* refactored CMakeLists.txt
| -rw-r--r-- | ports/vectorclass/CMakeLists.txt | 24 | ||||
| -rw-r--r-- | ports/vectorclass/CONTROL | 4 | ||||
| -rw-r--r-- | ports/vectorclass/portfile.cmake | 24 |
3 files changed, 52 insertions, 0 deletions
diff --git a/ports/vectorclass/CMakeLists.txt b/ports/vectorclass/CMakeLists.txt new file mode 100644 index 000000000..54b83b267 --- /dev/null +++ b/ports/vectorclass/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.8.0)
+project(vectorclass VERSION 2.00.01 LANGUAGES CXX)
+
+add_library(${PROJECT_NAME} STATIC instrset_detect.cpp)
+
+target_include_directories(${PROJECT_NAME} INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:include/${PROJECT_NAME}>)
+
+target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17)
+
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
+ VERSION ${${PROJECT_NAME}_VERSION}
+ COMPATIBILITY SameMajorVersion)
+
+install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-config)
+install(
+ EXPORT ${PROJECT_NAME}-config DESTINATION lib/cmake/${PROJECT_NAME}
+ NAMESPACE ${PROJECT_NAME}::)
+install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
+ DESTINATION lib/cmake/${PROJECT_NAME})
+install(DIRECTORY . DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN *.h)
\ No newline at end of file diff --git a/ports/vectorclass/CONTROL b/ports/vectorclass/CONTROL new file mode 100644 index 000000000..cc3471358 --- /dev/null +++ b/ports/vectorclass/CONTROL @@ -0,0 +1,4 @@ +Source: vectorclass +Version: 2.00.01 +Homepage: https://github.com/vectorclass/version2 +Description: C++ class library for using the Single Instruction Multiple Data (SIMD) instructions in modern Microprocessors diff --git a/ports/vectorclass/portfile.cmake b/ports/vectorclass/portfile.cmake new file mode 100644 index 000000000..2ec273262 --- /dev/null +++ b/ports/vectorclass/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "arm64") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vectorclass/version2 + REF v2.00.01 + SHA512 2e1f714cf0e23cf7986f0e78b4c1eeab4da6434ac92449b81990931e19ae189df6fbbef50f11e9532a41dc6eaff0a4fea840349a3747621ff537bbd7519f2c3d + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Put the licence file where vcpkg expects it +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) |
