]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Actually do the layout update
[lyx.git] / CMakeLists.txt
index f36784a858808956e3b1e42ecccf606e66aea075..067b30cf3ac3d48876a7be115e1b605614f77f80 100644 (file)
@@ -217,9 +217,9 @@ 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_QT            "Use Qt version as frontend" AUTO QT5 QT6)
 LYX_COMBO(USE_IPO           "Interprocedural optimization" OFF AUTO ON)
 #LYX_OPTION(3RDPARTY_BUILD   "Build 3rdparty libs" OFF ALL)
 LYX_OPTION(DISABLE_CALLSTACK_PRINTING "do not print a callstack when crashing" OFF ALL)
@@ -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)
@@ -761,13 +764,10 @@ if(LYX_USE_QT MATCHES "AUTO")
                        set(LYX_USE_QT "QT5" CACHE STRING "Valid qt version" FORCE)
                        message(STATUS "Qt5Core_VERSION = ${Qt5Core_VERSION}")
                        if(Qt5Core_VERSION VERSION_LESS ${min_qt5_version})
-                               find_package(Qt4 "4.5.0" QUIET)
-                               if(QT4_FOUND)
-                                       set(LYX_USE_QT "QT4" CACHE STRING "Valid qt version" FORCE)
-                               endif()
+                               message(FATAL_ERROR "No appropriate QT-version found")
                        endif()
                else()
-                       set(LYX_USE_QT "QT4" CACHE STRING "Valid qt version" FORCE)
+                       message(FATAL_ERROR "No appropriate QT-version found")
                endif()
        endif()
 endif()
@@ -808,8 +808,8 @@ if(LYX_USE_QT MATCHES "QT6|QT5")
                set(QTVERSION ${${QtVal}Core_VERSION})
                if (QTVERSION VERSION_LESS ${min_qt5_version})
                        message(STATUS "QTVERSION = \"${QTVERSION}\"")
-                       message(STATUS "This version is not recommended, try either option -DLYX_USE_QT=QT4 or")
-                       message(STATUS "install QT-Version >= \"${min_qt5_version}\"")
+                       message(STATUS "This version is not recommended,")
+                       message(STATUS "please install QT-Version >= \"${min_qt5_version}\"")
                        # see thread in lyx-devel list
                        # From: Jean-Pierre Chrétien <jeanpierre.chretien@free.fr>
                        # Date 11.03.2017
@@ -834,24 +834,6 @@ if(LYX_USE_QT MATCHES "QT6|QT5")
                        set(QtCore5CompatModule Core5Compat)
                endif()
        endif()
-elseif(LYX_USE_QT MATCHES "QT4")
-       if(LYX_XMINGW)
-               set(QT_MINGW_DIR ${LYX_QT4} CACHE PATH "Qt for Mingw" FORCE)
-               list(APPEND CMAKE_FIND_ROOT_PATH ${QT_MINGW_DIR} ${GNUWIN32_DIR})
-       endif()
-       find_package(Qt4 "4.5.0" REQUIRED)
-       macro (qt_use_modules)
-       endmacro()
-       macro (qt_add_resources)
-               qt4_add_resources(${ARGN})
-       endmacro()
-       macro (qt_wrap_uifiles)
-               qt4_wrap_ui(${ARGN})
-       endmacro()
-        set(LYX_QTMAIN_LIBRARY ${QT_QTSVG_LIBRARY})
-       if(WIN32)
-               list(APPEND LYX_QTMAIN_LIBRARY ${QT_QTMAIN_LIBRARIES})
-       endif()
 else()
   message(FATAL_ERROR "Unhandled value for LYX_USE_QT (${LYX_USE_QT})")
 endif()
@@ -1191,7 +1173,7 @@ unset(opts)
 unset(tmp_vi)
 
 if(QTVERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+).*")
-       MATH(EXPR QT4_VERSION "(${CMAKE_MATCH_1}<<16)|(${CMAKE_MATCH_2}<<8)|${CMAKE_MATCH_3}")
+       MATH(EXPR QTx_VERSION "(${CMAKE_MATCH_1}<<16)|(${CMAKE_MATCH_2}<<8)|${CMAKE_MATCH_3}")
 endif()