From f16633da72521cb22c6d0cee3c9cc446d6892d9b Mon Sep 17 00:00:00 2001
From: Sadr Mohsen <sadr_m@merlin-l-001.psi.ch>
Date: Mon, 24 Jun 2024 08:48:01 +0200
Subject: [PATCH] update cmakelists, avoid sanitizer for cuda

---
 CMakeLists.txt | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c2d8c3d1f..cf7b3e703 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,7 @@
 cmake_minimum_required (VERSION 3.20.3)
 project (OPALX VERSION 2024.1.00 LANGUAGES C CXX)
 include(FetchContent)
+link_directories(LINK_DIRECTORIES)
 set (PROJECT_BUGREPORT opal@lists.psi.ch)
 
 set (OPALX_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
@@ -19,7 +20,7 @@ endif ()
 add_compile_options (-Wall)
 add_compile_options (-Wunused)
 add_compile_options (-Wextra)
-add_compile_options (-Werror)
+# add_compile_options (-Werror)
 add_compile_options (-Wno-unused-parameter)
 add_compile_options (-Wno-error=unused-variable)
 
@@ -34,14 +35,22 @@ message (STATUS "Build type is: " ${CMAKE_BUILD_TYPE})
 set (CMAKE_CXX_STANDARD 20)
 set (CMAKE_CUDA_EXTENSIONS OFF)
 set (CMAKE_CXX_STANDARD_REQUIRED ON)
-set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g ")
-set (CMAKE_CXX_FLAGS_RELEASE "-O3")
-set (CMAKE_CXX_FLAGS_DEBUG  "-O0 -g")
+set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g  -O3")
+set (CMAKE_CXX_FLAGS_RELEASE "-g -O3 ")
+#set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 -g")
+#set (CMAKE_CXX_FLAGS_RELEASE "-O0")
+set (CMAKE_CXX_FLAGS_DEBUG  "-g")
+
+if (NOT "${IPPL_PLATFORMS}" STREQUAL "CUDA" AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
+    # Use sanitizer flags for GCC or Clang only
+     set (CMAKE_CXX_FLAGS_DEBUG  "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address,undefined")
+endif ()
 
+#if ("${IPPL_PLATFORMS}" STREQUAL "CUDA")
+#    set (CMAKE_CXX_FLAGS_DEBUG  "${CMAKE_CXX_FLAGS_DEBUG} -G") #-diag-suppress=611")
+#endif()
 
-if ("${Kokkos_DEVICES}" MATCHES "CUDA")
-    set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g -G --extended-lambda")
-endif()
+message (STATUS "CMAKE_CXX_FLAGS_DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}")
 
 # Disable compile time assert (used by IPPL)
 add_definitions (-DNOCTAssert)
-- 
GitLab