aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/nvtt
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/nvtt
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/nvtt')
-rw-r--r--vcpkg/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch16
-rw-r--r--vcpkg/ports/nvtt/add-compile-options-for-osx.patch15
-rw-r--r--vcpkg/ports/nvtt/bc6h.patch13
-rw-r--r--vcpkg/ports/nvtt/bc7.patch14
-rw-r--r--vcpkg/ports/nvtt/fix-build-error.patch47
-rw-r--r--vcpkg/ports/nvtt/fix-intrinsic-function.patch19
-rw-r--r--vcpkg/ports/nvtt/fix-release-flags.patch15
-rw-r--r--vcpkg/ports/nvtt/portfile.cmake51
-rw-r--r--vcpkg/ports/nvtt/skip-building-libsquish.patch13
-rw-r--r--vcpkg/ports/nvtt/squish.patch14
-rw-r--r--vcpkg/ports/nvtt/vcpkg.json24
11 files changed, 241 insertions, 0 deletions
diff --git a/vcpkg/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch b/vcpkg/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch
new file mode 100644
index 0000000..366cff8
--- /dev/null
+++ b/vcpkg/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch
@@ -0,0 +1,16 @@
+diff --git a/src/nvconfig.h.in b/src/nvconfig.h.in
+index 16da646..ada6be0 100644
+--- a/src/nvconfig.h.in
++++ b/src/nvconfig.h.in
+@@ -1,7 +1,11 @@
+ #ifndef NV_CONFIG
+ #define NV_CONFIG
+
++#if NV_OS_DARWIN & !NV_OS_IOS
++#cmakedefine01 HAVE_UNISTD_H
++#else
+ #cmakedefine HAVE_UNISTD_H
++#endif
+ #cmakedefine HAVE_STDARG_H
+ #cmakedefine HAVE_SIGNAL_H
+ #cmakedefine HAVE_EXECINFO_H
diff --git a/vcpkg/ports/nvtt/add-compile-options-for-osx.patch b/vcpkg/ports/nvtt/add-compile-options-for-osx.patch
new file mode 100644
index 0000000..6b7d945
--- /dev/null
+++ b/vcpkg/ports/nvtt/add-compile-options-for-osx.patch
@@ -0,0 +1,15 @@
+diff --git a/src/nvtt/CMakeLists.txt b/src/nvtt/CMakeLists.txt
+index 9688c9c..42942c0 100644
+--- a/src/nvtt/CMakeLists.txt
++++ b/src/nvtt/CMakeLists.txt
+@@ -47,6 +47,10 @@ ADD_DEFINITIONS(-DNVTT_EXPORTS)
+ #ADD_DEFINITIONS(-DHAVE_RGETC)
+ #ADD_DEFINITIONS(-DHAVE_ETCPACK)
+
++if(APPLE)
++ add_compile_options(-mbmi2 -mfma)
++endif()
++
+ IF(NVTT_SHARED)
+ ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS})
+ ELSE(NVTT_SHARED)
diff --git a/vcpkg/ports/nvtt/bc6h.patch b/vcpkg/ports/nvtt/bc6h.patch
new file mode 100644
index 0000000..8d3339e
--- /dev/null
+++ b/vcpkg/ports/nvtt/bc6h.patch
@@ -0,0 +1,13 @@
+diff --git a/src/bc6h/CMakeLists.txt b/src/bc6h/CMakeLists.txt
+index fd75e74..b392d90 100644
+--- a/src/bc6h/CMakeLists.txt
++++ b/src/bc6h/CMakeLists.txt
+@@ -15,3 +15,8 @@ SET(BC6H_SRCS
+
+ ADD_LIBRARY(bc6h STATIC ${BC6H_SRCS})
+ TARGET_LINK_LIBRARIES(bc6h nvcore nvmath)
++
++INSTALL(TARGETS bc6h
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib/static)
diff --git a/vcpkg/ports/nvtt/bc7.patch b/vcpkg/ports/nvtt/bc7.patch
new file mode 100644
index 0000000..5c644fe
--- /dev/null
+++ b/vcpkg/ports/nvtt/bc7.patch
@@ -0,0 +1,14 @@
+diff --git a/src/bc7/CMakeLists.txt b/src/bc7/CMakeLists.txt
+index 566fe1f..d0d4e8a 100644
+--- a/src/bc7/CMakeLists.txt
++++ b/src/bc7/CMakeLists.txt
+@@ -23,3 +23,8 @@ SET(BC7_SRCS
+
+ ADD_LIBRARY(bc7 STATIC ${BC7_SRCS})
+ TARGET_LINK_LIBRARIES(bc7 nvcore nvmath)
++
++INSTALL(TARGETS bc7
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib/static)
+\ No newline at end of file
diff --git a/vcpkg/ports/nvtt/fix-build-error.patch b/vcpkg/ports/nvtt/fix-build-error.patch
new file mode 100644
index 0000000..5274efa
--- /dev/null
+++ b/vcpkg/ports/nvtt/fix-build-error.patch
@@ -0,0 +1,47 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 668cd7e..72d6e61 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,9 +7,17 @@ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${NV_CMAKE_DIR}")
+
+ # Compiler check (needs -std:c++11 flag)
+ include(CheckCXXCompilerFlag)
++if(MSVC)
++CHECK_CXX_COMPILER_FLAG("/std:c++14" COMPILER_SUPPORTS_CXX14)
++else()
+ CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
+-if(COMPILER_SUPPORTS_CXX11)
++endif()
++if(COMPILER_SUPPORTS_CXX11 OR COMPILER_SUPPORTS_CXX14)
++ if(COMPILER_SUPPORTS_CXX11)
+ set(CMAKE_CXX_STANDARD 11)
++ else()
++ set(CMAKE_CXX_STANDARD 14)
++ endif()
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ else()
+diff --git a/extern/CMP_Core/source/cmp_math_func.h b/extern/CMP_Core/source/cmp_math_func.h
+index c2f8908..b652497 100644
+--- a/extern/CMP_Core/source/cmp_math_func.h
++++ b/extern/CMP_Core/source/cmp_math_func.h
+@@ -32,6 +32,7 @@
+ // Core API which have have GPU equivalents, defined here for HPC_CPU usage
+ //============================================================================
+
++#include <cmath>
+ #include <algorithm>
+ using namespace std;
+
+diff --git a/src/nvtt/CMakeLists.txt b/src/nvtt/CMakeLists.txt
+index 8285f99..9688c9c 100644
+--- a/src/nvtt/CMakeLists.txt
++++ b/src/nvtt/CMakeLists.txt
+@@ -63,5 +63,5 @@ INSTALL(TARGETS nvtt
+ INSTALL(FILES nvtt.h nvtt_wrapper.h DESTINATION include/nvtt)
+
+
+-ADD_SUBDIRECTORY(tools)
+-ADD_SUBDIRECTORY(tests)
++#ADD_SUBDIRECTORY(tools)
++#ADD_SUBDIRECTORY(tests)
diff --git a/vcpkg/ports/nvtt/fix-intrinsic-function.patch b/vcpkg/ports/nvtt/fix-intrinsic-function.patch
new file mode 100644
index 0000000..397e816
--- /dev/null
+++ b/vcpkg/ports/nvtt/fix-intrinsic-function.patch
@@ -0,0 +1,19 @@
+diff --git a/src/nvmath/nvmath.h b/src/nvmath/nvmath.h
+index 38532eb..e68d8f8 100644
+--- a/src/nvmath/nvmath.h
++++ b/src/nvmath/nvmath.h
+@@ -118,12 +118,12 @@ inline float asinf_assert(const float f)
+ #endif
+
+ #if NV_CC_MSVC
+-NV_FORCEINLINE float log2f(float x)
++NV_FORCEINLINE float nv_log2f(float x)
+ {
+ nvCheck(x >= 0);
+ return logf(x) / logf(2.0f);
+ }
+-NV_FORCEINLINE float exp2f(float x)
++NV_FORCEINLINE float nv_exp2f(float x)
+ {
+ return powf(2.0f, x);
+ }
diff --git a/vcpkg/ports/nvtt/fix-release-flags.patch b/vcpkg/ports/nvtt/fix-release-flags.patch
new file mode 100644
index 0000000..04263e0
--- /dev/null
+++ b/vcpkg/ports/nvtt/fix-release-flags.patch
@@ -0,0 +1,15 @@
+diff --git a/cmake/OptimalOptions.cmake b/cmake/OptimalOptions.cmake
+index e4d5c56..eba8624 100644
+--- a/cmake/OptimalOptions.cmake
++++ b/cmake/OptimalOptions.cmake
+@@ -11,8 +11,8 @@ IF(MSVC)
+ # SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2 /fp:fast")
+
+ # Optimization flags.
+- SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} /O2 /Ob2 /Oi /Ot /Oy /GL")
+- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /O2 /Ob2 /Oi /Ot /Oy /GL")
++ SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /Oy /GL")
++ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /Oy /GL")
+ SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
+ SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
+ SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
diff --git a/vcpkg/ports/nvtt/portfile.cmake b/vcpkg/ports/nvtt/portfile.cmake
new file mode 100644
index 0000000..34b7d0a
--- /dev/null
+++ b/vcpkg/ports/nvtt/portfile.cmake
@@ -0,0 +1,51 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO castano/nvidia-texture-tools
+ REF b1a90f36013522b9e5a3a2197859b72188752e3f # 2.1.2
+ SHA512 13cf04a9856f150f7569c8c256c42fc6a5bc40586c9ca2b3ae553edf5bfcbccbba5b8538924079ed35effdd07b9e3ef4bfdb9733a2ec51f5a95f958885cc6cca
+ HEAD_REF master
+ PATCHES
+ 001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch
+ bc6h.patch
+ bc7.patch
+ squish.patch
+ fix-build-error.patch
+ add-compile-options-for-osx.patch
+ skip-building-libsquish.patch
+ fix-intrinsic-function.patch
+ fix-release-flags.patch
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ cuda CMAKE_REQUIRE_FIND_PACKAGE_CUDA
+ INVERTED_FEATURES
+ cuda CMAKE_DISABLE_FIND_PACKAGE_CUDA
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DNVTT_SHARED=0
+ ${FEATURE_OPTIONS}
+ OPTIONS_DEBUG
+ -DCMAKE_DEBUG_POSTFIX=_d # required by OSG
+)
+
+vcpkg_cmake_install()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+# Handle copyright
+file(REMOVE "${CURRENT_PACKAGES_DIR}/share/doc/nvtt/LICENSE")
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/nvtt/skip-building-libsquish.patch b/vcpkg/ports/nvtt/skip-building-libsquish.patch
new file mode 100644
index 0000000..dba065d
--- /dev/null
+++ b/vcpkg/ports/nvtt/skip-building-libsquish.patch
@@ -0,0 +1,13 @@
+diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
+index 911c19e..6f13de4 100644
+--- a/extern/CMakeLists.txt
++++ b/extern/CMakeLists.txt
+@@ -5,7 +5,6 @@ ADD_SUBDIRECTORY(EtcLib)
+ ADD_SUBDIRECTORY(rg_etc1_v104)
+ #ADD_SUBDIRECTORY(etcpack)
+
+-ADD_SUBDIRECTORY(libsquish-1.15)
++#ADD_SUBDIRECTORY(libsquish-1.15)
+
+ ADD_SUBDIRECTORY(CMP_Core)
+-
diff --git a/vcpkg/ports/nvtt/squish.patch b/vcpkg/ports/nvtt/squish.patch
new file mode 100644
index 0000000..5f971a7
--- /dev/null
+++ b/vcpkg/ports/nvtt/squish.patch
@@ -0,0 +1,14 @@
+diff --git a/src/nvtt/squish/CMakeLists.txt b/src/nvtt/squish/CMakeLists.txt
+index 65a5dd3..d093ce5 100644
+--- a/src/nvtt/squish/CMakeLists.txt
++++ b/src/nvtt/squish/CMakeLists.txt
+@@ -21,3 +21,8 @@ SET(SQUISH_SRCS
+ simd_ve.h)
+
+ ADD_LIBRARY(nvsquish STATIC ${SQUISH_SRCS})
++
++INSTALL(TARGETS nvsquish
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib/static)
+\ No newline at end of file
diff --git a/vcpkg/ports/nvtt/vcpkg.json b/vcpkg/ports/nvtt/vcpkg.json
new file mode 100644
index 0000000..9dda10e
--- /dev/null
+++ b/vcpkg/ports/nvtt/vcpkg.json
@@ -0,0 +1,24 @@
+{
+ "name": "nvtt",
+ "version": "2.1.2",
+ "port-version": 9,
+ "description": "Texture processing tools with support for Direct3D 10 and 11 formats.",
+ "homepage": "https://github.com/castano/nvidia-texture-tools",
+ "license": "MIT",
+ "supports": "!android & !uwp & !arm",
+ "dependencies": [
+ "libsquish",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ],
+ "features": {
+ "cuda": {
+ "description": "Enable CUDA support",
+ "dependencies": [
+ "cuda"
+ ]
+ }
+ }
+}