From 2986df22d6fd91f92731a371e8ea0e8e5f1e5ee5 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 21 Nov 2014 10:21:46 +0000 Subject: [PATCH] =?UTF-8?q?From=20Bj=C3=B6rn=20Blissing,=20fix=20for=20amb?= =?UTF-8?q?iguous=20defines=20in=20Atomic.cpp=20when=20compiling=20with=20?= =?UTF-8?q?MinGW=20and=20GCC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14513 16af8721-9629-0410-8352-f15c8da7e697 --- CMakeModules/CheckAtomicOps.cmake | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CMakeModules/CheckAtomicOps.cmake b/CMakeModules/CheckAtomicOps.cmake index a518e6ee8..11ddae566 100644 --- a/CMakeModules/CheckAtomicOps.cmake +++ b/CMakeModules/CheckAtomicOps.cmake @@ -143,6 +143,15 @@ ELSE() NOT _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC) SET(_OPENTHREADS_ATOMIC_USE_MUTEX 1) ENDIF() + + + # MinGW can set both WIN32_INTERLOCKED and GCC_BUILTINS to true which results in compliation errors + IF (_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS AND _OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED) + # In this case we prefer the GCC_BUILTINS + SET(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS 1) + SET(_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED 0) + ENDIF() + ENDIF() ENDIF()