Commit Graph

559 Commits

Author SHA1 Message Date
Benjamin Piwowarski
14de3aa49b CMake install and bundling improvements (esp. OS X)
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
2014-04-21 11:51:04 -04:00
Kornel Benko
1bff751639 Cmake build: Assign package name dynamically
This enables to install different lyx-versions simultaneously via
the package manager.
2014-04-19 11:09:25 +02:00
Benjamin Piwowarski
26fad1b79c Fix typo in configFunctions.h (wrong define for the header) 2014-03-13 08:28:06 +01:00
Vincent van Ravesteijn
3f771c96d3 Fix EOLs 2014-03-10 21:04:25 +01:00
Vincent van Ravesteijn
eb219e1130 CMake: Regenerate deleted gmo files 2014-02-03 21:19:33 +01:00
Vincent van Ravesteijn
181e64c724 CMake: Put the docs projects in a subdirectory 2014-02-03 20:07:14 +01:00
Vincent van Ravesteijn
f63221aba4 CMake: Add target update-gmo
This target will update the gmo files if and only if the associated
po-file is modified. To determine whether a file is modified, 'git
status --porcelain' is used.

This follows up on commit 06782542.
2014-02-03 20:07:12 +01:00
Kornel Benko
499c5cfe57 Adapt cmake build to use c++11 features also for clang compiler 2013-12-15 11:41:28 +01:00
Scott Kostyshak
63deac73b3 Fix CMake install of examples/thesis
I should have done this in f5cf21d7.
2013-11-27 07:56:43 -05:00
Kornel Benko
805e51eff8 Implement file locking and apply to configure
Functions for file locking are added. They are used for ensuring that
for specified userdir only one LyX process runs configure.
2013-11-20 19:40:32 +01:00
Raphael Kubo da Costa
ca7214b410 Remove FreeBSD checks when defining USE_WCHAR_T.
The problems the comments in the build systems refer to seem to have been
fixed for years. [1] says the checks in libstdc++ have been improved, and
all supported FreeBSD versions enable wchar_t support unconditionally in
libstdc++. Additionally, this needlessly impacts FreeBSD when libc++ is used
instead of libstdc++.

[1] http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.freebsd_wchar
2013-10-18 03:07:30 +02:00
Kornel Benko
075d903941 Prevent build of <lang>.gmo in case of error.
Given erroneous <lang>.po file, this yields to error on first call
to make. Nonetheless a new <lang>.gmo file is created. The following
calls to make do not get an error.
This patch prevents the <lang>.gmo creation on error.

Problem spotted by Scott.
2013-09-10 08:00:29 +02:00
Kornel Benko
f2553ebf6c Cmake build tests: Threadsafety and test-labeling
The tests are now more robust if ctest uses '-j' (number of threads) parameter.
a.) keytests are running in sequence and in one thread only, no other thread running
b.) tex2lyx tests are locking in respect to each other
c.) Test gets one or more labels, so that we can select
        ctest -L url
  to run tests labeled url
d.) New macro settestlabel() to add labels to a test
2013-09-07 09:25:02 +02:00
Kornel Benko
0a779e9543 Cmake build: Move default for man-pages to /usr/local/man
and at the same time make it configurable.
Until now it was hard wired to a subdirectory of installed lyx.
2013-09-06 14:56:31 +02:00
Kornel Benko
f697e50fd3 Cmake build: remove warnings with newer cmake
Omit using empty defines in find_path() and find_library()
2013-08-23 00:02:56 +02:00
Kornel Benko
e1a442509d Cmake build: install moved springer files
The spriger directory moved from templates to examples,
but the installation of them was forgotten.
2013-08-11 21:22:00 +02:00
Kornel Benko
b810c5744f cmake: Make really sure, also the first po-file will be
processed, if it is not "ALL"
We cannot overwrite tha params given to a macro. Instead
use an own variable.
2013-06-02 17:52:40 +02:00
Vincent van Ravesteijn
90610dbc0d CMake: Make sure the first po file is also processed 2013-06-02 15:32:33 +02:00
Vincent van Ravesteijn
a3c864102a CMake: Remove libintl 2013-05-30 22:10:01 +02:00
Vincent van Ravesteijn
4738ba0f1a qt5: Fix use of zlib using config.h 2013-05-14 17:34:53 +02:00
Vincent van Ravesteijn
1ede4a51d3 CPack: Do not use CPACK_SET_DESTDIR on Windows 2013-04-25 21:18:41 +02:00
Vincent van Ravesteijn
925c35f22e Fix CMake on Windows 2013-04-25 20:18:46 +02:00
Vincent van Ravesteijn
6f8a74791b Adjust CMake for Qt5 2013-04-23 21:45:49 +02:00
Vincent van Ravesteijn
09c2e58373 Extend and use qt4_wrap_ui 2013-04-23 21:45:39 +02:00
Kornel Benko
9af4d0fa8c Cmake build: Unfortunatelly, there are some cmake versions
which have not error-free version of FindQt4.cmake.
We have to stick with our own (and old) module.
2013-03-20 20:51:50 +01:00
Kornel Benko
7dbd777146 cmake build: Add check for required QT-version 4.5.0 or higher
Since our own module does not respect the version parameter,
while the cmake provided does, also remove our FindQt4.cmake
2013-03-20 11:39:45 +01:00
Kornel Benko
0ea6654228 Cmake build: Creating a define for a header file found
need now only changes in the list of header files in ConfigureChecks.cmake.
2013-02-12 19:01:16 +01:00
Kornel Benko
88101bae75 C&P error. Sorry 2013-02-12 17:46:35 +01:00
Kornel Benko
ae04b1a18e Cmake build: Correct the previous commit.
We have to apply configure_file() twice, therefor the new file.
2013-02-12 17:40:32 +01:00
Kornel Benko
5970aff01a Cmake build: If checking for new function, say xyzzy, we want
have a definition '#define HAVE_XYZZY 1'.
Now, it is sufficient to add xyzzy to list of functions in ConfigureChecks.cmake'
2013-02-12 17:22:07 +01:00
Kornel Benko
36c5c7b9c5 Cmake build: 1.) Sort function checcking alphabetically
2.) add definition HAVE_UNSETENV to header
2013-02-12 15:27:39 +01:00
Jean-Marc Lasgouttes
81d863fd41 Fix bug #8537: LyX creates the environment variable LC_ALL
The current code is not able to unset an environment variable, only to set it to an empty value. This patch refactors a bit the Message class and uses a new EnvChanger helper class that allows to change temporarily an environment variable and that is able to unset variables if needed.

The patch also adds new functions hasEnv and unsetEnv in environment.cpp.

Open issues:
 * there may be systems where unsetenv is not available and putenv("name=") does not do the right thing;
 * unsetenv may lead to leaks on some platforms.
 * when using unsetenv, we may need to remove strings from the internal map that setEnv uses.
2013-02-12 12:14:06 +01:00
Uwe Stöhr
409f384e21 cmake/build.bat: update build script for installations 2013-01-13 20:16:06 +01:00
Kornel Benko
ab1be44b92 Cmake build: Add .tex files to the list of doc-files.
(This adds "SpecialParagraphShape.tex", which is needed by
Additional.lyx)
2013-01-13 15:31:23 +01:00
Kornel Benko
03abfd4c7d C&P error 2013-01-09 16:40:54 +01:00
Kornel Benko
46e51018d5 Cmake build: Correct creation of lyx_date.h because of
not defined behaviour cmake command copy_if_different
in case, the destination is not present
2013-01-09 16:31:45 +01:00
Vincent van Ravesteijn
0cd8c03d17 CMake: Put projects into subdirs
This patch puts all projects into subfolders (at least for MSVS). In this
way, there is a better overview (especially if the number of test projects
will be increasing).
2012-12-15 11:02:06 +01:00
Kornel Benko
d91d6e3343 Cmake build:
Cleanup the use of path-variables
2012-11-02 13:33:22 +01:00
Kornel Benko
7ede020a02 Cmake build:
1.) Cleanup the use of path-variables
2.) New directory for cmake-scripts which can be called
    at build-time
2012-11-02 13:25:04 +01:00
Kornel Benko
854b168d17 Cmake build:
Correct dependencies for version-info also at build-time
(not only at configure time)
2012-11-01 13:00:19 +01:00
Kornel Benko
78492b276d Cmake build:
Use message(FATAL_ERROR ...) to indicate failed call to a cmake-script
(like "exit -1;" in sh)
2012-10-31 10:33:02 +01:00
Kornel Benko
1b65a03c13 Cmake build: cleanup 2012-10-25 11:19:09 +02:00
Kornel Benko
d1ca207e94 Cmake build:
Next try to create Resources.qrc on the fly.
This time using a cmake-script instead of trying to rebuild the cache
2012-10-25 10:45:28 +02:00
Kornel Benko
d854ded56e Cmake build:
Do not recreate Resources.qrc at build-time for WIN32.
(For some yet unknown reason it does not work)
2012-10-24 10:24:59 +02:00
Kornel Benko
2626821ee2 Cmake build:
Modifications needed to work also if the path to build-dir
contains spaces. (Tested on linux)
2012-10-23 13:23:07 +02:00
Kornel Benko
e94e9e415f Cmake build:
Recreate Resources.qrc at build-time if needed. (E.g. after `make clean')
2012-10-21 19:16:37 +02:00
Kornel Benko
419f32df91 Cmake build:
Creating LYX_DATE dynamically at configure-time caused unwanted recompilation
of the whole directories (src + src/tex2lyx) because all the relevant objects
were dependent of a common file (flags.make in case of "Unix makefiles") which changed
accordingly.
There is now a new include (lyx_date.h, with only one definition)

Nothing changes for automake, since in this case LYX_DATE is defined in config.h
2012-10-15 22:50:39 +02:00
Kornel Benko
24206e2c67 Cmake build:
Partially revert 75d63ad1f2
It caused recompiling everything at each commit.
Now use definition of LYX_DATE only when compiling version.cpp
2012-10-15 13:16:08 +02:00
Kornel Benko
20359572ed Patch from Benjamin Piwowarski
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
2012-10-13 09:53:20 +02:00
Kornel Benko
fdc2f0c78d Cmake build: Define for 'USE_ENCHANT' already done in development/cmake/config.h.cmake 2012-10-09 22:42:06 +02:00