From d12a894a25a6c5ba1b11037d51c81600f1545e24 Mon Sep 17 00:00:00 2001 From: Martin Hierholzer <martin.hierholzer@desy.de> Date: Thu, 3 Dec 2020 11:38:17 +0100 Subject: [PATCH] add macro to find gcc's atomic library --- cmake/Modules/FindGccAtomic.cmake | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 cmake/Modules/FindGccAtomic.cmake diff --git a/cmake/Modules/FindGccAtomic.cmake b/cmake/Modules/FindGccAtomic.cmake new file mode 100644 index 0000000..0a0f079 --- /dev/null +++ b/cmake/Modules/FindGccAtomic.cmake @@ -0,0 +1,28 @@ +# This scripts finds gcc's built-in atomic shared library (libatomic.so). +# It is required to link against this library on gcc when using 16 byte atomics, even when running on x86_64/amd64. + +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + + FIND_LIBRARY(GCCLIBATOMIC_LIBRARY NAMES atomic atomic.so.1 libatomic.so.1 + HINTS + $ENV{HOME}/local/lib64 + $ENV{HOME}/local/lib + /usr/local/lib64 + /usr/local/lib + /opt/local/lib64 + /opt/local/lib + /usr/lib64 + /usr/lib + /lib64 + /lib + ) + +else () + + SET(GCCLIBATOMIC_LIBRARY "") + +endif () + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(GCCLIBATOMIC DEFAULT_MSG GCCLIBATOMIC_LIBRARY) + -- GitLab