LYX_OPTION(ASAN "Use address sanitizer" OFF ALL)
LYX_COMBO(USE_QT "Use Qt version as frontend" QT4 QT5)
LYX_OPTION(3RDPARTY_BUILD "Build 3rdparty libs" OFF ALL)
+LYX_COMBO(ENABLE_CXX11 "Build with options for c++11-mode" AUTO ON OFF)
# GCC specific
LYX_OPTION(PROFILE "Build profile version" OFF GCC)
LYX_OPTION(DEBUG_GLIBC_PEDANTIC "Enable libstdc++ pedantic debug mode" OFF GCC)
LYX_OPTION(STDLIB_DEBUG "Use debug stdlib" OFF GCC)
LYX_OPTION(PROFILE "Build with options for gprof" OFF GCC)
-LYX_OPTION(ENABLE_CXX11 "Build with options for c++11-mode" OFF GCC)
# MSVC specific
LYX_OPTION(CONSOLE "Show console on Windows, enforce with =FORCE" ON MSVC)
endif()
+if(LYX_ENABLE_CXX11 MATCHES "AUTO")
+ # Set to some meaningful default
+ find_package(CXX11Compiler)
+ if(NOT CXX11COMPILER_FOUND)
+ set(LYX_ENABLE_CXX11 OFF CACHE TYPE STRING FORCE)
+ else()
+ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
+ execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(NOT GCC_VERSION VERSION_LESS 4.3)
+ set(LYX_ENABLE_CXX11 ON CACHE TYPE STRING FORCE)
+ else()
+ set(LYX_ENABLE_CXX11 OFF CACHE TYPE STRING FORCE)
+ endif()
+ else()
+ # Not a gnu compiler
+ if(CMAKE_CXX_COMPILER_ID MATCHES "^[cC]lang$")
+ set(LYX_ENABLE_CXX11 ON CACHE TYPE STRING FORCE)
+ else()
+ set(LYX_ENABLE_CXX11 OFF CACHE TYPE STRING FORCE)
+ endif()
+ endif()
+ endif()
+endif()
set(LYX_GCC11_MODE)
if(UNIX OR MINGW)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
file(STRINGS "${TOP_SRC_DIR}/configure.ac" _config_lines)
if(WIN32)
+ set(CMAKE_PREFIX_PATH Specify-path-to-Qt CACHE PATH "Used Qt version")
+ if(MSVC)
+ set(LYX_3RDPARTY_BUILD ON CACHE BOOL "Build 3rdparty libraries" FORCE)
+ endif()
set(USE_WINDOWS_PACKAGING ON)
elseif(APPLE)
set(USE_MACOSX_PACKAGING ON)
set(CMAKE_INSTALL_PREFIX "/usr/local/${LYX_PROJECT}" CACHE PATH "LyX default install prefix" FORCE)
endif()
endif()
- if(WIN32)
- set(CMAKE_INSTALL_PREFIX LYX_INSTALLED CACHE PATH "LyX default install prefix" FORCE)
- endif()
+endif()
+if(WIN32)
+ set(CMAKE_INSTALL_PREFIX LYX_INSTALLED CACHE PATH "LyX default install prefix" FORCE)
endif()
if(IS_ABSOLUTE)
set(CMAKE_INSTALL_PREFIX_ABSOLUTE ${CMAKE_INSTALL_PREFIX})
if(LYX_BUNDLE AND APPLE)
set(LYX_MAN_DIR "${LYX_DATA_SUBDIR}" CACHE STRING "Install location for man pages.")
else()
- set(LYX_MAN_DIR "/usr/local/man/man1" CACHE STRING "Install location for man pages.")
+ if(WIN32)
+ set(LYX_MAN_DIR "${CMAKE_BINARY_DIR}/usr/local/man/man1" CACHE STRING "Install location for man pages.")
+ else()
+ set(LYX_MAN_DIR "/usr/local/man/man1" CACHE STRING "Install location for man pages.")
+ endif()
endif()
mark_as_advanced(LYX_MAN_DIR)
list(APPEND CMAKE_FIND_ROOT_PATH ${GNUWIN32_DIR})
endif()
+set(QPA_XCB)
if(LYX_USE_QT MATCHES "QT5")
+ # set QPA_XCB if QT uses X11
find_package(Qt5Core REQUIRED)
if (Qt5Core_FOUND)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5MacExtras REQUIRED)
endif()
find_package(Qt5X11Extras QUIET)
+ if(Qt5X11Extras_FOUND)
+ set(QPA_XCB 1)
+ endif()
find_package(Qt5WinExtras QUIET)
set(QTVERSION ${Qt5Core_VERSION})
macro (qt_use_modules)
endif()
endforeach()
+if(GNUWIN32_DIR)
+ list(APPEND CMAKE_PROGRAM_PATH "${GNUWIN32_DIR}/Python" )
+endif()
find_package(PythonInterp 2.7 QUIET)
if(PYTHONINTERP_FOUND)
- if(PYTHON_VERSION_STRING VERSION_GREATER 2.8)
- unset(PYTHONINTERP_FOUND)
- endif()
+ if(PYTHON_VERSION_STRING VERSION_GREATER 2.8)
+ unset(PYTHONINTERP_FOUND)
+ endif()
endif()
-if (NOT PYTHONINTERP_FOUND)
+if(NOT PYTHONINTERP_FOUND)
unset(PYTHON_EXECUTABLE CACHE)
unset(PYTHON_VERSION_MAJOR)
unset(PYTHON_VERSION_MINOR)