forked from bartvdbraak/blender
36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||
|
index 3e09c57..26565ae 100644
|
||
|
--- a/CMakeLists.txt
|
||
|
+++ b/CMakeLists.txt
|
||
|
@@ -116,7 +116,7 @@ IF (NOT ${ALEMBIC_LIB_USES_TR1} AND NOT ${ALEMBIC_LIB_USES_BOOST})
|
||
|
INCLUDE(CheckCXXCompilerFlag)
|
||
|
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
|
||
|
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
|
||
|
- IF (COMPILER_SUPPORTS_CXX1X)
|
||
|
+ IF (COMPILER_SUPPORTS_CXX11)
|
||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||
|
ELSEIF (COMPILER_SUPPORTS_CXX0X)
|
||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
||
|
--- a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
|
||
|
+++ b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
|
||
|
@@ -47,7 +47,18 @@
|
||
|
#define COMPARE_EXCHANGE( V, COMP, EXCH ) V.compare_exchange_weak( COMP, EXCH, std::memory_order_seq_cst, std::memory_order_seq_cst )
|
||
|
// Windows
|
||
|
#elif defined( _MSC_VER )
|
||
|
-#define COMPARE_EXCHANGE( V, COMP, EXCH ) InterlockedCompareExhange64( &V, EXCH, COMP ) == COMP
|
||
|
+#define COMPARE_EXCHANGE( V, COMP, EXCH ) InterlockedCompareExchange64( &V, EXCH, COMP ) == COMP
|
||
|
+int ffsll(long long value)
|
||
|
+{
|
||
|
+ if (!value)
|
||
|
+ return 0;
|
||
|
+
|
||
|
+ for (int bit = 0; bit < 63; bit++)
|
||
|
+ {
|
||
|
+ if (value & (1 << bit))
|
||
|
+ return bit + 1;
|
||
|
+ }
|
||
|
+}
|
||
|
// gcc 4.8 and above not using C++11
|
||
|
#elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8
|
||
|
#define COMPARE_EXCHANGE( V, COMP, EXCH ) __atomic_compare_exchange_n( &V, &COMP, EXCH, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST )
|