mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-12 16:50:39 +00:00
Backport of chanes made in trunk.
The main differecies to trunk is: Project name branchlyx. This is so, to be able to install trunk and branch (rpm or debian) package simultaneously. As they do not share the same directories it is now easy. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28878 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
41de4ebc11
commit
63f86623cc
@ -1,7 +1,7 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2006, Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# Copyright (c) 2006, Peter Kümmel, <syntheticpp@gmx.net>
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 2.4)
|
||||
@ -13,7 +13,8 @@ endif(COMMAND cmake_policy)
|
||||
|
||||
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
|
||||
|
||||
project(lyx)
|
||||
# Only to distinguish fron trunk, so we can install both simultaneously
|
||||
project(branchlyx)
|
||||
|
||||
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/
|
||||
# is checked
|
||||
@ -23,28 +24,78 @@ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
|
||||
# Supress regeneration
|
||||
set(CMAKE_SUPPRESS_REGENERATION TRUE)
|
||||
|
||||
set(PACKAGE lyx)
|
||||
set(PACKAGE_VERSION 1.6)
|
||||
set(LYX_DATE "2008")
|
||||
#TODO
|
||||
set(VERSION_INFO "CMake Build")
|
||||
set(LYX_DIR_VER "LYX_DIR_16x")
|
||||
set(LYX_USERDIR_VER "LYX_USERDIR_16x")
|
||||
|
||||
set(PROGRAM_SUFFIX "")
|
||||
set(LYX_ABS_INSTALLED_DATADIR "/usr/local/share/lyx${PACKAGE_VERSION}")
|
||||
set(LYX_ABS_INSTALLED_LOCALEDIR "/usr/local/share/locale")
|
||||
set(LYX_ABS_TOP_SRCDIR "${CMAKE_SOURCE_DIR}")
|
||||
# Try to get some informations from configure.ac
|
||||
|
||||
include(LyXPaths) #called here to define the needed TOP_SRC_DIR-variable
|
||||
file(STRINGS "${TOP_SRC_DIR}/configure.ac" _config_lines)
|
||||
|
||||
if(WIN32)
|
||||
set(USE_WINDOWS_PACKAGING 1)
|
||||
set(USE_WINDOWS_PACKAGING 1)
|
||||
elseif(APPLE)
|
||||
set(USE_MACOSX_PACKAGING 1)
|
||||
set(USE_MACOSX_PACKAGING 1)
|
||||
else()
|
||||
set(USE_POSIX_PACKAGING 1)
|
||||
set(USE_POSIX_PACKAGING 1)
|
||||
endif()
|
||||
|
||||
macro(setstripped _varname _value)
|
||||
string(STRIP ${_value} _v)
|
||||
if(USE_POSIX_PACKAGING)
|
||||
string(TOLOWER ${_v} ${_varname})
|
||||
else()
|
||||
set(${_varname} ${_v})
|
||||
endif()
|
||||
endmacro(setstripped)
|
||||
|
||||
foreach(_c_l ${_config_lines} )
|
||||
if(_c_l MATCHES "^AC_INIT\\(\([^,]+\),\([^,]+\), *\\[\([^,]+\)\\] *,\(.*\)")
|
||||
setstripped(PACKAGE_BASE ${CMAKE_MATCH_1})
|
||||
setstripped(PACKAGE_VERSION ${CMAKE_MATCH_2})
|
||||
setstripped(PACKAGE_BUGREPORT ${CMAKE_MATCH_3})
|
||||
if(PACKAGE_VERSION MATCHES "^\([0-9]+\)\\.\([0-9]+\).*$")
|
||||
set(LYX_MAJOR_VERSION ${CMAKE_MATCH_1})
|
||||
set(LYX_MINOR_VERSION ${CMAKE_MATCH_2})
|
||||
set(LYX_DIR_VER "LYX_DIR_${CMAKE_MATCH_1}${CMAKE_MATCH_2}x")
|
||||
set(LYX_USERDIR_VER "LYX_USERDIR_${CMAKE_MATCH_1}${CMAKE_MATCH_2}x")
|
||||
set(LYX_INSTALL_SUFFIX "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}")
|
||||
endif()
|
||||
endif()
|
||||
if(_c_l MATCHES "^AC_SUBST\\( *LYX_DATE *, *\\[\\\"(.*)\\\"\\].*")
|
||||
set(LYX_DATE "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
endforeach(_c_l)
|
||||
|
||||
if(UseVersionSuffix)
|
||||
message(STATUS "-- Using versioned PACKAGE. Disable with -DUseVersionSuffix=0")
|
||||
set(PACKAGE ${PACKAGE_BASE}${LYX_INSTALL_SUFFIX})
|
||||
set(PROGRAM_SUFFIX "${LYX_INSTALL_SUFFIX}")
|
||||
else()
|
||||
message(STATUS "-- PACKAGE not versioned, to enable use -DUseVersionSuffix=1")
|
||||
set(PACKAGE ${PACKAGE_BASE})
|
||||
set(PROGRAM_SUFFIX "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
# see http://www.cmake.org/pipermail/cmake/2006-October/011559.html
|
||||
if (UNIX)
|
||||
# don't use the default "/usr/local"
|
||||
# but respect the user-choice on the command-line
|
||||
SET(CMAKE_INSTALL_PREFIX
|
||||
"/usr/local/${project}${LYX_INSTALL_SUFFIX}" CACHE PATH "LyX install prefix" FORCE)
|
||||
endif()
|
||||
if(WIN32)
|
||||
SET(CMAKE_INSTALL_PREFIX
|
||||
${CMAKE_INSTALL_PREFIX}/${LYX_INSTALL_SUFFIX} CACHE PATH "LyX install prefix" FORCE)
|
||||
endif()
|
||||
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
|
||||
set(LYX_ABS_INSTALLED_DATADIR "${CMAKE_INSTALL_PREFIX}")
|
||||
set(LYX_LOCALEDIR "locale")
|
||||
set(LYX_ABS_INSTALLED_LOCALEDIR "${LYX_ABS_INSTALLED_DATADIR}/${LYX_LOCALEDIR}")
|
||||
set(LYX_ABS_TOP_SRCDIR "${TOP_SRC_DIR}")
|
||||
|
||||
|
||||
if(NOT GROUP_CODE)
|
||||
#set(GROUP_CODE "The Golden Code")
|
||||
set(GROUP_CODE flat)
|
||||
@ -54,7 +105,6 @@ endif()
|
||||
set(LYX_CPP_FILES *.cpp)
|
||||
set(LYX_HPP_FILES *.h)
|
||||
|
||||
include(LyXPaths)
|
||||
include(LyXMacros)
|
||||
include(ProjectSourceGroup)
|
||||
|
||||
@ -145,20 +195,20 @@ if(use_external_libintl)
|
||||
add_definitions(-DHAVE_GETTEXT)
|
||||
endif()
|
||||
|
||||
message("")
|
||||
message(STATUS "")
|
||||
if(nls OR all)
|
||||
set(nls TRUE CACHE TYPE STRING)
|
||||
add_definitions(-DENABLE_NLS=1)
|
||||
message("----- Building with ENABLE_NLS")
|
||||
message(STATUS "----- Building with ENABLE_NLS")
|
||||
else()
|
||||
message("----- No nls, to enable use -Dnls=1")
|
||||
message(STATUS "----- No nls, to enable use -Dnls=1")
|
||||
endif()
|
||||
set(nls)
|
||||
if(ASPELL_FOUND)
|
||||
add_definitions(-DUSE_ASPELL=1)
|
||||
message("----- Building with USE_ASPELL")
|
||||
message(STATUS "----- Building with USE_ASPELL")
|
||||
else()
|
||||
message("----- No aspell, to get more information use -Daspell=1")
|
||||
message(STATUS "----- No aspell, to get more information use -Daspell=1")
|
||||
endif()
|
||||
set(all)
|
||||
|
||||
@ -167,9 +217,9 @@ if(WIN32)
|
||||
set(noconsole TRUE CACHE TYPE STRING)
|
||||
set(WIN32_CONSOLE WIN32)
|
||||
set(LYX_QTMAIN_LIBRARY ${QT_QTMAIN_LIBRARY})
|
||||
message("----- Console disabled")
|
||||
message(STATUS "----- Console disabled")
|
||||
else()
|
||||
message("----- Console enabled, disable it with -Dnoconsole=1")
|
||||
message(STATUS "----- Console enabled, disable it with -Dnoconsole=1")
|
||||
endif()
|
||||
if(MSVC)
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNOMINMAX)
|
||||
@ -180,25 +230,26 @@ if(WIN32)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(PROGRAM_SUFFIX "\"\"")
|
||||
set(LYX_ABS_TOP_SRCDIR "${CMAKE_SOURCE_DIR}")
|
||||
set(LYX_ABS_INSTALLED_DATADIR "/usr/local/share/lyx${PACKAGE_VERSION}")
|
||||
set(LYX_ABS_INSTALLED_LOCALEDIR "/usr/local/share/locale")
|
||||
|
||||
message("")
|
||||
message("----- PROGRAM_SUFFIX : ${PROGRAM_SUFFIX}")
|
||||
message("----- LYX_ABS_TOP_SRCDIR : ${LYX_ABS_TOP_SRCDIR}")
|
||||
message("----- LYX_ABS_INSTALLED_DATADIR : ${LYX_ABS_INSTALLED_DATADIR}")
|
||||
message("----- LYX_ABS_INSTALLED_LOCALEDIR : ${LYX_ABS_INSTALLED_LOCALEDIR}")
|
||||
message("")
|
||||
message(STATUS "")
|
||||
foreach(_v PACKAGE PACKAGE_VERSION
|
||||
PROGRAM_SUFFIX LYX_DATE LYX_DIR_VER LYX_USERDIR_VER
|
||||
LYX_ABS_TOP_SRCDIR
|
||||
LYX_ABS_INSTALLED_DATADIR LYX_ABS_INSTALLED_LOCALEDIR LYX_INSTALL_SUFFIX)
|
||||
if(NOT DEFINED ${_v})
|
||||
message(FATAL_ERROR "${_v} not defined")
|
||||
endif()
|
||||
string(SUBSTRING "${_v} " 0 28 _v1)
|
||||
message(STATUS "----- ${_v1}: ${${_v}}")
|
||||
endforeach(_v)
|
||||
message(STATUS "")
|
||||
|
||||
|
||||
add_definitions(-DBOOST_USER_CONFIG="<config.h>")
|
||||
|
||||
if(MSVC AND NOT disable-pch AND NOT MERGE_FILES)
|
||||
message("-----")
|
||||
message("----- using precompiled headers, disable with -Ddisable-pch=1")
|
||||
message("-----")
|
||||
message(STATUS "-----")
|
||||
message(STATUS "----- using precompiled headers, disable with -Ddisable-pch=1")
|
||||
message(STATUS "-----")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/pcheaders.h
|
||||
${CMAKE_BINARY_DIR}/pcheaders.h)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/config.cpp.cmake
|
||||
@ -220,9 +271,9 @@ if(MSVC AND NOT disable-pch AND NOT MERGE_FILES)
|
||||
"${CMAKE_CXX_FLAGS_MINSIZEREL} /DLYX_PCH_STL /DLYX_PCH_BOOST")
|
||||
else()
|
||||
if(MSVC)
|
||||
message("-----")
|
||||
message("----- precompiled headers disabled, enable with -Ddisable-pch=0")
|
||||
message("-----")
|
||||
message(STATUS "-----")
|
||||
message(STATUS "----- precompiled headers disabled, enable with -Ddisable-pch=0")
|
||||
message(STATUS "-----")
|
||||
endif()
|
||||
set(disable-pch TRUE CACHE TYPE STRING)
|
||||
macro(lyx_add_msvc_pch)
|
||||
@ -273,7 +324,7 @@ if(MSVC)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG
|
||||
"${CMAKE_CXX_FLAGS_DEBUG} /Wp64 ${MSVC_W_ERROR} ${MSVC_W_DISABLE}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASEs
|
||||
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}")
|
||||
@ -298,13 +349,20 @@ if(MSVC)
|
||||
|
||||
endif()
|
||||
|
||||
message("----- Warning level : ${CMAKE_CXX_WARNING_LEVEL} ${WARNING_LEVEL_MESSAGE}")
|
||||
message("----- Warnings as errors : ${MSVC_W_ERROR}")
|
||||
message("----- Warnings disabled : ${MSVC_W_DISABLE}")
|
||||
message("")
|
||||
message(STATUS "----- Warning level : ${CMAKE_CXX_WARNING_LEVEL} ${WARNING_LEVEL_MESSAGE}")
|
||||
message(STATUS "----- Warnings as errors : ${MSVC_W_ERROR}")
|
||||
message(STATUS "----- Warnings disabled : ${MSVC_W_DISABLE}")
|
||||
message(STATUS "")
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
if(nls OR all)
|
||||
find_package(LyXGettext REQUIRED)
|
||||
include_directories(${TOP_SRC_DIR}/po)
|
||||
add_subdirectory(po)
|
||||
endif()
|
||||
|
||||
# compiler tests, config.h generation
|
||||
if(MSVC AND NOT CONFIGURECHECKS)
|
||||
configure_file(configCompiler.h.msvc ${CMAKE_BINARY_DIR}/configCompiler.h)
|
||||
@ -318,11 +376,6 @@ configure_file(config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
|
||||
find_package(ICONV REQUIRED)
|
||||
add_definitions(-DHAVE_ICONV=1)
|
||||
|
||||
|
||||
#TODO: insource is not the best place
|
||||
configure_file(${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx_version.py.in
|
||||
${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx_version.py)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${TOP_SRC_DIR}/src
|
||||
@ -334,5 +387,69 @@ if(NOT use_external_libintl)
|
||||
endif()
|
||||
add_subdirectory(src)
|
||||
|
||||
add_subdirectory(man)
|
||||
add_subdirectory(doc)
|
||||
add_subdirectory(lyx2lyx)
|
||||
add_subdirectory(scripts)
|
||||
|
||||
include(../Install)
|
||||
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR "${LYX_MAJOR_VERSION}")
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR "${LYX_MINOR_VERSION}")
|
||||
FILE(STRINGS "${TOP_SRC_DIR}/development/cmake/LyX_summary.txt" CPACK_PACKAGE_DESCRIPTION_SUMMARY)
|
||||
#SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A WYSIWYM (What You See Is What You Mean) document processor")
|
||||
|
||||
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${LYX_INSTALL_SUFFIX}")
|
||||
#
|
||||
# needed by rpm
|
||||
SET(CPACK_SET_DESTDIR "ON")
|
||||
FILE(READ "${TOP_SRC_DIR}/development/cmake/LyX_license.txt" CPACK_RPM_PACKAGE_LICENSE)
|
||||
SET(CPACK_RPM_PACKAGE_GROUP "Applications/Publishing")
|
||||
SET(CPACK_RPM_PACKAGE_VENDOR "The LyX team")
|
||||
#
|
||||
# the next ones are needed by deb
|
||||
SET(CPACK_PACKAGE_CONTACT "${PACKAGE_BUGREPORT}")
|
||||
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${project}-${LYX_INSTALL_SUFFIX}")
|
||||
#
|
||||
# for the next ones, cmake insists on data with values in some file
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${TOP_SRC_DIR}/development/cmake/LyX_description.txt")
|
||||
SET(CPACK_RESOURCE_FILE_LICENSE "${TOP_SRC_DIR}/development/cmake/LyX_license.txt")
|
||||
|
||||
# Find the revision number and use it as the release in rpm-package-build.
|
||||
# This way we may omit the otherwise needed "--force" parameter when
|
||||
# installing from that rpm package.
|
||||
FIND_PROGRAM(_svnversion svnversion)
|
||||
message(STATUS "svnversion = ${_svnversion}")
|
||||
if(NOT ${_svnversion} MATCHES "-NOTFOUND")
|
||||
EXECUTE_PROCESS(COMMAND ${_svnversion} WORKING_DIRECTORY "${TOP_SRC_DIR}" OUTPUT_VARIABLE CPACK_RPM_PACKAGE_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
# We use this value also to set the package-patch-value
|
||||
if(CPACK_RPM_PACKAGE_RELEASE MATCHES "^\([0-9]+\)")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${CMAKE_MATCH_1})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# we do not have a readme or welcome data,
|
||||
# so we do not provide infofiles for
|
||||
# CPACK_RESOURCE_FILE_README and CPACK_RESOURCE_FILE_WELCOME
|
||||
|
||||
include(CPack)
|
||||
#Now it is possible to create some packages
|
||||
# cd <BuildDir>
|
||||
# make package
|
||||
#############################################################################################
|
||||
# So, e.g. for variables
|
||||
# CMAKE_PROJECT_NAME : lyx
|
||||
# CPACK_PACKAGE_VERSION_MAJOR : 2
|
||||
# CPACK_PACKAGE_VERSION_MINOR : 0
|
||||
# CPACK_PACKAGE_VERSION_PATCH : 1
|
||||
# CMAKE_SYSTEM_NAME : Linux
|
||||
# CPACK_BINARY_DEB:BOOL : ON
|
||||
#
|
||||
# the package name builds as "lyx-2.0.1-Linux.deb"
|
||||
#
|
||||
############################## rpm ################################### deb ##################
|
||||
# create # cpack -G RPM --config CPackConfig.cmake # cpack -G DEB --config CPackConfig.cmake
|
||||
# creates =># lyx-2.0.1-Linux.rpm # lyx-2.0.1-Linux.deb
|
||||
# list # rpm -qlp lyx-2.0.1-Linux.rpm # dpkg-deb -c lyx-2.0.1-Linux.deb
|
||||
# install # rpm -U lyx-2.0.1-Linux.rpm # dpkg -i lyx-2.0.1-Linux.deb
|
||||
#
|
||||
|
@ -46,6 +46,7 @@ check_include_files(argz.h HAVE_ARGZ_H)
|
||||
check_function_exists(open HAVE_OPEN)
|
||||
check_function_exists(chmod HAVE_CHMOD)
|
||||
check_function_exists(close HAVE_CLOSE)
|
||||
check_function_exists(dcgettext HAVE_DCGETTEXT)
|
||||
check_function_exists(popen HAVE_POPEN)
|
||||
check_function_exists(pclose HAVE_PCLOSE)
|
||||
check_function_exists(_open HAVE__OPEN)
|
||||
@ -53,6 +54,7 @@ check_function_exists(_close HAVE__CLOSE)
|
||||
check_function_exists(_popen HAVE__POPEN)
|
||||
check_function_exists(_pclose HAVE__PCLOSE)
|
||||
check_function_exists(getpid HAVE_GETPID)
|
||||
check_function_exists(gettext HAVE_GETTEXT)
|
||||
check_function_exists(_getpid HAVE__GETPID)
|
||||
check_function_exists(mkdir HAVE_MKDIR)
|
||||
check_function_exists(_mkdir HAVE__MKDIR)
|
||||
|
@ -1,47 +1,80 @@
|
||||
# TODO: set correct path
|
||||
#set(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
# TODO: set correct path in call to cmake
|
||||
# e.g. cmake /usr/src/lyx/lyx-devel/development/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/share/lyx2.0 -Dnls=1
|
||||
|
||||
message(STATUS "installing to ${CMAKE_INSTALL_PREFIX}, defined by CMAKE_INSTALL_PREFIX")
|
||||
|
||||
# the macro scans the directories "_parent_src_dir/_dir/_current_dir" for *._file_type files
|
||||
# and installs the files in CMAKE_INSTALL_PREFIX/_current_dir
|
||||
# dir_item is on item of the remaining arguments
|
||||
macro(lyx_install _parent_src_dir _dir _file_type)
|
||||
foreach(_current_dir ${ARGN})
|
||||
file(GLOB files_list ${_parent_src_dir}/${_dir}/${_current_dir}/*.${_file_type})
|
||||
list(REMOVE_ITEM files_list "${_parent_src_dir}/${_dir}/${_current_dir}/.svn")
|
||||
install(FILES ${files_list} DESTINATION ${_dir}/${_current_dir})
|
||||
#message(STATUS "install ${_dir}/${_current_dir}: ${files_list} ")
|
||||
#message(STATUS "install at ${CMAKE_INSTALL_PREFIX}/${_dir}/${_current_dir}")
|
||||
endforeach(_current_dir)
|
||||
macro(lyx_install _parent_src_dir _gl_dir _file_type)
|
||||
#message("checking parents ${_parent_src_dir}")
|
||||
file(GLOB _dirs RELATIVE "${_parent_src_dir}" ${_parent_src_dir}/${_gl_dir})
|
||||
#cmake bug on Windows: if _gl_dir==. _dirs is empty but on linux _dirs==.
|
||||
if(NOT _dirs)
|
||||
set(_dirs .)
|
||||
endif()
|
||||
foreach(_dir ${_dirs})
|
||||
foreach(_glob_dir ${ARGN})
|
||||
file(GLOB _dir_list ${_parent_src_dir}/${_dir}/${_glob_dir})
|
||||
if(NOT _dir_list)
|
||||
if(_glob_dir STREQUAL ".")
|
||||
set(_dir_list ${_parent_src_dir}/${_dir}/.)
|
||||
endif()
|
||||
endif()
|
||||
#message(STATUS "${_dir}/${_glob_dir} -> ${_dir_list} ")
|
||||
foreach(_current_dir ${_dir_list})
|
||||
file(GLOB _item_list ${_current_dir}/${_file_type})
|
||||
#cmake bug: globbing with * also returns directories on Windows
|
||||
set(files_list ${_item_list})
|
||||
foreach(_current_item ${_item_list})
|
||||
if(IS_DIRECTORY ${_current_item})
|
||||
#message(STATUS "removing ${_current_item}")
|
||||
if(files_list)
|
||||
list(REMOVE_ITEM files_list "${_current_item}")
|
||||
endif()
|
||||
endif()
|
||||
endforeach(_current_item)
|
||||
if(files_list)
|
||||
list(REMOVE_ITEM files_list "${_current_dir}/.svn")
|
||||
list(REMOVE_ITEM files_list "${_current_dir}/Makefile.in")
|
||||
list(REMOVE_ITEM files_list "${_current_dir}/Makefile.am")
|
||||
GET_FILENAME_COMPONENT(_base_dir ${_current_dir} NAME)
|
||||
if(_glob_dir STREQUAL ".")
|
||||
set(_base_dir .)
|
||||
endif()
|
||||
#message(STATUS "install ${_dir}/${_base_dir}: ${files_list} ")
|
||||
#message(STATUS "install at ${CMAKE_INSTALL_PREFIX}/${_dir}/${_base_dir}")
|
||||
install(FILES ${files_list} DESTINATION ${_dir}/${_base_dir})
|
||||
endif()
|
||||
endforeach(_current_dir)
|
||||
endforeach(_glob_dir)
|
||||
endforeach(_dir)
|
||||
endmacro(lyx_install)
|
||||
|
||||
|
||||
lyx_install(${TOP_SRC_DIR}/lib bind bind . de fi pt sv)
|
||||
lyx_install(${TOP_SRC_DIR}/lib commands def .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc lyx . ca cs da de es eu fr gl he hu it ja nl nb pl pt ro ru sk sl sv uk)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc * clipart)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc/de * clipart)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc/es * clipart)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc/fr * clipart)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc/it * clipart)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc/ja * clipart)
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc/uk * clipart)
|
||||
lyx_install(${TOP_SRC_DIR}/lib examples * . ca cs da de es eu fr gl he hu it ja nl nb pl pt ro ru sk sl sv uk)
|
||||
# language-specific-directories (like ca, de, es ...) are now globbed as "[a-z][a-z]"
|
||||
set(_all_languages "[a-z][a-z]")
|
||||
|
||||
lyx_install(${TOP_SRC_DIR}/lib bind *.bind . ${_all_languages})
|
||||
lyx_install(${TOP_SRC_DIR}/lib commands *.def .)
|
||||
|
||||
# this is handled in doc/CMakeLists.txt
|
||||
#lyx_install(${TOP_SRC_DIR}/lib doc *.lyx . ${_all_languages})
|
||||
#lyx_install(${TOP_SRC_DIR}/lib doc *.txt . ${_all_languages})
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc * biblio clipart)
|
||||
|
||||
lyx_install(${TOP_SRC_DIR}/lib doc/${_all_languages} * clipart)
|
||||
|
||||
lyx_install(${TOP_SRC_DIR}/lib examples * . ${_all_languages})
|
||||
lyx_install(${TOP_SRC_DIR}/lib fonts * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib images * . math commands)
|
||||
lyx_install(${TOP_SRC_DIR}/lib images * . math commands attic)
|
||||
lyx_install(${TOP_SRC_DIR}/lib kbd * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib layouts * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib lyx2lyx * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib scripts * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib lyx2lyx *.py .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib scripts *.py .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib templates * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib tex * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib ui * .)
|
||||
lyx_install(${TOP_SRC_DIR}/lib . * .)
|
||||
|
||||
# TODO also get dot-less filenames in lyx_install
|
||||
foreach(_file unicodesymbols encodings languages lyx2lyx/lyx2lyx)
|
||||
install(FILES ${TOP_SRC_DIR}/lib/${_file} DESTINATION .)
|
||||
endforeach(_file)
|
||||
|
||||
|
20
development/cmake/LyX_description.txt
Normal file
20
development/cmake/LyX_description.txt
Normal file
@ -0,0 +1,20 @@
|
||||
LyX is a document processor that encourages an approach to writing
|
||||
based on the structure of your documents, not their appearance. It
|
||||
is released under a Free Software/Open Source license (GPL v.2).
|
||||
|
||||
LyX is for people that write and want their writing to look great,
|
||||
right out of the box. No more endless tinkering with formatting
|
||||
details, 'finger painting' font attributes or futzing around with
|
||||
page boundaries. You just write. In the background, Prof. Knuth's
|
||||
legendary TeX typesetting engine makes you look good.
|
||||
|
||||
On screen, LyX looks like any word processor; its printed output --
|
||||
or richly cross-referenced PDF, just as readily produced -- looks
|
||||
like nothing else. Gone are the days of industrially bland .docs,
|
||||
all looking similarly not-quite-right, yet coming out unpredictably
|
||||
different on different printer drivers. Gone are the crashes
|
||||
'eating' your dissertation the evening before going to press.
|
||||
|
||||
LyX is stable and fully featured. It is a multi-platform, fully
|
||||
internationalized application running natively on Unix/Linux, the
|
||||
Macintosh and modern Windows platforms.
|
1
development/cmake/LyX_license.txt
Normal file
1
development/cmake/LyX_license.txt
Normal file
@ -0,0 +1 @@
|
||||
GPL
|
1
development/cmake/LyX_summary.txt
Normal file
1
development/cmake/LyX_summary.txt
Normal file
@ -0,0 +1 @@
|
||||
A WYSIWYM (What You See Is What You Mean) document processor
|
44
development/cmake/PyCompile.cmake
Normal file
44
development/cmake/PyCompile.cmake
Normal file
@ -0,0 +1,44 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2009, Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# , Kornel Benko, <Kornel.Benko@berlin.de>
|
||||
#
|
||||
|
||||
# _project has to be set before adding
|
||||
# #include(../PyCompile)
|
||||
project(${_project})
|
||||
|
||||
include(FindPythonInterp)
|
||||
|
||||
file(GLOB _py_files ${TOP_SRC_DIR}/lib/${_project}/*.py)
|
||||
|
||||
set(py_compile ${TOP_SRC_DIR}/config/py-compile)
|
||||
|
||||
set(_generated)
|
||||
set(ENV{PYTHON} ${PYTHON_EXECUTABLE})
|
||||
|
||||
foreach(_orig_py ${_py_files})
|
||||
get_filename_component(_base_we_py ${_orig_py} NAME_WE)
|
||||
set(_compiled_py_ "${CMAKE_CURRENT_BINARY_DIR}/${_base_we_py}.pyc" "${CMAKE_CURRENT_BINARY_DIR}/${_base_we_py}.pyo")
|
||||
set(_copied_py "${CMAKE_CURRENT_BINARY_DIR}/${_base_we_py}.py")
|
||||
# we need that file really local first, due to the "py_compile"-script
|
||||
# because the creation will be in the directory of .py-file
|
||||
add_custom_command(
|
||||
OUTPUT ${_copied_py}
|
||||
PRE_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "${_orig_py}" ${_copied_py}
|
||||
DEPENDS ${_orig_py}
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${_compiled_py_}
|
||||
PRE_BUILD
|
||||
COMMAND ${py_compile} ${_copied_py}
|
||||
DEPENDS ${_copied_py}
|
||||
)
|
||||
SET_SOURCE_FILES_PROPERTIES(${_copied_py} ${_created_py_} GENERATED)
|
||||
install(FILES ${_compiled_py_} DESTINATION ${_project})
|
||||
LIST(APPEND _generated ${_compiled_py_})
|
||||
endforeach(_orig_py)
|
||||
|
||||
ADD_CUSTOM_TARGET(${_project} ALL DEPENDS ${_generated})
|
@ -4,7 +4,7 @@
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* This is the compilation configuration file for LyX.
|
||||
* It was generated by autoconfs configure.
|
||||
* It was generated by cmake.
|
||||
* You might want to change some of the defaults if something goes wrong
|
||||
* during the compilation.
|
||||
*/
|
||||
@ -25,15 +25,16 @@
|
||||
|
||||
#cmakedefine PACKAGE "${PACKAGE}"
|
||||
#cmakedefine PACKAGE_VERSION "${PACKAGE_VERSION}"
|
||||
#cmakedefine PACKAGE_BUGREPORT "${PACKAGE_BUGREPORT}"
|
||||
#cmakedefine LYX_DATE "${LYX_DATE}"
|
||||
#cmakedefine VERSION_INFO "${VERSION_INFO}"
|
||||
#cmakedefine LYX_DIR_VER "${LYX_DIR_VER}"
|
||||
#cmakedefine LYX_USERDIR_VER "${LYX_USERDIR_VER}"
|
||||
|
||||
#cmakedefine PROGRAM_SUFFIX "${PPROGRAM_SUFFIX}"
|
||||
#cmakedefine LYX_ABS_INSTALLED_DATADIR "${LYX_DIR}"
|
||||
#cmakedefine LYX_ABS_INSTALLED_LOCALEDIR "${LOCALEDIR}"
|
||||
#cmakedefine LYX_ABS_TOP_SRCDIR "${TOP_SRCDIR}"
|
||||
#define PROGRAM_SUFFIX "${PROGRAM_SUFFIX}"
|
||||
#define LYX_ABS_INSTALLED_DATADIR "${LYX_ABS_INSTALLED_DATADIR}"
|
||||
#define LYX_ABS_INSTALLED_LOCALEDIR "${LYX_ABS_INSTALLED_LOCALEDIR}"
|
||||
#define LYX_ABS_TOP_SRCDIR "${TOP_SRC_DIR}"
|
||||
|
||||
#cmakedefine USE_POSIX_PACKAGING 1
|
||||
#cmakedefine USE_WINDOWS_PACKAGING 1
|
||||
|
@ -35,6 +35,7 @@
|
||||
#cmakedefine HAVE_OPEN 1
|
||||
#cmakedefine HAVE_CHMOD 1
|
||||
#cmakedefine HAVE_CLOSE 1
|
||||
#cmakedefine HAVE_DCGETTEXT 1
|
||||
#cmakedefine HAVE_POPEN 1
|
||||
#cmakedefine HAVE_PCLOSE 1
|
||||
#cmakedefine HAVE__OPEN 1
|
||||
@ -43,6 +44,7 @@
|
||||
#cmakedefine HAVE__PCLOSE 1
|
||||
#cmakedefine HAVE_GETPID 1
|
||||
#cmakedefine HAVE__GETPID 1
|
||||
#cmakedefine HAVE_GETTEXT 1
|
||||
#cmakedefine HAVE_MKDIR 1
|
||||
#cmakedefine HAVE__MKDIR 1
|
||||
#cmakedefine HAVE_PUTENV 1
|
||||
@ -96,13 +98,14 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#cmakedefine GETTEXT_FOUND 1
|
||||
|
||||
#cmakedefine HAVE_ALLOCA 1
|
||||
#cmakedefine HAVE_SYMBOL_ALLOCA 1
|
||||
#if defined(HAVE_SYMBOL_ALLOCA) && !defined(HAVE_ALLOCA)
|
||||
#define HAVE_ALLOCA
|
||||
#endif
|
||||
|
||||
|
||||
#cmakedefine HAVE_ICONV_CONST 1
|
||||
#ifdef HAVE_ICONV_CONST
|
||||
#define ICONV_CONST const
|
||||
|
40
development/cmake/doc/CMakeLists.txt
Normal file
40
development/cmake/doc/CMakeLists.txt
Normal file
@ -0,0 +1,40 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2008, 2009 Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# Copyright (c) 2008, 2009 Kornel Benko, <Kornel.Benko@berlin.de>
|
||||
#
|
||||
|
||||
project(doc)
|
||||
|
||||
#TODO: replace perl script with python, see scons:
|
||||
# http://www.lyx.org/trac/browser/lyx-devel/trunk/development/scons/scons_utils.py
|
||||
|
||||
SET(_docs)
|
||||
file(GLOB_RECURSE _rel_lyx_docs RELATIVE "${TOP_SRC_DIR}/lib/doc" "${TOP_SRC_DIR}/lib/doc/*.lyx" "${TOP_SRC_DIR}/lib/doc/*.txt")
|
||||
|
||||
foreach(_rel_doc ${_rel_lyx_docs})
|
||||
if ("${_rel_doc}" MATCHES "/" )
|
||||
string(REGEX REPLACE "/[^/]*$" "" _rel_dir_part ${_rel_doc})
|
||||
else("${_rel_doc}" MATCHES "/")
|
||||
set(_rel_dir_part ".")
|
||||
endif("${_rel_doc}" MATCHES "/")
|
||||
set(_created_doc "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}")
|
||||
get_filename_component(_doc_dir ${_created_doc} PATH)
|
||||
file(MAKE_DIRECTORY ${_doc_dir})
|
||||
#message("found relative file " ${_rel_doc})
|
||||
#message("input ${TOP_SRC_DIR}/lib/doc/${_rel_doc}")
|
||||
#message("output ${_created_doc}")
|
||||
#message("rel_dir_part ${_rel_dir_part}")
|
||||
SET_SOURCE_FILES_PROPERTIES(${_created_doc} GENERATED)
|
||||
add_custom_command(
|
||||
OUTPUT "${_created_doc}"
|
||||
COMMAND perl "${CMAKE_SOURCE_DIR}/doc/ReplaceValues.pl" "LYX_USERDIR_VER=${LYX_USERDIR_VER}" "LYX_DIR_VER=${LYX_DIR_VER}" "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" > "${_created_doc}"
|
||||
DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}"
|
||||
)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}" DESTINATION "doc/${_rel_dir_part}")
|
||||
LIST(APPEND _docs "${_created_doc}")
|
||||
endforeach(_rel_doc)
|
||||
|
||||
ADD_CUSTOM_TARGET(doc ALL DEPENDS ${_docs})
|
||||
|
42
development/cmake/doc/ReplaceValues.pl
Normal file
42
development/cmake/doc/ReplaceValues.pl
Normal file
@ -0,0 +1,42 @@
|
||||
#! /usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
|
||||
# Syntax: ReplaceValues.pl [<var1>=<Subst1> [<var2>=<Subst> ...]] <Inputfile> [<Inputfile> ...]
|
||||
|
||||
|
||||
# Parse Arguments for strings to substitute
|
||||
|
||||
my %Subst = ();
|
||||
|
||||
for my $arg (@ARGV) {
|
||||
if ($arg =~ /^([^=]+)=(.*)$/) {
|
||||
$Subst{$1} = $2;
|
||||
}
|
||||
else {
|
||||
# $arg should be filename here
|
||||
&SubstituteDataInFile($arg);
|
||||
}
|
||||
}
|
||||
|
||||
exit(0);
|
||||
|
||||
#################################################################
|
||||
sub SubstituteDataInFile($)
|
||||
{ my ($InFile) = @_;
|
||||
open(FI, '<', $InFile) || die("Could not read \"$InFile\"");
|
||||
while (my $l = <FI>) {
|
||||
print &SubstituteDataInLine($l);
|
||||
}
|
||||
close(FI);
|
||||
}
|
||||
|
||||
sub SubstituteDataInLine($)
|
||||
{my ($line) = @_;
|
||||
my $result = $line;
|
||||
for my $k (keys %Subst) {
|
||||
while ($result =~ s/\b$k\b/$Subst{$k}/) {
|
||||
}
|
||||
}
|
||||
return($result);
|
||||
}
|
17
development/cmake/lyx2lyx/CMakeLists.txt
Normal file
17
development/cmake/lyx2lyx/CMakeLists.txt
Normal file
@ -0,0 +1,17 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2008, 2009 Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# Copyright (c) 2008, 2009 Kornel Benko, <Kornel.Benko@berlin.de>
|
||||
#
|
||||
|
||||
configure_file(${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx_version.py.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lyx2lyx_version.py)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lyx2lyx_version.py DESTINATION lyx2lyx)
|
||||
|
||||
if (UNIX)
|
||||
set(_project "lyx2lyx")
|
||||
include(../PyCompile)
|
||||
endif()
|
||||
|
||||
install(PROGRAMS ${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx DESTINATION lyx2lyx)
|
30
development/cmake/man/CMakeLists.txt
Executable file
30
development/cmake/man/CMakeLists.txt
Executable file
@ -0,0 +1,30 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2008, 2009 Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# Copyright (c) 2008, 2009 Kornel Benko, <Kornel.Benko@berlin.de>
|
||||
#
|
||||
|
||||
project(man)
|
||||
|
||||
SET(_manuals)
|
||||
set(program_suffix ${PROGRAM_SUFFIX})
|
||||
macro(add_manual _mansrc)
|
||||
get_filename_component(_mandest ${_mansrc} NAME_WE)
|
||||
SET(_created_manual "${CMAKE_CURRENT_BINARY_DIR}/${_mandest}${PROGRAM_SUFFIX}.1")
|
||||
configure_file("${TOP_SRC_DIR}/${_mansrc}" ${_created_manual} @ONLY)
|
||||
SET_SOURCE_FILES_PROPERTIES(${_created_manual} GENERATED)
|
||||
LIST(APPEND _manuals ${_created_manual})
|
||||
endmacro(add_manual)
|
||||
|
||||
set(real_pkgdatadir ${LYX_ABS_INSTALLED_DATADIR})
|
||||
foreach(_mn lyx.1in src/client/lyxclient.man src/tex2lyx/tex2lyx.1)
|
||||
add_manual(${_mn})
|
||||
endforeach(_mn)
|
||||
|
||||
ADD_CUSTOM_TARGET(man ALL DEPENDS ${_manuals})
|
||||
|
||||
install(FILES ${_manuals} DESTINATION man/man1)
|
||||
|
||||
# ADD_MANUALS("lyx")
|
||||
|
73
development/cmake/modules/FindLyXGettext.cmake
Executable file
73
development/cmake/modules/FindLyXGettext.cmake
Executable file
@ -0,0 +1,73 @@
|
||||
# - Slightly modified Find GNU gettext tools
|
||||
# This module looks for the GNU gettext tools. This module defines the
|
||||
# following values:
|
||||
# GETTEXT_MSGMERGE_EXECUTABLE: the full path to the msgmerge tool.
|
||||
# GETTEXT_MSGFMT_EXECUTABLE: the full path to the msgfmt tool.
|
||||
# GETTEXT_FOUND: True if gettext has been found.
|
||||
#
|
||||
# Additionally it provides the following macros:
|
||||
# GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ... fileN )
|
||||
# This will create a target "translations" which will convert the
|
||||
# given input po files into the binary output mo file. If the
|
||||
# ALL option is used, the translations will also be created when
|
||||
# building the default target.
|
||||
|
||||
FIND_PROGRAM(GETTEXT_MSGMERGE_EXECUTABLE msgmerge)
|
||||
|
||||
FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
|
||||
|
||||
MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
|
||||
|
||||
SET(_gmoFiles)
|
||||
# remove only the last extension e.g
|
||||
# LyX2.0.pot ==> LyX2.0
|
||||
# and not LyX2.0.pot ==> LyX2
|
||||
# as it would be with NAME_WE
|
||||
# GET_FILENAME_COMPONENT(_potBasename ${_potFile} NAME_WE)
|
||||
GET_FILENAME_COMPONENT(_potname ${_potFile} NAME)
|
||||
if (_potname MATCHES "^\(.+\)\\.[^\\.]+$")
|
||||
set(_potBasename ${CMAKE_MATCH_1})
|
||||
else()
|
||||
set(_potBasename ${_potname})
|
||||
endif()
|
||||
GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE)
|
||||
|
||||
SET(_addToAll)
|
||||
IF(${_firstPoFile} STREQUAL "ALL")
|
||||
SET(_addToAll "ALL")
|
||||
SET(_firstPoFile)
|
||||
ENDIF(${_firstPoFile} STREQUAL "ALL")
|
||||
|
||||
FOREACH (_currentPoFile ${ARGN})
|
||||
GET_FILENAME_COMPONENT(_absFile ${_currentPoFile} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH)
|
||||
GET_FILENAME_COMPONENT(_lang ${_absFile} NAME_WE)
|
||||
SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_gmoFile}
|
||||
COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
|
||||
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
|
||||
DEPENDS ${_absPotFile} ${_absFile}
|
||||
)
|
||||
|
||||
INSTALL(FILES ${_gmoFile} DESTINATION ${LYX_LOCALEDIR}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
|
||||
SET(_gmoFiles ${_gmoFiles} ${_gmoFile})
|
||||
|
||||
ENDFOREACH (_currentPoFile )
|
||||
|
||||
ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles})
|
||||
|
||||
ENDMACRO(GETTEXT_CREATE_TRANSLATIONS )
|
||||
|
||||
IF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
|
||||
SET(GETTEXT_FOUND TRUE)
|
||||
ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
|
||||
SET(GETTEXT_FOUND FALSE)
|
||||
IF (GetText_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "GetText not found")
|
||||
ENDIF (GetText_REQUIRED)
|
||||
ENDIF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
|
||||
|
||||
|
||||
|
@ -34,7 +34,7 @@ else()
|
||||
if(ZLIB_FIND_REQUIRED)
|
||||
message(STATUS "Looked for Z libraries named ${POTENTIAL_Z_LIBS}.")
|
||||
message(STATUS "Found no acceptable Z library. This is fatal.")
|
||||
message(FATAL_ERROR "Could NOT find z library")
|
||||
message(FATAL_ERROR "Could NOT find z library, set GNUWIN32_DIR to dir containing /include and /bin folders: -DGNUWIN32_DIR=...")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
87
development/cmake/po/CMakeLists.txt
Executable file
87
development/cmake/po/CMakeLists.txt
Executable file
@ -0,0 +1,87 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2008, 2009 Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# Copyright (c) 2008, 2009 Kornel Benko, <Kornel.Benko@berlin.de>
|
||||
#
|
||||
|
||||
project(po)
|
||||
|
||||
include_directories(${TOP_SRC_DIR}/po)
|
||||
|
||||
SET(_lyxname ${PACKAGE})
|
||||
SET(_py_sources)
|
||||
macro(add_gettext_python _par _dir)
|
||||
file(GLOB _sources ${TOP_SRC_DIR}/${_dir}/${ARGN})
|
||||
SET(_dst "${CMAKE_CURRENT_BINARY_DIR}/${_par}_l10n.pot")
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT "${_dst}"
|
||||
PRE_BUILD
|
||||
COMMAND python
|
||||
ARGS "${TOP_SRC_DIR}/po/lyx_pot.py" -b "${TOP_SRC_DIR}" -o "${_dst}" -t ${_par} ${_sources}
|
||||
DEPENDS ${_sources}
|
||||
)
|
||||
SET_SOURCE_FILES_PROPERTIES("${_dst}" GENERATED)
|
||||
LIST(APPEND _py_sources "${_dst}")
|
||||
endmacro(add_gettext_python)
|
||||
|
||||
SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot" GENERATED)
|
||||
SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" GENERATED)
|
||||
SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot" GENERATED)
|
||||
|
||||
add_gettext_python(encodings lib encodings)
|
||||
add_gettext_python(external lib external_templates)
|
||||
add_gettext_python(formats lib configure.py)
|
||||
add_gettext_python(languages lib languages)
|
||||
add_gettext_python(layouts lib/layouts *.layouts *.inc *.module)
|
||||
add_gettext_python(qt4 src/frontends/qt4/ui *.ui)
|
||||
add_gettext_python(ui lib/ui *.ui *.inc)
|
||||
|
||||
FIND_PROGRAM(GETTEXT_XGETTEXT_EXECUTABLE xgettext)
|
||||
FIND_PROGRAM(GETTEXT_MSGUNIQ_EXECUTABLE msguniq)
|
||||
|
||||
# TODO:
|
||||
# We need here perl, because I don't know how
|
||||
# to write the alternative for "cat" in python
|
||||
# e.g. perl -e "\"while(<>){print;}\""
|
||||
# But maybe Jose knows?
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
|
||||
COMMAND perl
|
||||
ARGS -e "\"while(<>){print;}\"" ${_py_sources} > "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
|
||||
DEPENDS ${_py_sources}
|
||||
)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot"
|
||||
COMMAND ${GETTEXT_MSGUNIQ_EXECUTABLE}
|
||||
ARGS -o "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
|
||||
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
|
||||
)
|
||||
|
||||
SET(_potfiles_dep)
|
||||
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in "")
|
||||
foreach(_dir src src/frontends/qt4 src/insets src/mathed src/support src/tex2lyx)
|
||||
file(GLOB _tmp_potfiles RELATIVE ${TOP_SRC_DIR} ${TOP_SRC_DIR}/${_dir}/*.cpp)
|
||||
foreach(_f ${_tmp_potfiles})
|
||||
LIST(APPEND _potfiles_dep "${TOP_SRC_DIR}/${_f}")
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in "${_f}\n")
|
||||
endforeach(_f)
|
||||
endforeach(_dir)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot"
|
||||
COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE}
|
||||
ARGS --default-domain=${_lyxname} --directory=${TOP_SRC_DIR} --add-comments=TRANSLATORS: --language=C++ --join-existing --keyword=_ --keyword=N_ --keyword=B_ --keyword=qt_ --files-from="${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in" --copyright-holder='LyX Developers' --msgid-bugs-address=lyx-devel@lists.lyx.org -o "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot"
|
||||
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" ${_potfiles_dep}
|
||||
)
|
||||
|
||||
file(GLOB LYX_PO_FILES ${TOP_SRC_DIR}/po/*.po)
|
||||
|
||||
GETTEXT_CREATE_TRANSLATIONS(${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot ALL ${LYX_PO_FILES})
|
||||
|
||||
# ADD_POFILES("lyx")
|
||||
|
12
development/cmake/scripts/CMakeLists.txt
Normal file
12
development/cmake/scripts/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2008, 2009 Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# Copyright (c) 2008, 2009 Kornel Benko, <Kornel.Benko@berlin.de>
|
||||
#
|
||||
|
||||
if (UNIX)
|
||||
set(_project "scripts")
|
||||
include(../PyCompile)
|
||||
endif()
|
||||
|
@ -4,7 +4,8 @@
|
||||
# Copyright (c) 2006, Peter Kümmel, <syntheticpp@gmx.net>
|
||||
#
|
||||
|
||||
project(lyx)
|
||||
set(_lyx ${PACKAGE_BASE}${PROGRAM_SUFFIX})
|
||||
project(${_lyx})
|
||||
|
||||
include_directories(${TOP_SRC_DIR}/src)
|
||||
|
||||
@ -14,7 +15,9 @@ add_subdirectory(insets)
|
||||
add_subdirectory(mathed)
|
||||
add_subdirectory(support)
|
||||
add_subdirectory(tex2lyx)
|
||||
|
||||
if (UNIX)
|
||||
add_subdirectory(client)
|
||||
endif()
|
||||
|
||||
file(GLOB lyx_sources ${TOP_SRC_DIR}/src/${LYX_CPP_FILES})
|
||||
file(GLOB lyx_headers ${TOP_SRC_DIR}/src/${LYX_HPP_FILES})
|
||||
@ -26,7 +29,7 @@ list(REMOVE_ITEM lyx_sources
|
||||
${TOP_SRC_DIR}/src/Variables.cpp
|
||||
${TOP_SRC_DIR}/src/Section.cpp)
|
||||
|
||||
if(ASPELL_FOUND)
|
||||
if (ASPELL_FOUND)
|
||||
include_directories(${ASPELL_INCLUDE_DIR})
|
||||
set(lyx_sources ${lyx_sources} ${TOP_SRC_DIR}/src/ASpell.cpp)
|
||||
endif()
|
||||
@ -37,27 +40,27 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}
|
||||
lyx_add_msvc_pch(lyx)
|
||||
|
||||
|
||||
if(NOT MERGE_FILES)
|
||||
if (NOT MERGE_FILES)
|
||||
set(lyx_sources ${lyx_sources})
|
||||
else()
|
||||
lyx_const_touched_files(_allinone lyx_sources)
|
||||
set(lyx_sources ${_allinone_files})
|
||||
endif()
|
||||
|
||||
if(LYX_LEAK_DETECTION)
|
||||
if (LYX_LEAK_DETECTION)
|
||||
configure_file(${vld_path}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/vld.ini COPYONLY)
|
||||
configure_file(${vld_path}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/memory_leak_report.txt COPYONLY)
|
||||
set(vld_files ${CMAKE_CURRENT_BINARY_DIR}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/memory_leak_report.txt)
|
||||
endif()
|
||||
|
||||
add_executable(lyx
|
||||
add_executable(${_lyx}
|
||||
${WIN32_CONSOLE}
|
||||
${lyx_sources}
|
||||
${lyx_headers}
|
||||
${vld_files}
|
||||
)
|
||||
)
|
||||
|
||||
target_link_libraries(lyx
|
||||
target_link_libraries(${_lyx}
|
||||
mathed
|
||||
insets
|
||||
frontends
|
||||
@ -69,20 +72,20 @@ target_link_libraries(lyx
|
||||
${QT_QTMAIN_LIBRARY}
|
||||
${vld_dll})
|
||||
|
||||
if(ASPELL_FOUND)
|
||||
target_link_libraries(lyx ${ASPELL_LIBRARY})
|
||||
if (ASPELL_FOUND)
|
||||
target_link_libraries(${_lyx} ${ASPELL_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(lyx "-bind_at_load" )
|
||||
target_link_libraries(lyx "-framework Carbon" )
|
||||
if (APPLE)
|
||||
target_link_libraries(${_lyx} "-bind_at_load")
|
||||
target_link_libraries(${_lyx} "-framework Carbon")
|
||||
endif()
|
||||
|
||||
if(MINGW)
|
||||
target_link_libraries(lyx ole32)
|
||||
if (MINGW)
|
||||
target_link_libraries(${_lyx} ole32)
|
||||
endif()
|
||||
|
||||
project_source_group("${GROUP_CODE}" lyx_sources lyx_headers)
|
||||
|
||||
install(TARGETS lyx DESTINATION bin)
|
||||
install(TARGETS ${_lyx} DESTINATION bin)
|
||||
|
||||
|
39
development/cmake/src/client/CMakeLists.txt
Normal file
39
development/cmake/src/client/CMakeLists.txt
Normal file
@ -0,0 +1,39 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2008, 2009 Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# Copyright (c) 2008, 2009 Kornel Benko, <Kornel.Benko@berlin.de>
|
||||
#
|
||||
|
||||
set(_lyxclient lyxclient${PROGRAM_SUFFIX})
|
||||
project(${_lyxclient})
|
||||
|
||||
file(GLOB _lyxclient_sources ${TOP_SRC_DIR}/src/client/*.cpp)
|
||||
file(GLOB _lyxclient_headers ${TOP_SRC_DIR}/src/client/*.h)
|
||||
list(REMOVE_ITEM _lyxclient_headers "${TOP_SRC_DIR}/src/client/pch.h")
|
||||
|
||||
include_directories(BEFORE "${TOP_SRC_DIR}/src/client"
|
||||
"${TOP_SRC_DIR}/boost" ${ZLIB_INCLUDE_DIR})
|
||||
|
||||
add_executable(${_lyxclient} ${_lyxclient_sources} ${_lyxclient_headers})
|
||||
|
||||
|
||||
target_link_libraries(${_lyxclient}
|
||||
support
|
||||
boost_regex
|
||||
${LIBINTL_LIBRARIES}
|
||||
${ICONV_LIBRARY}
|
||||
${QT_QTCORE_LIBRARY}
|
||||
${QT_QTGUI_LIBRARY}
|
||||
)
|
||||
|
||||
if (ASPELL_FOUND)
|
||||
target_link_libraries(${_lyxclient} ${ASPELL_LIBRARY})
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
target_link_libraries(${_lyxclient} "-framework Carbon")
|
||||
endif()
|
||||
|
||||
install(TARGETS ${_lyxclient} DESTINATION bin)
|
||||
|
Loading…
Reference in New Issue
Block a user