X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=8ad97de7ee056852e4212a5e89bf8f74b5b32d9f;hb=b5c693eb0f99a7e5dec4f0da909803aa355c64f7;hp=20bf8930848927df30b900599c8e81d112dcfd38;hpb=d3092fc3559c915153f80bd9e3da3bc62503251f;p=lyx.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 20bf893084..8ad97de7ee 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}") @@ -138,6 +139,7 @@ LYX_OPTION(ENABLE_URLTESTS "Enable for URL tests" OFF ALL) LYX_OPTION(ENABLE_EXPORT_TESTS "Enable for export tests" OFF ALL) 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) # GCC specific LYX_OPTION(PROFILE "Build profile version" OFF GCC) @@ -575,9 +577,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() + if(WIN32) + set(LYX_QTMAIN_LIBRARY ${Qt5Core_QTMAIN_LIBRARIES}) + endif() endif() elseif(LYX_USE_QT MATCHES "QT4") if(LYX_XMINGW) @@ -593,9 +595,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() + if(WIN32) + set(LYX_QTMAIN_LIBRARY ${QT_QTMAIN_LIBRARIES}) + endif() else() message(FATAL_ERROR "Unhandled value for LYX_USE_QT (${LYX_USE_QT})") endif() @@ -610,9 +612,20 @@ include_directories(${TOP_BINARY_DIR} ${TOP_SRC_DIR}/src) set(Spelling_FOUND OFF) set(Include_used_spellchecker) # String will be inserted into config.h +if(LYX_3RDPARTY_BUILD) + add_subdirectory(3rdparty/hunspell) + add_definitions(-DHUNSPELL_STATIC) + set(HUNSPELL_FOUND ON) + message(STATUS " * Hunspell:") + message(STATUS " - include: ${HUNSPELL_INCLUDE_DIR}") + message(STATUS " - library: ${HUNSPELL_LIBRARY}") +endif() + foreach(_spell "ASPELL" "Enchant" "Hunspell") string(TOUPPER ${_spell} _upspell) - find_package(${_spell}) + if (NOT ${_upspell}_FOUND) + find_package(${_spell}) + endif() if (${_upspell}_FOUND) include_directories(${${_upspell}_INCLUDE_DIR}) set(Spelling_FOUND ON) @@ -627,6 +640,7 @@ foreach(_spell "ASPELL" "Enchant" "Hunspell") endif() endforeach() + find_package(PythonInterp 2.7 QUIET) if(PYTHONINTERP_FOUND) if(PYTHON_VERSION_STRING VERSION_GREATER 2.8) @@ -659,9 +673,17 @@ if(LYX_NLS) endif() endif() +if(UNIX) + find_package(ICONV REQUIRED) + find_package(ZLIB REQUIRED) +endif() + +if(LYX_3RDPARTY_BUILD) + add_subdirectory(3rdparty/libiconv) + set(HAVE_ICONV_CONST 1) + add_subdirectory(3rdparty/zlib) +endif() -find_package(ICONV REQUIRED) -find_package(ZLIB REQUIRED) if(LYX_EXTERNAL_BOOST) message(STATUS "Searching for boost") @@ -701,8 +723,8 @@ endif() if(WIN32) if(LYX_CONSOLE) - set(LYX_QTMAIN_LIBRARY) - else() + set(LYX_QTMAIN_LIBRARY) + else() set(WIN32_CONSOLE WIN32) endif() if(MSVC) @@ -928,10 +950,10 @@ if(LYX_NLS) message(STATUS "Building Native Language Support (LYX_NLS is set), used libraries:") message(STATUS) message(STATUS " * iconv") - message(STATUS " - header : ${ICONV_HEADER}") + message(STATUS " - include: ${ICONV_INCLUDE_DIR}") message(STATUS " - library: ${ICONV_LIBRARY}") message(STATUS " * zlib") - message(STATUS " - header : ${ZLIB_HEADER}") + message(STATUS " - include: ${ZLIB_INCLUDE_DIR}") message(STATUS " - library: ${ZLIB_LIBRARY}") message(STATUS) endif()