mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 04:34:07 +08:00
[klein] create a new port (#18279)
* [klein] new port * [klein] Replace version-string by version * [klein] Add call to vcpkg_fixup_pkgconfig() * [klein] Replace klein by ${PORT} * [klein] Add patch to avoid using FetchContent * [klein] Change version to version-date * update version * Apply suggestions from code review Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com> * Update git-tree version Co-authored-by: Jonliu1993 <13720414433@163.com> Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
This commit is contained in:
parent
b361c2eefa
commit
110c89fc6a
23
ports/klein/find_simde_first.patch
Normal file
23
ports/klein/find_simde_first.patch
Normal file
@ -0,0 +1,23 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c5d6f3f..a3ba161 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -29,16 +29,7 @@ endif()
|
||||
option(KLEIN_BUILD_SYM "Enable compilation of symbolic Klein utility" ON)
|
||||
option(KLEIN_BUILD_C_BINDINGS "Enable compilation of the Klein C bindings" ON)
|
||||
|
||||
-include(FetchContent)
|
||||
-FetchContent_Declare(
|
||||
- simde
|
||||
- GIT_REPOSITORY https://github.com/simd-everywhere/simde
|
||||
- GIT_TAG v0.7.2
|
||||
- GIT_SHALLOW ON
|
||||
-)
|
||||
-FetchContent_GetProperties(simde)
|
||||
-if(NOT simde_POPULATED)
|
||||
- FetchContent_Populate(simde)
|
||||
-endif()
|
||||
+find_path(SIMDE_INCLUDE_DIR "simde/x86/sse4.1.h" REQUIRED)
|
||||
+set(simde_SOURCE_DIR ${SIMDE_INCLUDE_DIR}/simde)
|
||||
|
||||
# The default platform and instruction set is x86 SSE3
|
29
ports/klein/portfile.cmake
Normal file
29
ports/klein/portfile.cmake
Normal file
@ -0,0 +1,29 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO jeremyong/klein
|
||||
REF 92023c6a946af84e716deb1488cad22048d3e08d
|
||||
SHA512 5d12ae143f07173992a6f9aa90539c4cb6c895a7169e5c086a10f78a31f7b2c9d64faf5ce1db014bd3badd92d24ff612dd2d2dc2f7508baac59307e3dccb6ebe
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
"find_simde_first.patch"
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
OPTIONS
|
||||
-DKLEIN_ENABLE_PERF=OFF
|
||||
-DKLEIN_ENABLE_TESTS=OFF
|
||||
-DKLEIN_VALIDATE=OFF
|
||||
-DKLEIN_BUILD_SYM=OFF
|
||||
-DKLEIN_BUILD_C_BINDINGS=OFF
|
||||
-DKLEIN_INSTALL=ON
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
|
||||
|
10
ports/klein/usage
Normal file
10
ports/klein/usage
Normal file
@ -0,0 +1,10 @@
|
||||
The package klein:x64-windows provides CMake targets:
|
||||
|
||||
find_package(klein CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE klein::klein)
|
||||
|
||||
# Or use the C++ 11 version
|
||||
target_link_libraries(main PRIVATE klein::klein_cxx11)
|
||||
|
||||
# Or use the SSE4.1 version
|
||||
target_link_libraries(main PRIVATE klein::klein_sse42)
|
16
ports/klein/vcpkg.json
Normal file
16
ports/klein/vcpkg.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "klein",
|
||||
"version-date": "2021-05-09",
|
||||
"description": "Klein is an implementation of P(R*_{3, 0, 1}), aka 3D Projective Geometric Algebra. It is designed for applications that demand high-throughput (animation libraries, kinematic solvers, etc).",
|
||||
"dependencies": [
|
||||
"simde",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
@ -2920,6 +2920,10 @@
|
||||
"baseline": "2020-03-30",
|
||||
"port-version": 0
|
||||
},
|
||||
"klein": {
|
||||
"baseline": "2021-05-09",
|
||||
"port-version": 0
|
||||
},
|
||||
"knet": {
|
||||
"baseline": "1.0.2",
|
||||
"port-version": 0
|
||||
|
9
versions/k-/klein.json
Normal file
9
versions/k-/klein.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "5a367eafd82860f61245c54f64306b35a9e0978c",
|
||||
"version-date": "2021-05-09",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user