LYX_OPTION(PROGRAM_SUFFIX "Append version suffix to binaries" ON GCC)
LYX_OPTION(DEBUG_GLIBC "Enable libstdc++ debug mode" OFF GCC)
LYX_OPTION(DEBUG_GLIBC_PEDANTIC "Enable libstdc++ pedantic debug mode" OFF GCC)
+LYX_OPTION(DEBUG_GLIBC_ASSERTIONS "Enable stdlib-assertions debug mode" OFF GCC)
LYX_OPTION(STDLIB_DEBUG "Use debug stdlib" ${DefaultLyxStdlibDebug} GCC)
# MSVC specific
set(LYX_DEBUG ON)
endif()
+set(min_qt5_version "5.6")
+if(LYX_USE_QT MATCHES "AUTO")
+ # try qt6 first
+ find_package(Qt6Core CONFIG QUIET)
+ if (Qt6Core_Found)
+ set(LYX_USE_QT "QT6" CACHE STRING "Valid qt version" FORCE)
+ message(STATUS "Qt5Core_VERSION = ${Qt5Core_VERSION}")
+ else()
+ find_package(Qt5Core CONFIG QUIET)
+ if(Qt5Core_FOUND)
+ 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})
+ message(FATAL_ERROR "No appropriate QT-version found")
+ endif()
+ else()
+ message(FATAL_ERROR "No appropriate QT-version found")
+ endif()
+ endif()
+endif()
# When shared libs are supported enable this option
#LYX_OPTION(SHARED_LIBRARIES "Build shared libraries" OFF ALL)
else()
set(LYX_CXX_FLAGS "-Wall -Wextra ${LYX_GCC11_MODE}${LYX_CXX_FLAGS}")
endif()
- if(LYX_STDLIB_DEBUG)
- set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
- else()
- if(LYX_DEBUG_GLIBC)
- set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG")
- endif()
- if(LYX_DEBUG_GLIBC_PEDANTIC)
- set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG_PEDANTIC")
- endif()
+ message(STATUS "LYX_USE_QT = ${LYX_USE_QT}")
+ if(LYX_USE_QT MATCHES "QT6")
+ if (LYX_DEBUG_GLIBC OR LYX_DEBUG_GLIBC_PEDANTIC)
+ message(WARNING "Compiling LyX with stdlib-debug and Qt6 library may lead to crashes. Consider dropping -DLYX_DEBUG_GLIBC=ON and -DLYX_DEBUG_GLIBC_PEDANTIC=ON")
+ endif()
+ endif()
+ if(LYX_STDLIB_DEBUG OR LYX_DEBUG_GLIBC_ASSERTIONS)
+ set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_ASSERTIONS")
+ endif()
+ if(LYX_DEBUG_GLIBC)
+ set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG")
+ endif()
+ if(LYX_DEBUG_GLIBC_PEDANTIC)
+ set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG_PEDANTIC")
endif()
set(CMAKE_CXX_FLAGS "${LYX_CXX_FLAGS} -fno-strict-aliasing " CACHE STRING "Set CXX flags" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -D_DEBUG" CACHE STRING "Set debug flags" FORCE)
list(APPEND CMAKE_FIND_ROOT_PATH ${GNUWIN32_DIR})
endif()
-set(min_qt5_version "5.6")
-if(LYX_USE_QT MATCHES "AUTO")
- # try qt6 first
- find_package(Qt6Core CONFIG QUIET)
- if (Qt6Core_Found)
- set(LYX_USE_QT "QT6" CACHE STRING "Valid qt version" FORCE)
- message(STATUS "Qt5Core_VERSION = ${Qt5Core_VERSION}")
- else()
- find_package(Qt5Core CONFIG QUIET)
- if(Qt5Core_FOUND)
- 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})
- message(FATAL_ERROR "No appropriate QT-version found")
- endif()
- else()
- message(FATAL_ERROR "No appropriate QT-version found")
- endif()
- endif()
-endif()
-
set(QtCore5CompatLibrary)
set(QtCore5CompatModule)
if(LYX_USE_QT MATCHES "QT6|QT5")