Skip to content

Commit 8c67550

Browse files
daschuerdg0yt
andauthored
[sleef] Allow to crosscompile (microsoft#44319)
Co-authored-by: Kai Pastor <dg0yt@darc.de>
1 parent 0253f6e commit 8c67550

File tree

6 files changed

+48
-28
lines changed

6 files changed

+48
-28
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index 6f4f3e8..039e6fc 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -320,7 +320,11 @@ function(add_host_executable TARGETNAME)
6+
endif()
7+
else()
8+
add_executable(${TARGETNAME} IMPORTED GLOBAL)
9+
- set_property(TARGET ${TARGETNAME} PROPERTY IMPORTED_LOCATION ${NATIVE_BUILD_DIR}/bin/${TARGETNAME})
10+
+ if(CMAKE_HOST_WIN32)
11+
+ set_property(TARGET ${TARGETNAME} PROPERTY IMPORTED_LOCATION ${NATIVE_BUILD_DIR}/bin/${TARGETNAME}.exe)
12+
+ else()
13+
+ set_property(TARGET ${TARGETNAME} PROPERTY IMPORTED_LOCATION ${NATIVE_BUILD_DIR}/bin/${TARGETNAME})
14+
+ endif()
15+
endif()
16+
endfunction()
17+
18+
--
19+
2.34.1
20+

ports/sleef/portfile.cmake

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,15 @@ vcpkg_from_github(
44
REF ${VERSION}
55
SHA512 218b4e7e2eeb1f9b45e56c2fbb46062480480c55f49b6b0d138d910374e7791c7dd909b964fbf9e2e984a896a3b162eb5aabaaa770692e1db440627e7ad07945
66
HEAD_REF master
7+
PATCHES
8+
0001-Add-missing-exe-suffix-for-host-executables.patch
79
)
810

11+
set(CROSSCOMP_OPTIONS "")
12+
if(VCPKG_CROSSCOMPILING)
13+
set(CROSSCOMP_OPTIONS "-DNATIVE_BUILD_DIR=${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}")
14+
endif()
15+
916
vcpkg_cmake_configure(
1017
SOURCE_PATH "${SOURCE_PATH}"
1118
OPTIONS
@@ -14,37 +21,21 @@ vcpkg_cmake_configure(
1421
-DSLEEF_BUILD_QUAD=ON
1522
-DSLEEF_BUILD_GNUABI_LIBS=${VCPKG_TARGET_IS_LINUX}
1623
-DSLEEF_BUILD_TESTS=OFF
17-
-DSLEEF_BUILD_INLINE_HEADERS=OFF
24+
${CROSSCOMP_OPTIONS}
1825
)
1926

2027
vcpkg_cmake_install()
21-
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sleef)
2228
vcpkg_copy_pdbs()
29+
if(NOT VCPKG_CROSSCOMPILING)
30+
vcpkg_copy_tools(
31+
TOOL_NAMES mkrename qmkrename mkalias mkdispatch mkdisp qmkdisp mkunroll
32+
SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin"
33+
DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}/bin"
34+
AUTO_CLEAN)
35+
endif()
36+
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sleef)
2337
vcpkg_fixup_pkgconfig()
2438

2539
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
2640
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
2741

28-
# Install DLL and PDB files
29-
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
30-
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
31-
if(VCPKG_TARGET_IS_WINDOWS)
32-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleef.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
33-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleef.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
34-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefdft.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
35-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefdft.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
36-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefquad.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
37-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefquad.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
38-
endif()
39-
endif()
40-
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
41-
if(VCPKG_TARGET_IS_WINDOWS)
42-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleef.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
43-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleef.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
44-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefdft.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
45-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefdft.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
46-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefquad.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
47-
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefquad.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
48-
endif()
49-
endif()
50-
endif()

ports/sleef/vcpkg.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
{
22
"name": "sleef",
33
"version": "3.8",
4+
"port-version": 1,
45
"description": "SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT",
56
"homepage": "https://sleef.org/",
67
"license": "BSL-1.0",
7-
"supports": "!uwp & !(arm & windows) & !(arm64 & osx)",
8+
"supports": "!(arm & windows)",
89
"dependencies": [
10+
{
11+
"name": "sleef",
12+
"host": true
13+
},
914
{
1015
"name": "vcpkg-cmake",
1116
"host": true

scripts/ci.baseline.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,6 @@ sjpeg:arm64-android=fail
10441044
sjpeg:x64-android=fail
10451045
sleef:arm-neon-android=fail
10461046
sleef:arm64-android=fail
1047-
sleef:x64-android=fail
10481047
sleef:x86-windows=fail
10491048
slikenet:arm-neon-android=fail
10501049
slikenet:arm64-android=fail

versions/baseline.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8582,7 +8582,7 @@
85828582
},
85838583
"sleef": {
85848584
"baseline": "3.8",
8585-
"port-version": 0
8585+
"port-version": 1
85868586
},
85878587
"sleepy-discord": {
85888588
"baseline": "2025-02-08",

versions/s-/sleef.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"versions": [
3+
{
4+
"git-tree": "2cdaa4e9420352cd81759a054a7a19ec1200b336",
5+
"version": "3.8",
6+
"port-version": 1
7+
},
38
{
49
"git-tree": "c89d656c909c14f1fc6acacfe75c13231d88bcea",
510
"version": "3.8",

0 commit comments

Comments
 (0)