aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Popivanov <ivan.popivanov@gmail.com>2018-02-06 16:53:15 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-02-06 16:53:15 -0800
commit03037c40f79bb8ee2d4d6d9bfa46da30c221876a (patch)
tree3cdda442a04c956d25d0f307ec7d22e987f7a769
parentfdac3f0639ada2c9f0deb198cbb7cebd24e9435e (diff)
downloadvcpkg-03037c40f79bb8ee2d4d6d9bfa46da30c221876a.tar.gz
vcpkg-03037c40f79bb8ee2d4d6d9bfa46da30c221876a.zip
Adding Torch's TH library (#2737)
Adding Torch's TH library
-rw-r--r--ports/torch-th/CONTROL3
-rw-r--r--ports/torch-th/debug.patch52
-rw-r--r--ports/torch-th/portfile.cmake29
3 files changed, 84 insertions, 0 deletions
diff --git a/ports/torch-th/CONTROL b/ports/torch-th/CONTROL
new file mode 100644
index 000000000..1ff2e2ff4
--- /dev/null
+++ b/ports/torch-th/CONTROL
@@ -0,0 +1,3 @@
+Source: torch-th
+Version: 20180131-89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8-1
+Description: Torch's TH library
diff --git a/ports/torch-th/debug.patch b/ports/torch-th/debug.patch
new file mode 100644
index 000000000..2a15e84d0
--- /dev/null
+++ b/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/ports/torch-th/portfile.cmake b/ports/torch-th/portfile.cmake
new file mode 100644
index 000000000..7dca19ca6
--- /dev/null
+++ b/ports/torch-th/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO torch/torch7
+ REF 89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8
+ SHA512 0b28762768129f5e59e24d505e271418bb4513db0e99acb293f01095949700711116463b299fe42d65ca07c1f0a9f6d0d1d72e21275a2825a4a9fb0197525e72
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/debug.patch"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/lib/TH
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ OPTIONS
+ -DWITH_OPENMP=OFF
+)
+
+vcpkg_install_cmake()
+
+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)