]> git.lyx.org Git - features.git/blobdiff - CMakeLists.txt
Remove wrong count comment
[features.git] / CMakeLists.txt
index f36784a858808956e3b1e42ecccf606e66aea075..5e9c7c860b93ae77a46cdb056819eb05076fc075 100644 (file)
@@ -217,7 +217,7 @@ else()
     unset(LYX_ENABLE_VALGRIND_TESTS CACHE)
   endif()
 endif()
-LYX_OPTION(ASAN             "Use address sanitizer" OFF ALL)
+LYX_COMBO(DEBUG_SANITIZE    "Use sanitize check" NONE ADDRESS UNSPECIFIED)
 #LYX_COMBO(USE_FILEDIALOG    "Use native or QT file dialog" QT NATIVE)
 LYX_COMBO(USE_QT            "Use Qt version as frontend" AUTO QT4 QT5 QT6)
 LYX_COMBO(USE_IPO           "Interprocedural optimization" OFF AUTO ON)
@@ -674,6 +674,19 @@ else()
   set(LYX_CXX_FLAGS "")
 endif()
 
+if (LYX_DEBUG_SANITIZE MATCHES "ADDRESS")
+    set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
+    message(STATUS)
+    message(STATUS "Address sanitizer enabled. Usage:")
+    message(STATUS "    wget https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/asan/scripts/asan_symbolize.py")
+    message(STATUS "    chmod  +x ./asan_symbolize.py")
+    message(STATUS "    ./bin/${_lyx} 2>&1 | ./asan_symbolize.py  | c++filt ")
+    message(STATUS)
+elseif (LYX_DEBUG_SANITIZE MATCHES "UNSPECIFIED")
+    set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -fsanitize=undefined -fno-omit-frame-pointer")
+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fno-omit-frame-pointer")
+endif()
+
 if(MSVC)
   if (CXX11_FLAG MATCHES "\\+\\+([0-9]+)")
     set(CMAKE_CXX_STANDARD ${CMAKE_MATCH_1})
@@ -701,7 +714,7 @@ else()
        # check_cxx_source_compiles("..." HAVE_DEF_MAKE_UNIQUE)
        include(CheckCXXCompilerFlag)
        unset(CHECK_WNODEPRECATEDCOPY_FLAG CACHE)
-       CHECK_CXX_COMPILER_FLAG("-Wno-deprecated-copy" CHECK_WNODEPRECATEDCOPY_FLAG)
+       CHECK_CXX_COMPILER_FLAG("-Wdeprecated-copy" CHECK_WNODEPRECATEDCOPY_FLAG)
        if(${CHECK_WNODEPRECATEDCOPY_FLAG})
                set(LYX_CXX_FLAGS "-Wall -Wextra -Wno-deprecated-copy ${LYX_GCC11_MODE}${LYX_CXX_FLAGS}")
        else()
@@ -726,16 +739,6 @@ else()
        endif()
 endif()
 
-if(LYX_ASAN)
-    set(CMAKE_CXX_FLAGS "-fsanitize=address -fno-omit-frame-pointer -g ${CMAKE_CXX_FLAGS}")
-    message(STATUS)
-    message(STATUS "Address sanitizer enabled. Usage:")
-    message(STATUS "    wget https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/asan/scripts/asan_symbolize.py")
-    message(STATUS "    chmod  +x ./asan_symbolize.py")
-    message(STATUS "    ./bin/${_lyx} 2>&1 | ./asan_symbolize.py  | c++filt ")
-    message(STATUS)
-endif()
-
 set(LYX_CXX_FLAGS_EXTRA "" CACHE STRING "Desired semicolon separated list of extra cxx compile flags, like '-Werror'")
 mark_as_advanced(LYX_CXX_FLAGS_EXTRA)
 if(LYX_CXX_FLAGS_EXTRA)