From: Peter Kümmel Date: Sat, 3 Jan 2009 10:53:24 +0000 (+0000) Subject: Kornel X-Git-Tag: 2.0.0~7515 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=afe522b1f6f2f3e7ff5cef83f1cc3414f86dc6a9;p=features.git Kornel New files: development/cmake/doc/ReplaceValues.pl perl-script to substitute words (defined in the cmd-line) with their actual values development/cmake/doc/CMakefiles.txt convert and install files .lyx and .txt-files from the lib/doc-directory development/cmake/src/client/CMakeLists.txt create and install lyxclient Changed: development/cmake/Install.cmake include the new doc-directory remove installation of .lyx from the doc-directory. Will be installed in development/cmake/doc/CMakefiles.txt development/cmake/Install.cmake changed macro lyx_install() to not insert '.' into the globbing-expression automatically. We need sometimes also dotless files. development/cmake/src/CMakefiles.txt Added subdirectory client to create and install lyxclient on unix-like systems git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27978 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/development/cmake/CMakeLists.txt b/development/cmake/CMakeLists.txt index e73504a8dd..1c6e123a25 100644 --- a/development/cmake/CMakeLists.txt +++ b/development/cmake/CMakeLists.txt @@ -336,8 +336,9 @@ if(NOT use_external_libintl) endif() add_subdirectory(src) -include_directories(man) +include_directories(man doc) add_subdirectory(man) +add_subdirectory(doc) include(../Install) diff --git a/development/cmake/Install.cmake b/development/cmake/Install.cmake index 0324d2e3f7..559ecbc459 100755 --- a/development/cmake/Install.cmake +++ b/development/cmake/Install.cmake @@ -9,7 +9,7 @@ macro(lyx_install _parent_src_dir _dir _file_type) foreach(_glob_dir ${ARGN}) file(GLOB _dir_list ${_parent_src_dir}/${_dir}/${_glob_dir}) foreach(_current_dir ${_dir_list}) - file(GLOB files_list ${_current_dir}/*.${_file_type}) + file(GLOB files_list ${_current_dir}/${_file_type}) 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") @@ -22,10 +22,12 @@ macro(lyx_install _parent_src_dir _dir _file_type) endmacro(lyx_install) -lyx_install(${TOP_SRC_DIR}/lib bind bind . [a-z][a-z]) -lyx_install(${TOP_SRC_DIR}/lib commands def .) -lyx_install(${TOP_SRC_DIR}/lib doc lyx . [a-z][a-z]) -lyx_install(${TOP_SRC_DIR}/lib doc * clipart) +lyx_install(${TOP_SRC_DIR}/lib bind *.bind . [a-z][a-z]) +lyx_install(${TOP_SRC_DIR}/lib commands *.def .) +# this is handled in doc/CMakefile.txt +#lyx_install(${TOP_SRC_DIR}/lib doc *.lyx . [a-z][a-z]) +#lyx_install(${TOP_SRC_DIR}/lib doc *.txt . [a-z][a-z]) +lyx_install(${TOP_SRC_DIR}/lib doc * biblio 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) @@ -44,11 +46,4 @@ 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 -install(FILES ${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx DESTINATION lyx2lyx PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ) -foreach(_file unicodesymbols encodings languages) - install(FILES ${TOP_SRC_DIR}/lib/${_file} DESTINATION .) -endforeach(_file) - -# TODO - +install(PROGRAMS ${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx DESTINATION lyx2lyx) diff --git a/development/cmake/doc/CMakeLists.txt b/development/cmake/doc/CMakeLists.txt new file mode 100644 index 0000000000..f3a1c2636b --- /dev/null +++ b/development/cmake/doc/CMakeLists.txt @@ -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, Peter Kümmel, +# , Kornel Benko, +# + +project(lyx) + +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}) + + + diff --git a/development/cmake/doc/ReplaceValues.pl b/development/cmake/doc/ReplaceValues.pl new file mode 100644 index 0000000000..d3bd8139e6 --- /dev/null +++ b/development/cmake/doc/ReplaceValues.pl @@ -0,0 +1,42 @@ +#! /usr/bin/env perl + +use strict; + +# Syntax: ReplaceValues.pl [= [= ...]] [ ...] + + +# 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 = ) { + 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); + } diff --git a/development/cmake/src/CMakeLists.txt b/development/cmake/src/CMakeLists.txt index ef804a8905..8b99bc00c6 100644 --- a/development/cmake/src/CMakeLists.txt +++ b/development/cmake/src/CMakeLists.txt @@ -8,13 +8,15 @@ project(lyx) include_directories(${TOP_SRC_DIR}/src) -add_subdirectory(frontends) -add_subdirectory(graphics) -add_subdirectory(insets) -add_subdirectory(mathed) -add_subdirectory(support) -add_subdirectory(tex2lyx) - +add_subdirectory(frontends) +add_subdirectory(graphics) +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}) @@ -25,8 +27,8 @@ list(REMOVE_ITEM lyx_sources ${TOP_SRC_DIR}/src/ISpell.cpp ${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,14 +39,14 @@ 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) @@ -52,10 +54,10 @@ endif() add_executable(lyx ${WIN32_CONSOLE} - ${lyx_sources} + ${lyx_sources} ${lyx_headers} ${vld_files} - ) +) target_link_libraries(lyx mathed @@ -69,16 +71,16 @@ target_link_libraries(lyx ${QT_QTMAIN_LIBRARY} ${vld_dll}) -if(ASPELL_FOUND) +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) +if (MINGW) target_link_libraries(lyx ole32) endif() diff --git a/development/cmake/src/client/CMakeLists.txt b/development/cmake/src/client/CMakeLists.txt new file mode 100644 index 0000000000..79c21edba4 --- /dev/null +++ b/development/cmake/src/client/CMakeLists.txt @@ -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, Peter Kümmel, +# , Kornel Benko, +# + +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) +