For a suffixed version (with suffix 2.3) and installation dir (/usr/local)
the new paths are:
binary -> /usr/local/bin
system-lib -> /usr/local/share/lyx2.3
fonts -> /usr/local/fonts/truetype/lyx2.3
manuals -> /usr/local/man/man1
locales -> /usr/local/share/locale
tex -> /usr/local/texmf/tex/latex/lyx2.3
This patch improves the cmake bundling process:
- reworked bundle handling for OS X: only when installing resources are copied, otherwise
only the smallest bundle is built
- on OS X, the utility programs (tex2lyx) are now installed in the right location
- it removes some unneeded BUNDLE DESTINATION
- it provides a basic support for QT plugins inclusion
- it properly builds a disk image on OS X (only the background image is missing)
- it fixes the library paths for all executables (not only LyX)
- Use the COPYING file for cmake install license
Just some comments on the patch:
- The executable name has to match the information in Info.plist (development/MacOSX/Info.plist.in and CMakeLists.txt). The autoconf config/lyxinclude.m4 file has been modified to make it work with autotools.
- The process to build OS X bundle is to first add all the files to be included to the bundle when calling add_executable (src/CMakeLists.txt) and then by calling setting the source file property of each of these files (development/cmake/Install.cmake, l.14) so that the files are properly located into the bundle. This is also why Install.cmake has to be included two times in src/CMakeLists.txt (once to build the list of files, once to set the location of the list of files).
- in CMakeLists.txt there is a line
install(CODE "set(BU_CHMOD_BUNDLE_ITEMS 1)")
What it does is to fix the owner permissions within the bundle - this is necessary because some libraries are copied within the bundle and might be owned by root
- An empty qt.conf is included in the bundle so that QT does not try to link to other QT libraries (which will not be included in the bundle)
- In development/cmake/Install.cmake, some OS X specific files (*.sdef, qt.conf, *.icns) have to be included in the bundle
Benjamin
Installation of executabe lyx2lyx
creation and installation of lyx2lyx_version.py
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28241 a592a061-630c-0410-9148-cb99ea01b6c8
development/cmake/Install.cmake
Added directory scripts
Corrected handling of directories. There may well be empty _dir_list.
(if we search for e.g. lib/doc/en/clipart, there is nothing)
development/cmake/lyx2lyx/CMakeLists.txt
most ot the code moved to development/cmake/lyx2lyx/CMakeLists.txt,
we include now this module.
development/cmake/CMakeLists.txt
add the subdirectory "scripts"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28100 a592a061-630c-0410-9148-cb99ea01b6c8
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
New files:
Directories:
development/cmake/po
development/cmake/man
Files:
development/cmake/po/CMakeLists.txt
Creates lyx.pot and *.gmo-files;
Installs ${_lang} as ${LYX_ABS_INSTALLED_DATADIR}/${LYX_LOCALEDIR}/${_lang}/LC_MESSAGES/lyx.mo
development/cmake/man/CMakeLists.txt
Handling of lyx-manuals.
development/cmake/modules/FindLyXGettext.cmake
Original: (GNU) FindGettext.cmake
Changed the installation subdirectory of .gmo-files.
Previously installing into "/usr/local/share/lyx2.0" led
to e.g. /usr/local/share/lyx2.0/share/locale/de/LC_MESSAGES/lyx.mo
now /usr/local/share/lyx2.0/locale/de/LC_MESSAGES/lyx.mo
Changes:
development/cmake/Install.cmake
macro lyx_install _parent_src_dir
searches now through directories specified as simple regular expression.
Until now we had to specify explicitly each directory for each language.
Mode of the DESTINATION/lyx2lyx is now corect
Installation of the .gmo files
development/cmake/config.h.cmake:
Changed some #cmakedefine to #define, because config_file() did not
substitute the desired values in config.h.
Some typos corrected (TOP_SRCDIR -> TOP_SRC_DIR)
development/cmake/configCompiler.h.cmake
Removed doubly defined ENABLE_NLS, HAVE_LC_MESSAGES
Installation directory still hardcoded, users need to to set environment
variable LYX_LOCALEDIR to get the corect translations.
development/cmake/CMakeLists.txt
Setting correct values to LYX_ABS_INSTALLED_DATADIR,
LYX_ABS_INSTALLED_LOCALEDIR, LYX_ABS_TOP_SRCDIR.
Now the lyx-executable searches on the installed places for it's data,
so no need to set environment anymore.
New variable: LYX_LOCALEDIR. We need it later in FindLyXGettext.cmake,
because we cannot use the absolute path LYX_ABS_INSTALLED_LOCALEDIR.
(We need relative path when packaging to different root-directory).
Use of module FindLyXGettext.cmake: This is a modified version
of (GNU) FindGettext.cmake
Include the new development/cmake/po directory
Include the new development/cmake/man directory
development/cmake/po/CMakeLists.txt
Creation of lyx.pot and apropriate .gmo files
Creating lyx.pot file
I had to use perl to simulate the unix "cat" command. Maybe Jose can
write the corect statement in python
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27973 a592a061-630c-0410-9148-cb99ea01b6c8