]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Also display the info about BibTeX databases in the TeX info panel.
[lyx.git] / CMakeLists.txt
index fce998eccd519c4e546273acfecdb1c6413e92b0..5e7c0a1af3e1b4e001d14d61d5b12502fe6e49df 100644 (file)
@@ -43,9 +43,13 @@ if(NOT help AND NOT HELP)
 endif()
 
 if(UNIX)
+       set(ARCH_TRIPLET )
        FIND_PROGRAM(DPKG_ARCHITECTURE_EXECUTABLE dpkg-architecture)
        if(DPKG_ARCHITECTURE_EXECUTABLE)
-               EXECUTE_PROCESS(COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH OUTPUT_VARIABLE ARCH_TRIPLET OUTPUT_STRIP_TRAILING_WHITESPACE)
+               EXECUTE_PROCESS(COMMAND ${DPKG_ARCHITECTURE_EXECUTABLE} -qDEB_HOST_MULTIARCH
+                               OUTPUT_VARIABLE ARCH_TRIPLET
+                               ERROR_VARIABLE ERROR_ARCH_TRIPLET
+                               OUTPUT_STRIP_TRAILING_WHITESPACE)
        endif()
 endif()
 if(ARCH_TRIPLET)
@@ -93,6 +97,7 @@ LYX_OPTION(DEBUG_GLIBC          "Enable libstdc++ debug mode" 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(CONCEPT_CHECKS       "Enable concept-checks" OFF GCC)
+LYX_OPTION(PROFILE              "Build with options for gprof" OFF GCC)
 
 # MSVC specific
 LYX_OPTION(CONSOLE               "Show console on Windows" ON MSVC)
@@ -108,11 +113,12 @@ LYX_OPTION(COCOA                 "Use Cocoa on Mac" OFF MAC)
 
 if(help OR HELP)
        message(STATUS)
-       message(STATUS "Available options: (dis/enable with -D=0/1)")
+       message(STATUS "Available options: (dis/enable with -DLYX_*=OFF/ON)")
        message(STATUS)
        LYX_OPTION_LIST_ALL(help)
        message(STATUS)
-else()
+       RETURN()
+endif()
 
 # Check option dependencies
 
@@ -147,13 +153,20 @@ 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_files lyx20-deps-msvc2010.zip)
+       set(deps_server http://downloads.sourceforge.net/project/lyx/Win_installers/Dependencies)
        foreach(it ${deps_files})
                set(already_downloaded already_downloaded-NOTFOUND CACHE PATH "downloaded" FORCE)
                find_file(already_downloaded ${it} "${LYX_DEPENDENCIES_DIR}/download")
                if(NOT already_downloaded)
                        message(STATUS "Downloading ${it} ...")
-                       file(DOWNLOAD ftp://ftp.devel.lyx.org/pub/contrib/windows/${it} ${LYX_DEPENDENCIES_DIR}/download/${it} SHOW_PROGRESS)
+                       file(DOWNLOAD ${deps_server}/${it} ${LYX_DEPENDENCIES_DIR}/download/${it} SHOW_PROGRESS STATUS status LOG log)
+                       list(GET status 0 status_code)
+                       list(GET status 1 status_string)
+                       if(NOT status_code EQUAL 0)
+                               file(REMOVE ${LYX_DEPENDENCIES_DIR}/${it})
+                               message(FATAL_ERROR "error: downloading '${it}' failed. status_code: ${status_code}, status_string: ${status_string}. \nLog: ${log} ")
+                       endif()
                        execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf ${LYX_DEPENDENCIES_DIR}/download/${it}
                                      WORKING_DIRECTORY ${LYX_DEPENDENCIES_DIR})
                endif()
@@ -198,11 +211,11 @@ include(LyXPaths)
 file(STRINGS "${TOP_SRC_DIR}/configure.ac" _config_lines)
 
 if(WIN32)
-       set(USE_WINDOWS_PACKAGING 1)
+       set(USE_WINDOWS_PACKAGING ON)
 elseif(APPLE)
-       set(USE_MACOSX_PACKAGING 1)
+       set(USE_MACOSX_PACKAGING ON)
 else()
-       set(USE_POSIX_PACKAGING 1)
+       set(USE_POSIX_PACKAGING ON)
 endif()
 
 macro(setstripped _varname _value)
@@ -349,9 +362,12 @@ set(LYX_MOC_FILES moc_*.cpp)
 include(ProjectSourceGroup)
 
 
-if(LYX_PROFILE)
+if(LYX_PROFILE AND NOT MSVC)
        set(CMAKE_BUILD_TYPE Profile CACHE TYPE STRING FORCE)
-       set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg" CACHE TYPE STRING FORCE)
+       set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE} -pg")
+       set(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS}  -pg")
+else()
+       set(LYX_PROFILE OFF)
 endif()
 
 
@@ -359,11 +375,17 @@ if(LYX_NO_OPTIMIZE)
        set(CMAKE_BUILD_TYPE None)
        set(LYX_DEBUG OFF)
        set(LYX_RELEASE OFF)
+       set(LYX_PROFILE OFF)
 elseif(LYX_RELEASE)
        set(CMAKE_BUILD_TYPE Release)
        set(LYX_DEBUG OFF)
+       set(LYX_PROFILE OFF)
+elseif(LYX_PROFILE)
+       set(CMAKE_BUILD_TYPE Profile)
+       set(LYX_DEBUG OFF)
 else()
        set(CMAKE_BUILD_TYPE Debug)
+       set(LYX_DEBUG ON)
 endif()
 
 
@@ -393,7 +415,6 @@ if(NOT MSVC)
        else()
                set(CMAKE_CXX_FLAGS_RELEASE "${LYX_CXX_FLAGS} -O3 -DNDEBUG" CACHE TYPE STRING FORCE)
        endif()
-       set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE} -pg" CACHE TYPE STRING FORCE)
 endif()
 
 
@@ -593,11 +614,11 @@ endif()
 
 
 if(LYX_DEBUG_GLIBC)
-       set(_GLIBCXX_DEBUG 1)
+       set(_GLIBCXX_DEBUG ON)
 endif()
 
 if(LYX_DEBUG_GLIBC_PEDANTIC)
-       set(_GLIBCXX_DEBUG_PEDANTIC 1)
+       set(_GLIBCXX_DEBUG_PEDANTIC ON)
 endif()
 
 # compiler tests, config.h generation
@@ -610,6 +631,10 @@ endif()
 
 configure_file(${LYX_CMAKE_DIR}/config.h.cmake ${TOP_BINARY_DIR}/config.h)
 
+# Compute qt4-version from ${QTVERSION}
+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()
 
 add_subdirectory(src "${TOP_BINARY_DIR}/src")
 add_subdirectory(lib/lyx2lyx "${TOP_BINARY_DIR}/lyx2lyx")
@@ -617,7 +642,6 @@ add_subdirectory(lib/scripts "${TOP_BINARY_DIR}/scripts")
 
 
 if(LYX_INSTALL)
-       #FIND_PROGRAM(LYX_PERL_EXECUTABLE perl)
        if(${LYX_PYTHON_EXECUTABLE} MATCHES "-NOTFOUND")
                message(STATUS "Python required to create doc!")
        else()
@@ -630,7 +654,7 @@ endif()
 add_subdirectory(sourcedoc "${TOP_BINARY_DIR}/sourcedoc")
 
 message(STATUS)
-message(STATUS "Build options, switch LYX_* variables by -DLYX_*=1 or 0:")
+message(STATUS "Build options, switch LYX_* variables by -DLYX_*=ON or OFF:")
 message(STATUS)
 LYX_OPTION_LIST_ALL(used)
 
@@ -654,5 +678,3 @@ endif()
 include("${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyxPackaging.cmake")
 
 message(STATUS)
-
-endif() # help