]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Use the python found by configure to build po files.
[lyx.git] / CMakeLists.txt
index f99a971fae5d2783414981d7cf769cc5823714f5..bcdff225ed04af6128e412f97c0215bd1aeb2132 100644 (file)
@@ -42,6 +42,22 @@ if(NOT help AND NOT HELP)
        project(${LYX_PROJECT})
 endif()
 
+if(UNIX)
+       set(ARCH_TRIPLET )
+       FIND_PROGRAM(DPKG_ARCHITECTURE_EXECUTABLE dpkg-architecture)
+       if(DPKG_ARCHITECTURE_EXECUTABLE)
+               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)
+       set(SYSTEM_LIB_DIRS /usr/lib /usr/lib/${ARCH_TRIPLET} /usr/local/lib)
+else()
+       set(SYSTEM_LIB_DIRS /usr/lib /usr/local/lib)
+endif()
+
 include(LyXMacros)
 
 # Usage LYX_OPTION
@@ -81,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)
@@ -96,12 +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
 
@@ -142,7 +159,14 @@ if(LYX_DEPENDENCIES_DOWNLOAD)
                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 http://sourceforge.net/projects/scusi/files/${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()
@@ -187,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)
@@ -338,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()
 
 
@@ -348,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()
 
 
@@ -382,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()
 
 
@@ -582,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
@@ -599,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")
@@ -606,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()
@@ -619,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)
 
@@ -643,5 +678,3 @@ endif()
 include("${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyxPackaging.cmake")
 
 message(STATUS)
-
-endif() # help