build.patch 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. diff --git a/CMakeLists.txt b/CMakeLists.txt
  2. index 668cd7e..365f2f1 100644
  3. --- a/CMakeLists.txt
  4. +++ b/CMakeLists.txt
  5. @@ -8,7 +8,7 @@ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${NV_CMAKE_DIR}")
  6. # Compiler check (needs -std:c++11 flag)
  7. include(CheckCXXCompilerFlag)
  8. CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
  9. -if(COMPILER_SUPPORTS_CXX11)
  10. +if(TRUE)
  11. set(CMAKE_CXX_STANDARD 11)
  12. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  13. set(CMAKE_CXX_EXTENSIONS OFF)
  14. diff --git a/cmake/OptimalOptions.cmake b/cmake/OptimalOptions.cmake
  15. index e4d5c56..5d391cb 100644
  16. --- a/cmake/OptimalOptions.cmake
  17. +++ b/cmake/OptimalOptions.cmake
  18. @@ -11,11 +11,11 @@ IF(MSVC)
  19. # SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2 /fp:fast")
  20. # Optimization flags.
  21. - SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} /O2 /Ob2 /Oi /Ot /Oy /GL")
  22. - SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /O2 /Ob2 /Oi /Ot /Oy /GL")
  23. - SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
  24. - SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
  25. - SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
  26. + SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /Oy")
  27. + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /Oy")
  28. +# SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
  29. +# SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
  30. +# SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
  31. # Definitions.
  32. ADD_DEFINITIONS(-D__SSE2__ -D__SSE__ -D__MMX__)
  33. diff --git a/extern/CMP_Core/source/cmp_math_func.h b/extern/CMP_Core/source/cmp_math_func.h
  34. index c2f8908..b652497 100644
  35. --- a/extern/CMP_Core/source/cmp_math_func.h
  36. +++ b/extern/CMP_Core/source/cmp_math_func.h
  37. @@ -32,6 +32,7 @@
  38. // Core API which have have GPU equivalents, defined here for HPC_CPU usage
  39. //============================================================================
  40. +#include <cmath>
  41. #include <algorithm>
  42. using namespace std;
  43. diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
  44. index ca90fa0..d8fbe1c 100644
  45. --- a/extern/CMakeLists.txt
  46. +++ b/extern/CMakeLists.txt
  47. @@ -5,7 +5,7 @@ ADD_SUBDIRECTORY(EtcLib)
  48. ADD_SUBDIRECTORY(rg_etc1_v104)
  49. #ADD_SUBDIRECTORY(etcpack)
  50. -ADD_SUBDIRECTORY(libsquish-1.15)
  51. +#ADD_SUBDIRECTORY(libsquish-1.15)
  52. ADD_SUBDIRECTORY(CMP_Core)
  53. diff --git a/src/bc6h/CMakeLists.txt b/src/bc6h/CMakeLists.txt
  54. index fd75e74..bba50d5 100644
  55. --- a/src/bc6h/CMakeLists.txt
  56. +++ b/src/bc6h/CMakeLists.txt
  57. @@ -15,3 +15,8 @@ SET(BC6H_SRCS
  58. ADD_LIBRARY(bc6h STATIC ${BC6H_SRCS})
  59. TARGET_LINK_LIBRARIES(bc6h nvcore nvmath)
  60. +
  61. +INSTALL(TARGETS bc6h
  62. + RUNTIME DESTINATION bin
  63. + LIBRARY DESTINATION lib
  64. + ARCHIVE DESTINATION lib/static)
  65. diff --git a/src/bc7/CMakeLists.txt b/src/bc7/CMakeLists.txt
  66. index 566fe1f..10b37cc 100644
  67. --- a/src/bc7/CMakeLists.txt
  68. +++ b/src/bc7/CMakeLists.txt
  69. @@ -23,3 +23,8 @@ SET(BC7_SRCS
  70. ADD_LIBRARY(bc7 STATIC ${BC7_SRCS})
  71. TARGET_LINK_LIBRARIES(bc7 nvcore nvmath)
  72. +
  73. +INSTALL(TARGETS bc7
  74. + RUNTIME DESTINATION bin
  75. + LIBRARY DESTINATION lib
  76. + ARCHIVE DESTINATION lib/static)
  77. diff --git a/src/nvmath/nvmath.h b/src/nvmath/nvmath.h
  78. index 38532eb..e68d8f8 100644
  79. --- a/src/nvmath/nvmath.h
  80. +++ b/src/nvmath/nvmath.h
  81. @@ -118,12 +118,12 @@ inline float asinf_assert(const float f)
  82. #endif
  83. #if NV_CC_MSVC
  84. -NV_FORCEINLINE float log2f(float x)
  85. +NV_FORCEINLINE float nv_log2f(float x)
  86. {
  87. nvCheck(x >= 0);
  88. return logf(x) / logf(2.0f);
  89. }
  90. -NV_FORCEINLINE float exp2f(float x)
  91. +NV_FORCEINLINE float nv_exp2f(float x)
  92. {
  93. return powf(2.0f, x);
  94. }
  95. diff --git a/src/nvtt/CMakeLists.txt b/src/nvtt/CMakeLists.txt
  96. index 8285f99..16500ca 100644
  97. --- a/src/nvtt/CMakeLists.txt
  98. +++ b/src/nvtt/CMakeLists.txt
  99. @@ -47,9 +47,15 @@ ADD_DEFINITIONS(-DNVTT_EXPORTS)
  100. #ADD_DEFINITIONS(-DHAVE_RGETC)
  101. #ADD_DEFINITIONS(-DHAVE_ETCPACK)
  102. +if(APPLE)
  103. + add_compile_options(-mbmi2 -mfma)
  104. +endif()
  105. +
  106. IF(NVTT_SHARED)
  107. + ADD_DEFINITIONS(-DNVTT_SHARED=1)
  108. ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS})
  109. ELSE(NVTT_SHARED)
  110. + ADD_DEFINITIONS(-DNVTT_SHARED=0)
  111. ADD_LIBRARY(nvtt ${NVTT_SRCS})
  112. ENDIF(NVTT_SHARED)
  113. @@ -64,4 +70,4 @@ INSTALL(FILES nvtt.h nvtt_wrapper.h DESTINATION include/nvtt)
  114. ADD_SUBDIRECTORY(tools)
  115. -ADD_SUBDIRECTORY(tests)
  116. +#ADD_SUBDIRECTORY(tests)
  117. diff --git a/src/nvtt/squish/CMakeLists.txt b/src/nvtt/squish/CMakeLists.txt
  118. index 65a5dd3..1ee51e3 100644
  119. --- a/src/nvtt/squish/CMakeLists.txt
  120. +++ b/src/nvtt/squish/CMakeLists.txt
  121. @@ -21,3 +21,8 @@ SET(SQUISH_SRCS
  122. simd_ve.h)
  123. ADD_LIBRARY(nvsquish STATIC ${SQUISH_SRCS})
  124. +
  125. +INSTALL(TARGETS nvsquish
  126. + RUNTIME DESTINATION bin
  127. + LIBRARY DESTINATION lib
  128. + ARCHIVE DESTINATION lib/static)