aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/torch-th
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/torch-th
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/torch-th')
-rw-r--r--vcpkg/ports/torch-th/debug.patch52
-rw-r--r--vcpkg/ports/torch-th/fix-arm64-osx-config.patch13
-rw-r--r--vcpkg/ports/torch-th/fix-cmake4.patch45
-rw-r--r--vcpkg/ports/torch-th/portfile.cmake31
-rw-r--r--vcpkg/ports/torch-th/vcpkg.json16
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
+ }
+ ]
+}