diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/torch-th | |
Diffstat (limited to 'vcpkg/ports/torch-th')
| -rw-r--r-- | vcpkg/ports/torch-th/debug.patch | 52 | ||||
| -rw-r--r-- | vcpkg/ports/torch-th/fix-arm64-osx-config.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/torch-th/fix-cmake4.patch | 45 | ||||
| -rw-r--r-- | vcpkg/ports/torch-th/portfile.cmake | 31 | ||||
| -rw-r--r-- | vcpkg/ports/torch-th/vcpkg.json | 16 |
5 files changed, 157 insertions, 0 deletions
diff --git a/vcpkg/ports/torch-th/debug.patch b/vcpkg/ports/torch-th/debug.patch new file mode 100644 index 0000000..2a15e84 --- /dev/null +++ b/vcpkg/ports/torch-th/debug.patch @@ -0,0 +1,52 @@ +diff --git a/lib/TH/CMakeLists.txt b/lib/TH/CMakeLists.txt +index 803dfe1..7db876b 100644 +--- a/lib/TH/CMakeLists.txt ++++ b/lib/TH/CMakeLists.txt +@@ -221,7 +221,13 @@ ENDIF(C_AVX2_FOUND OR C_AVX_FOUND OR C_SSE4_2_FOUND OR C_SSE4_1_FOUND) + IF(C_SSE4_1_FOUND AND C_SSE4_2_FOUND) + SET(CMAKE_C_FLAGS "${C_SSE4_1_FLAGS} -DUSE_SSE4_1 ${C_SSE4_2_FLAGS} -DUSE_SSE4_2 ${CMAKE_C_FLAGS}") + IF(MSVC) +- SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_sse.c PROPERTIES COMPILE_FLAGS "/Ox /fp:fast") ++ IF(CMAKE_BUILD_TYPE STREQUAL Release) ++ SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_sse.c PROPERTIES COMPILE_FLAGS "/Ox /fp:fast") ++ MESSAGE(STATUS "Release mode. Found SSE4_1 and SSE4_2.") ++ ELSE() ++ SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_sse.c PROPERTIES COMPILE_FLAGS "/fp:fast") ++ MESSAGE(STATUS "Non-release mode. Found SSE4_1 and SSE4_2.") ++ ENDIF() + ELSE(MSVC) + SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_sse.c PROPERTIES COMPILE_FLAGS "-O3 -ffast-math") + ENDIF(MSVC) +@@ -231,8 +237,15 @@ ENDIF(C_SSE4_1_FOUND AND C_SSE4_2_FOUND) + # IF AVX FOUND + IF(C_AVX_FOUND) + IF(MSVC) +- SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_avx.c PROPERTIES COMPILE_FLAGS "/Ox /fp:fast ${C_AVX_FLAGS}") +- SET_SOURCE_FILES_PROPERTIES(vector/AVX.c PROPERTIES COMPILE_FLAGS "/Ox /arch:AVX ${C_AVX_FLAGS}") ++ IF(CMAKE_BUILD_TYPE STREQUAL Release) ++ SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_avx.c PROPERTIES COMPILE_FLAGS "/Ox /fp:fast ${C_AVX_FLAGS}") ++ SET_SOURCE_FILES_PROPERTIES(vector/AVX.c PROPERTIES COMPILE_FLAGS "/Ox /arch:AVX ${C_AVX_FLAGS}") ++ MESSAGE(STATUS "Release mode. Found AVX.") ++ ELSE() ++ SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_avx.c PROPERTIES COMPILE_FLAGS "/fp:fast ${C_AVX_FLAGS}") ++ SET_SOURCE_FILES_PROPERTIES(vector/AVX.c PROPERTIES COMPILE_FLAGS "/arch:AVX ${C_AVX_FLAGS}") ++ MESSAGE(STATUS "Non-release mode. Found AVX.") ++ ENDIF() + ELSE(MSVC) + SET_SOURCE_FILES_PROPERTIES(generic/simd/convolve5x5_avx.c PROPERTIES COMPILE_FLAGS "-O3 -ffast-math ${C_AVX_FLAGS}") + SET_SOURCE_FILES_PROPERTIES(vector/AVX.c PROPERTIES COMPILE_FLAGS "-O3 ${C_AVX_FLAGS}") +@@ -242,7 +255,13 @@ ENDIF(C_AVX_FOUND) + + IF(C_AVX2_FOUND) + IF(MSVC) +- SET_SOURCE_FILES_PROPERTIES(vector/AVX2.c PROPERTIES COMPILE_FLAGS "/Ox /arch:AVX2 ${C_AVX2_FLAGS}") ++ IF(CMAKE_BUILD_TYPE STREQUAL Release) ++ SET_SOURCE_FILES_PROPERTIES(vector/AVX2.c PROPERTIES COMPILE_FLAGS "/Ox /arch:AVX2 ${C_AVX2_FLAGS}") ++ MESSAGE(STATUS "Release mode. Found AVX2.") ++ ELSE() ++ SET_SOURCE_FILES_PROPERTIES(vector/AVX2.c PROPERTIES COMPILE_FLAGS "/arch:AVX2 ${C_AVX2_FLAGS}") ++ MESSAGE(STATUS "Non-release mode. Found AVX2.") ++ ENDIF() + ELSE(MSVC) + SET_SOURCE_FILES_PROPERTIES(vector/AVX2.c PROPERTIES COMPILE_FLAGS "-O3 ${C_AVX2_FLAGS}") + ENDIF(MSVC) diff --git a/vcpkg/ports/torch-th/fix-arm64-osx-config.patch b/vcpkg/ports/torch-th/fix-arm64-osx-config.patch new file mode 100644 index 0000000..de6b001 --- /dev/null +++ b/vcpkg/ports/torch-th/fix-arm64-osx-config.patch @@ -0,0 +1,13 @@ +diff --git a/lib/TH/cmake/FindARM.cmake b/lib/TH/cmake/FindARM.cmake +index 2dcb2a2..9d68601 100644 +--- a/lib/TH/cmake/FindARM.cmake ++++ b/lib/TH/cmake/FindARM.cmake +@@ -45,7 +45,7 @@ ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin") + CPUINFO) + + #neon instruction can be found on the majority part of modern ARM processor +- STRING(REGEX REPLACE "^.*(neon).*$" "\\1" NEON_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(neon).*$" "\\1" NEON_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "neon" "${NEON_THERE}" NEON_TRUE) + IF (NEON_TRUE) + set(NEON_FOUND true CACHE BOOL "NEON available on host") diff --git a/vcpkg/ports/torch-th/fix-cmake4.patch b/vcpkg/ports/torch-th/fix-cmake4.patch new file mode 100644 index 0000000..e3f9e1b --- /dev/null +++ b/vcpkg/ports/torch-th/fix-cmake4.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f3d1d4785d..e17b084ad2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,10 +1,4 @@ +-IF(APPLE) +- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) +- CMAKE_POLICY(VERSION 2.8.12) +-ELSE() +- CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) +- CMAKE_POLICY(VERSION 2.8) +-ENDIF() ++CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) + + SET(CMAKE_MODULE_PATH + "${CMAKE_CURRENT_SOURCE_DIR}/cmake" +diff --git a/lib/TH/CMakeLists.txt b/lib/TH/CMakeLists.txt +index 7db876be41..66b5f49d84 100644 +--- a/lib/TH/CMakeLists.txt ++++ b/lib/TH/CMakeLists.txt +@@ -1,10 +1,5 @@ + cmake_minimum_required(VERSION 2.6) + +-# avoid some cmake warnings +-IF(POLICY CMP0026) +- CMAKE_POLICY(SET CMP0026 OLD) +-ENDIF() +- + SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) + SET(CMAKE_LIBRARY_PATH /usr/lib/x86_64-linux-gnu/ ${CMAKE_LIBRARY_PATH}) + +@@ -497,10 +492,11 @@ IF (BLAS_FOUND AND BLAS_INSTALL_LIBRARIES) + ENDIF() + + # Create THConfig.cmake ++if(0) +-GET_TARGET_PROPERTY(TH_OUTPUT_NAME TH LOCATION) + GET_FILENAME_COMPONENT(TH_OUTPUT_NAME ${TH_OUTPUT_NAME} NAME) + SET(TH_LIBRARIES "${CMAKE_INSTALL_PREFIX}/${TH_INSTALL_LIB_SUBDIR}/${TH_OUTPUT_NAME}") + SET(TH_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${TH_INSTALL_INCLUDE_SUBDIR}/TH") + CONFIGURE_FILE(THConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/cmake-exports/THConfig.cmake") + INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake-exports/THConfig.cmake" + DESTINATION "${TH_INSTALL_CMAKE_SUBDIR}") ++endif() +\ No newline at end of file diff --git a/vcpkg/ports/torch-th/portfile.cmake b/vcpkg/ports/torch-th/portfile.cmake new file mode 100644 index 0000000..3e65e56 --- /dev/null +++ b/vcpkg/ports/torch-th/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO torch/torch7 + REF dde9e56fb61eee040d7f3dba2331c6d6c095aee8 + SHA512 ef813e6f583f26019da362be1e5d9886ecf3306a2b41e5f7a73d432872eacd2745e0cf26bfcc691452f87611e02e302c54f07b2f3a3288744535e57d154a73db + HEAD_REF master + PATCHES + debug.patch + fix-arm64-osx-config.patch + fix-cmake4.patch # Note: The portfile currently deletes all cmake files +) + +file(REMOVE "${SOURCE_PATH}/lib/TH/cmake/FindBLAS.cmake") +file(REMOVE "${SOURCE_PATH}/lib/TH/cmake/FindLAPACK.cmake") +file(REMOVE "${SOURCE_PATH}/lib/TH/cmake/FindMKL.cmake") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/lib/TH" + OPTIONS + -DWITH_OPENMP=OFF +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/cmake") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${SOURCE_PATH}/COPYRIGHT.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/torch-th" RENAME copyright) diff --git a/vcpkg/ports/torch-th/vcpkg.json b/vcpkg/ports/torch-th/vcpkg.json new file mode 100644 index 0000000..5d545ff --- /dev/null +++ b/vcpkg/ports/torch-th/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "torch-th", + "version-date": "2019-04-19", + "port-version": 6, + "description": "Torch's TH library", + "homepage": "https://github.com/torch/torch7", + "license": "BSD-3-Clause", + "dependencies": [ + "blas", + "lapack", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} |