Commit Graph

662 Commits

Author SHA1 Message Date
Peter Kümmel
407bb15bde add batch file for MinGW build on Windows 2016-01-12 20:10:51 +01:00
Peter Kümmel
ff8719497a also install cross compiled lyx 2016-01-06 14:24:22 +01:00
Peter Kümmel
f09202c69c fix broken xmingw script 2016-01-06 13:07:59 +01:00
Peter Kümmel
2a112d8a65 add script to cross-compile for Windows 2015-12-20 14:42:24 +01:00
Kornel Benko
4e9fe808d7 Cmake export tests: Correct some quirks
1.) Label lyx2lyx was handled wrong (removed '2')
2.) tests were named '_lyx2lyx' instead of only 'lyx2lyx'
2015-12-17 12:57:34 +01:00
Peter Kümmel
11f9c71d75 fix MinGW build on Windows 2015-12-15 13:20:11 +01:00
Peter Kümmel
7d2c054611 also build without gnuwin32 directory 2015-12-15 13:20:10 +01:00
Peter Kümmel
2ce5ca7fcc improve mingw runtime detection 2015-12-15 13:20:09 +01:00
Kornel Benko
afaf28964a Cmake build: Map '\origin unavailable' to appropriate value on install
For example for lib/doc.de/xyzzy.lyx the entry is changed to
	\origin /systemlyxdir/doc/de/
2015-12-13 16:08:27 +01:00
Kornel Benko
a9764cf191 Cmake build: Initialize some variables before use. 2015-12-09 15:37:58 +01:00
Uwe Stöhr
11e12c787a build5.bat: explicitly set QT5 2015-12-08 01:40:48 +01:00
Uwe Stöhr
01e0292028 build5.bat: a script to compile with Qt5 on Windows
This script shows how i compile. If we figured out every corner cases with it it should become the standard build script for Windows
2015-12-08 01:23:54 +01:00
Georg Baum
a15aafa2a1 Use std::regex automatically in C++11 mode
This is consistent with autotools. The only exception is MSVC, since we do not
know yet whether it works.
2015-12-06 20:04:21 +01:00
Kornel Benko
cf3156d22d Cmake export tests: Create concatenated labels in the form 'export:reverted:examples:chemgreek' 2015-12-02 22:18:43 +01:00
Kornel Benko
e39025797e Cmake export tests: Remove label 'reverted' from suspended tests.
LyXMacros.cmake: Overseen the macro 'setmarkedtestlabel()' which added it automatically
  if the test was to invert the test result.
ExportTests.cmake: Correct label handling
2015-12-02 13:28:16 +01:00
Uwe Stöhr
3fc47f2a5c build.bat: add -DLYX_ENABLE_EXPORT_TESTS=ON and add a note about Ninja 2015-12-02 00:42:40 +01:00
Georg Baum
0aa3e78f5c Explain how to use parallel compilation in MSVC 2015-12-01 20:55:05 +01:00
Kornel Benko
552ca45843 Cmake tests: macro setmarkedtestlabel() worked only by chance
We have to check the content of the variable.
2015-11-02 21:44:38 +01:00
Peter Kümmel
c39869cc61 Also cross compile with Qt5
Assume Ubuntu pathes for mingw.
2015-10-23 16:34:55 +02:00
Kornel Benko
8c3dbe19b6 Cmake build: Adapt use of c++11 for cygwin too.
Change done according to commit 864a4db26b
2015-09-09 14:45:55 +02:00
Kornel Benko
46d2344902 Cmake build: Adapt detection of C++11 mode to automake 2015-09-03 11:15:10 +02:00
Kornel Benko
a911b1cc65 Cmake build: Define LYX_USE_CXX11 iff using c++11 extensions after commit 329eae5605. 2015-05-20 12:07:41 +02:00
Kornel Benko
7fb1dfe61e Add debug output while handling debian package dependences
This is cmake build only
2015-05-14 21:19:59 +02:00
Georg Baum
51cc8aa9f6 Fix build with GNU libstdc++ C++11 ABI
The GNU libstdc++ that ships witch gcc 5 can be used with the same ABI as
older versions, or with a new ABI which is conformant to the C++11 standard.
LyX did not build if the latter was used:
https://kojipkgs.fedoraproject.org//work/tasks/1267/9651267/build.log

This is now fixed by detecting the ABI version and disabling the wrong forward
declarations. At the same time, STD_STRING_USES_COW is switched off for the
C++11 ABI version, because the std::basic_string implementation is now C++11
conformant. Since the GNU libstdc++ can also used by other compilers such as
clang, we must not test for the compiler version.
2015-05-08 21:12:42 +02:00
Kornel Benko
390b59011d Cmake build: Do not install .pdf icons created by export
Such files are polluting the lib/images directory if
exporting lyx-files containing lyx-info of type icon.
2015-04-01 17:26:13 +02:00
Kornel Benko
6787ec05f7 Cmake build: Add .svgz files to Resources.
It does not seam to make a difference.
Added because other icons are also included.
2015-03-17 20:46:02 +01:00
Kornel Benko
2008e0876f Cmake build: Remove deleted svg subdir from installation.
Also added missing images/math/oxygem icons to installation.
2015-03-14 16:15:35 +01:00
Kornel Benko
da46f6566a Preparation to support translations with python3
Thanks to José.
2015-03-11 20:54:28 +01:00
Enrico Forestieri
9126a99e97 Fix bug #9217: [Qt5] QWindowsMime class not available
The support for QWindowsMime has been reintroduced in Qt 5.4.0.
The class name has been changed to QWinMime but the interface
is exactly the same.
2014-12-26 16:53:31 +01:00
Georg Baum
6f34a8a640 Get rid of tr1 support
As discussed on the list. We don't need it anymore, either we have a modern
compiler that supports C++11, or we fall back to boost. I kept and adjusted
the regex #define, since we cannot use std regex completely yet.
2014-12-23 22:18:08 +01:00
Georg Baum
7796ad3a36 Improve llvm libc++ detection
The old detection did only work if CFLAGS contained -std=c++11, since ciso646
was only included for __cplusplus > 199711.
Thanks to Koernel for the cmake part.
2014-12-21 17:26:21 +01:00
Kornel Benko
98d063e9be Cmake build: Check for string COW by checking for library, not compiler
Changed according to automake behaviour, see 385f3e8abd
2014-12-19 12:32:14 +01:00
Kornel Benko
edf22ba723 Cmake build: Detect clang and adapt definition of STD_STRING_USES_COW. 2014-12-08 17:43:05 +01:00
Kornel Benko
07683c1f0d Cmake build: 'callstack printing' detection.
Instead of depending on compiler we try to check for working
API as is done now for automake build too.
2014-11-09 12:59:14 +01:00
Kornel Benko
81afd10fc7 Cmake build: Moved creation of variable LYX_GIT_COMMIT_HASH to development/cmake/scripts/LyXGetVersion.cmake.
1.) The only file which needs this define is src/version.cpp. Our use in config.h
resulted in recompiling most of our sources.
With this change, only version.cpp needs to be recompiled.

2.) Without reconfiguring, the old commit hash was still valid. Now the
detection of commit hash is done at compile time.
2014-10-24 16:58:54 +02:00
Kornel Benko
110f39482e Cmake buid: Install the new svgz icons 2014-10-18 16:53:41 +02:00
Kornel Benko
a24e076046 Add the git commit (if applicable) to LyX version
Addition to cmake.
Patch mostly from Stephan Witt.
2014-10-11 11:18:48 +02:00
Uwe Stöhr
056ae6a9fe Install.cmake: add missing subfolder "\templates\springer" and remove an unnecessary folder
we don't need to install the attic template files. These are for years now in attic and LyX 2.2. should make a cut somehow for very old attic material
2014-09-25 00:25:02 +02:00
Kornel Benko
63976066ad avoid qt4 variable names in cmake build 2014-07-21 08:49:05 +02:00
Kornel Benko
3b14de740d Cmake build: Symplify use of linking optional libraries found via find_package 2014-06-12 19:02:29 +02:00
Kornel Benko
207cd7a1b7 Cmake build: Use LYX_USE_QT to determine if QT uses X11 2014-06-12 07:52:45 +02:00
Kornel Benko
cc6175bc96 Cmake build: Early check for wrong combo values 2014-06-09 10:03:56 +02:00
Kornel Benko
2a0ae2e739 Cmake build: Add combo-values to the list of displayed lyx options 2014-06-07 21:00:46 +02:00
Kornel Benko
e1d3189492 Cmake build: Select full path to library
Testing for QT_USES_X11 links ok now also if the the qt-libraries
are on some non-conform place. (Like self compiled but not installed).
2014-06-07 10:55:21 +02:00
Kornel Benko
8c0e1b5c70 Cmake build: Added convenience macro LYX_COMBO
Will be used later to allow selection between multiple alternatives.
2014-06-07 10:45:13 +02:00
Peter Kümmel
080fca85a8 build with mingw on Windows and Linux 2014-06-07 08:06:13 +02:00
Kornel Benko
046001e571 Make: improve detection of X11 with Qt 5
In collaboration with Scott Kostyshak:
With Qt 4 we could use Q_WS_X11, defined by FindQt4.cmake. In Qt 5,
there is no FindQt5.cmake. Instead we now define our own variable,
QT_USES_X11 by using class QX11Info available only on X11.
(http://qt-project.org/doc/qt-5/QX11Info.html)

The main consequence of this improved support is that now the keytests
can be run (ctest -R "keytest") when LyX is compiled with Qt 5.
Before, with Qt 5 we did not know if X11 was available, which is
needed by xvkbd, so the tests were not enabled. Note, however, that
many tests fail with Qt version 5.2.1 because there was a change in
the event handling mechanism in Qt that causes xvkbd to be unable to
pass capital letters (so case sensitive greps in the tests fail). This
needs to be investigated and reported.
2014-05-25 13:50:18 +02:00
Kornel Benko
371fdb8649 Cmake build: Show the found flag for use of c++11 features 2014-05-16 13:40:34 +02:00
Kornel Benko
f82883b097 Cmake build: Unify defines for spellchecker in config.h 2014-05-13 14:52:11 +02:00
Kornel Benko
77ee91ccfe Cmake build: Use find_package_handle_standard_args() consistently 2014-05-13 12:30:20 +02:00
Kornel Benko
2ebcf38493 Cmake build: Install lyx*.desktop and lyx*.svg files in appropriate locations for unix 2014-05-09 10:04:42 +02:00
Kornel Benko
aa7dbdef37 Cmake build: Add also reference to versioned lyx.svg to the resources file 2014-05-06 17:21:13 +02:00
Benjamin Piwowarski
4cb8a83dab Fix for clang detection in cmake 2014-04-24 17:18:56 +02:00
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