diff options
Diffstat (limited to 'indra/llmath')
-rw-r--r-- | indra/llmath/CMakeLists.txt | 10 | ||||
-rw-r--r-- | indra/llmath/llsimdmath.h | 6 | ||||
-rw-r--r-- | indra/llmath/llvolume.cpp | 4 |
3 files changed, 19 insertions, 1 deletions
diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt index 801d3fe63e..fb911e3445 100644 --- a/indra/llmath/CMakeLists.txt +++ b/indra/llmath/CMakeLists.txt @@ -57,6 +57,7 @@ set(llmath_HEADER_FILES llmath.h llmatrix3a.h llmatrix3a.inl + llmatrix4a.h llmodularmath.h lloctree.h llperlin.h @@ -95,11 +96,20 @@ set(llmath_HEADER_FILES list(APPEND llmath_SOURCE_FILES ${llmath_HEADER_FILES}) +include_directories(${LIBS_PREBUILT_DIR}/include) + add_library (llmath ${llmath_SOURCE_FILES}) target_link_libraries(llmath llcommon llmeshoptimizer) target_include_directories( llmath INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) +if (USESYSTEMLIBS AND CMAKE_CXX_COMPILER_ID MATCHES "GNU") + set_source_files_properties(llcalc.cpp PROPERTIES + COMPILE_FLAGS -Wno-dangling-pointer) +endif () + +include(LibraryInstall) + # Add tests if (LL_TESTS) include(LLAddBuildTest) diff --git a/indra/llmath/llsimdmath.h b/indra/llmath/llsimdmath.h index 592bb124c2..b9e86614f8 100644 --- a/indra/llmath/llsimdmath.h +++ b/indra/llmath/llsimdmath.h @@ -35,7 +35,7 @@ // because some versions of VS complain about '__SSE2__' //#if ( ( LL_DARWIN || LL_LINUX ) && !(__SSE2__) ) || ( LL_WINDOWS && ( _M_IX86_FP < 2 && ADDRESS_SIZE == 32 ) ) #if ( ( LL_DARWIN || LL_LINUX ) ) - #if !(__SSE2__) + #if !(__SSE2__ || __ARM_NEON) #error SSE2 not enabled. LLVector4a and related class will not compile. #endif #elif ( LL_WINDOWS && ( _M_IX86_FP < 2 && ADDRESS_SIZE == 32 ) ) @@ -46,8 +46,12 @@ #include <stdint.h> #endif +#if defined(__i386__) || defined(__x86_64__) #include <xmmintrin.h> #include <emmintrin.h> +#else +#include <sse2neon.h> +#endif #include "llmemory.h" #include "llsimdtypes.h" diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 00a56edf68..8688c66534 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -55,7 +55,11 @@ #include "mikktspace/mikktspace.hh" +#if LL_USESYSTEMLIBS +#include <meshoptimizer.h> +#else #include "meshoptimizer/meshoptimizer.h" +#endif #define DEBUG_SILHOUETTE_BINORMALS 0 #define DEBUG_SILHOUETTE_NORMALS 0 // TomY: Use this to display normals using the silhouette |