# 3. parameter: default value, ON or OFF
# 4. parameter: system on which option is used: ALL, GCC, MSVC, ...
+# Usage LYX_COMBO
+# 1. parameter: name without prefix 'LYX_'
+# 2. parameter: description
+# 3. parameter: default value
+# 4-n parameter: possible other string values
LYX_OPTION_INIT()
LYX_OPTION(INSTALL_PREFIX "Install path for LyX" OFF ALL)
LYX_OPTION(BUNDLE "Build bundle (experimental) " OFF ALL)
LYX_OPTION(ENABLE_URLTESTS "Enable for URL tests" OFF ALL)
+LYX_OPTION(ENABLE_EXPORT_TESTS "Enable for export tests" OFF ALL)
# GCC specific
LYX_OPTION(PROFILE "Build profile version" OFF GCC)
# APPLE specific
LYX_OPTION(DMG "Build as Mac bundle, needed for .dmg (experimental) " OFF MAC)
LYX_OPTION(COCOA "Use Cocoa on Mac" OFF MAC)
+if(LYX_XMINGW)
+ LYX_COMBO(USE_QT "Use Qt version as frontend for MINGW" QT4)
+else()
+ LYX_COMBO(USE_QT "Use Qt version as frontend" QT4 QT5)
+endif()
if(help OR HELP)
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})
-else()
- find_package(Qt5Core QUIET)
endif()
-if (Qt5Core_FOUND)
+if(LYX_USE_QT MATCHES "QT5")
+ find_package(Qt5Core REQUIRED)
+ if (Qt5Core_FOUND)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5X11Extras)
set(QTVERSION ${Qt5Core_VERSION})
macro (qt_wrap_uifiles)
qt5_wrap_ui(${ARGN})
endmacro()
-else()
+ endif()
+elseif(LYX_USE_QT MATCHES "QT4")
find_package(Qt4 "4.5.0" REQUIRED)
macro (qt_use_modules)
endmacro()
macro (qt_wrap_uifiles)
qt4_wrap_ui(${ARGN})
endmacro()
+else()
+ message(FATAL_ERROR "Unhandled value for LYX_USE_QT (${LYX_USE_QT})")
endif()
find_package(Magic)
COMPILE_FLAGS "/Ycconfig.h /Fp\$(IntDir)/config.pch")
set(${name_}_sources ${${name_}_sources} ${TOP_BINARY_DIR}/config_pch.cpp
${TOP_BINARY_DIR}/pcheaders.h)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /DLYX_PCH_STL /DLYX_PCH_BOOST /DLYX_PCH_QT4")
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /DLYX_PCH_STL /DLYX_PCH_BOOST /DLYX_PCH_QT4")
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /DLYX_PCH_STL /DLYX_PCH_BOOST /DLYX_PCH_QT")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /DLYX_PCH_STL /DLYX_PCH_BOOST /DLYX_PCH_QT")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /DLYX_PCH_STL /DLYX_PCH_BOOST")
endmacro(lyx_add_msvc_pch)
macro(lyx_add_gcc_pch name_)
macro(lyx_add_msvc_pch name_)
endmacro()
macro(lyx_add_gcc_pch name_)
- add_definitions(-DLYX_PCH_STL -DLYX_PCH_BOOST -DLYX_PCH_QT4)
+ add_definitions(-DLYX_PCH_STL -DLYX_PCH_BOOST -DLYX_PCH_QT)
ADD_PRECOMPILED_HEADER(${name_} ${TOP_BINARY_DIR}/config_pch.cpp ${TOP_BINARY_DIR}/config.h.gch)
endmacro()
endif()
endif()
message(STATUS)
-message(STATUS "Build options, switch LYX_* variables by -DLYX_*=ON or OFF:")
+message(STATUS "Build params, switch LYX_* options by -DLYX_*=ON or OFF, LYX_* combos by -DLYX_*=value:")
message(STATUS)
+
LYX_OPTION_LIST_ALL(used)
message(STATUS)
endif()
-if(NOT Spelling_FOUND)
+# Apple has builtin native spell checker,
+# no need to warn for missing Aspell, Hunspell or Enchant
+if(NOT Spelling_FOUND AND NOT APPLE)
if(LYX_REQUIRE_SPELLCHECK)
set(_mode "FATAL_ERROR")
else()
set(_mode "STATUS")
endif()
- message(${_mode} "No spellcheck libraries found. Lyx will be unable use spellchecking")
+ message(${_mode} "No spellcheck libraries found. LyX will be unable use spellchecking")
endif()
include("${TOP_CMAKE_PATH}/LyxPackaging.cmake")