X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=a5b85132b21481c2cc8d233cc418854ce9402d24;hb=3ed174cc03b9ca14f1c8e09dd990d9eb0b4461b4;hp=a25f5480b63cd604a6d936200ec791fc770f1c07;hpb=ec6f51b373e86f48b42f0c7cd7f38d6897096f4b;p=lyx.git diff --git a/CMakeLists.txt b/CMakeLists.txt index a25f5480b6..a5b85132b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,8 +10,9 @@ set(LYX_PROJECT LyX) enable_testing() -get_filename_component(lyx_dir_readme ${CMAKE_SOURCE_DIR}/README ABSOLUTE) +get_filename_component(lyx_dir_readme ${CMAKE_SOURCE_DIR}/README REALPATH) # Resolve symlinks get_filename_component(TOP_SRC_DIR ${lyx_dir_readme} PATH) +message(STATUS "TOP_SRC_DIR = ${TOP_SRC_DIR}") set(LYX_CMAKE_DIR "development/cmake") set(TOP_CMAKE_PATH "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}") @@ -40,6 +41,9 @@ if(COMMAND cmake_policy) cmake_policy(SET CMP0005 OLD) # Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION cmake_policy(SET CMP0006 NEW) + if(POLICY CMP0020) + cmake_policy(SET CMP0020 OLD) + endif() if(POLICY CMP0028) cmake_policy(SET CMP0028 OLD) endif() @@ -47,7 +51,6 @@ if(COMMAND cmake_policy) # COMPILE_DEFINITIONS are not used yet. Enable new behavior. cmake_policy(SET CMP0043 NEW) endif() - cmake_policy(SET CMP0020 OLD) endif() set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) @@ -206,10 +209,18 @@ endif() if(LYX_DEPENDENCIES_DOWNLOAD) message(STATUS) - set(LYX_DEPENDENCIES_DIR ${TOP_BINARY_DIR}/msvc2010-deps) - message(STATUS "Using downloaded dependencies in ${LYX_DEPENDENCIES_DIR}") - set(deps_files lyx20-deps-msvc2010-x86.zip) - set(deps_server http://downloads.sourceforge.net/project/lyx/Win_installers/Dependencies) + if(MSVC12) + set(LYX_DEPENDENCIES_DIR ${TOP_BINARY_DIR}/msvc2013-deps) + set(deps_files lyx-windows-deps-msvc2013.zip) + set(deps_server http://ftp.lyx.de/LyX-Windows-Deps) + set(GNUWIN32_DIR ${LYX_DEPENDENCIES_DIR}/lyx-windows-deps-msvc2013) + else() + set(LYX_DEPENDENCIES_DIR ${TOP_BINARY_DIR}/msvc2010-deps) + set(deps_files lyx20-deps-msvc2010-x86.zip) + set(deps_server http://downloads.sourceforge.net/project/lyx/Win_installers/Dependencies) + set(GNUWIN32_DIR ${LYX_DEPENDENCIES_DIR}/deps20) + endif() + message(STATUS "Using downloaded dependencies in ${LYX_DEPENDENCIES_DIR}") foreach(it ${deps_files}) set(already_downloaded already_downloaded-NOTFOUND CACHE PATH "downloaded" FORCE) find_file(already_downloaded ${it} "${LYX_DEPENDENCIES_DIR}/download") @@ -226,11 +237,6 @@ if(LYX_DEPENDENCIES_DOWNLOAD) WORKING_DIRECTORY ${LYX_DEPENDENCIES_DIR}) endif() endforeach() - set(GNUWIN32_DIR ${LYX_DEPENDENCIES_DIR}/deps20) - if(MSVC12) - # handle error in msvc12 when linking against msvc10 libs - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /vd2") - endif() endif() @@ -253,6 +259,10 @@ if(UNIX OR MINGW) # in gcc is unusable in versions less than 4.9.0 # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631 set(LYX_USE_STD_REGEX 0) + else() + if (LYX_ENABLE_CXX11) + set(LYX_USE_STD_REGEX 1) + endif() endif() if (LYX_ENABLE_CXX11) find_package(CXX11Compiler) @@ -566,6 +576,9 @@ if(LYX_USE_QT MATCHES "QT5") qt5_wrap_ui(${ARGN}) endmacro() message(STATUS "Found Qt-Version ${QTVERSION}") + if(WIN32) + set(LYX_QTMAIN_LIBRARY ${Qt5Core_QTMAIN_LIBRARIES}) + endif() endif() elseif(LYX_USE_QT MATCHES "QT4") if(LYX_XMINGW) @@ -581,6 +594,9 @@ elseif(LYX_USE_QT MATCHES "QT4") macro (qt_wrap_uifiles) qt4_wrap_ui(${ARGN}) endmacro() + if(WIN32) + set(LYX_QTMAIN_LIBRARY ${QT_QTMAIN_LIBRARIES}) + endif() else() message(FATAL_ERROR "Unhandled value for LYX_USE_QT (${LYX_USE_QT})") endif() @@ -685,9 +701,10 @@ endif() if(WIN32) - if(NOT LYX_CONSOLE) + if(LYX_CONSOLE) + set(LYX_QTMAIN_LIBRARY) + else() set(WIN32_CONSOLE WIN32) - set(LYX_QTMAIN_LIBRARY ${QT_QTMAIN_LIBRARY}) endif() if(MSVC) add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNOMINMAX) @@ -854,6 +871,10 @@ if(QTVERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+).*") MATH(EXPR QT4_VERSION "(${CMAKE_MATCH_1}<<16)|(${CMAKE_MATCH_2}<<8)|${CMAKE_MATCH_3}") endif() +if (NOT HAVE_REGEX) + set(LYX_USE_STD_REGEX 0) +endif() + set (cmd ${CMAKE_CTEST_COMMAND}) if (MSVC)