X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=90853559a82efc4eef4b400dd2ec9c247acb8d7a;hb=3d46cc302bcff979a874ef2ea9c8a56a85aaec77;hp=1523397c9d468b305927cd88aadd05ef8e1c422f;hpb=7923ac5804e7ab66fc85ab7f105758ad182978fa;p=lyx.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1523397c9d..90853559a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,11 @@ cmake_minimum_required(VERSION 3.1.0) +set(CMAKE_CXX_STANDARD 20) +set(GNUWIN32_DIR D:/LyX/lyx-unstable/lyx-windows-deps-msvc2017) +set(LYX_USE_QT "QT5") +set(LYX_REQUIRE_SPELLCHECK true) + set(LYX_PROJECT LyX) # Instruct cmake to not use gnu extensions, @@ -161,24 +166,28 @@ if(LYX_BUILD_TYPE STREQUAL "development") set(DefaultLyxStdlibDebug ON) set(DefaultLyxEnableAssertions ON) set(DefaultLyxProfile OFF) + set(DefaultExternalLibs OFF) elseif(LYX_BUILD_TYPE STREQUAL "prerelease") set(DefaultLyxDebug OFF) set(DefaultLyxRelease OFF) set(DefaultLyxStdlibDebug OFF) set(DefaultLyxEnableAssertions OFF) set(DefaultLyxProfile OFF) + set(DefaultExternalLibs ON) elseif(LYX_BUILD_TYPE STREQUAL "release") set(DefaultLyxDebug OFF) set(DefaultLyxRelease ON) set(DefaultLyxStdlibDebug OFF) set(DefaultLyxEnableAssertions OFF) set(DefaultLyxProfile OFF) + set(DefaultExternalLibs ON) elseif(LYX_BUILD_TYPE STREQUAL "gprof") set(DefaultLyxDebug ON) set(DefaultLyxRelease OFF) set(DefaultLyxStdlibDebug OFF) set(DefaultLyxEnableAssertions OFF) set(DefaultLyxProfile ON) + set(DefaultExternalLibs OFF) else() message(FATAL_ERROR "Invalid build type (${LYX_BUILD_TYPE}) encountered") endif() @@ -220,15 +229,15 @@ LYX_COMBO(USE_QT "Use Qt version as frontend" AUTO QT4 QT5) 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) -LYX_OPTION(EXTERNAL_Z "OFF := Build 3rdparty lib zlib" ON ALL) -LYX_OPTION(EXTERNAL_DTL "OFF := Build 3rdparty commands dt2dv and dv2dt" ON ALL) -LYX_OPTION(EXTERNAL_ICONV "OFF := Build 3rdparty lib iconvlib" ON ALL) -LYX_OPTION(EXTERNAL_HUNSPELL "OFF := Build 3rdparty lib hunspelllib" ON ALL) +LYX_OPTION(EXTERNAL_Z "OFF := Build 3rdparty lib zlib" ${DefaultExternalLibs} ALL) +LYX_OPTION(EXTERNAL_DTL "OFF := Build 3rdparty commands dt2dv and dv2dt" ${DefaultExternalLibs} ALL) +LYX_OPTION(EXTERNAL_ICONV "OFF := Build 3rdparty lib iconvlib" ${DefaultExternalLibs} ALL) +LYX_OPTION(EXTERNAL_HUNSPELL "OFF := Build 3rdparty lib hunspelllib" ${DefaultExternalLibs} ALL) LYX_COMBO(EXTERNAL_MYTHES "OFF := Build 3rdparty lib mytheslib" AUTO OFF ON) # GCC specific LYX_OPTION(PROFILE "Build with options for gprof" ${DefaultLyxProfile} GCC) -LYX_OPTION(EXTERNAL_BOOST "Use external boost" OFF GCC) +LYX_OPTION(EXTERNAL_BOOST "Use external boost" ${DefaultExternalLibs} GCC) 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) @@ -1068,9 +1077,9 @@ if(MSVC) # add here warnings which should be disabled /wdXXXX set(MSVC_W_DISABLE "/wd4288 /wd4355 /wd4800 /wd4996 /wd4311 /wd4312 /wd4505 /wd4267 /wd4512 /wd4245 /wd4127 /wd4180 /wd4231") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Wp64 ${MSVC_W_ERROR} ${MSVC_W_DISABLE}") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Wp64 ${MSVC_W_ERROR} ${MSVC_W_DISABLE}") - set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /Wp64 ${MSVC_W_ERROR} ${MSVC_W_DISABLE}") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /W4 ${MSVC_W_ERROR} ${MSVC_W_DISABLE}") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /W4 ${MSVC_W_ERROR} ${MSVC_W_DISABLE}") + set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /W4 ${MSVC_W_ERROR} ${MSVC_W_DISABLE}") else() set(CMAKE_CXX_WARNING_LEVEL 3 CACHE STRING "Warning level" FORCE)