Commit Graph

696 Commits

Author SHA1 Message Date
Georg Baum
f8990ef469 This is LyX 2.3 2016-06-16 20:20:59 +02:00
Kornel Benko
0eb0a3d94d Cmake dist: Expand the list of not distributed files. 2016-06-15 10:21:18 +02:00
Kornel Benko
2da1c956e4 Cmake build: Check for make_unique and PATH_MAX symbols added. 2016-06-12 19:56:31 +02:00
Kornel Benko
24a7dd45dc Cmake build: Determine availability of 'std::regex' if using clang compiler 2016-06-11 12:23:33 +02:00
Kornel Benko
f792837531 Cmake build: Finetune some destination data paths on UNIX 2016-06-10 13:40:38 +02:00
Georg Baum
2047ea5eb4 Replace Boost.Signals with Boost.Signals2
Boost.Signals is deprecated. This fixes bug #9943.
The only thing left to do is to rewrite (or get rid of) the boost -mt test
in config/lyxinclude.m4 not to use signals anymore.
2016-06-09 22:25:34 +02:00
Georg Baum
273c67d8aa Require a C++11 compiler
As discussed on the list. If no C++11 compiler is found configuration stops
with an error. There are now unneeded parts of boost, the will be removed in
a second commit.
2016-06-07 20:34:52 +02:00
Kornel Benko
9dd695b17a Cmake build: Correct some installation paths 2016-06-07 14:38:20 +02:00
Kornel Benko
06539caccb Cmake build: Refactor determination of destination paths. 2016-06-06 08:29:07 +02:00
Kornel Benko
b5c87f2963 Cmake build: Set new installation paths
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
2016-06-05 22:59:13 +02:00
Kornel Benko
7c0eba4d75 Cmake build: Allow user defined suffix for program files 2016-06-05 16:26:59 +02:00
Kornel Benko
7a86fe3e0b Cmake: Allow test for X11 with QT5.6
Used for key-test tests.
2016-05-30 08:22:15 +02:00
Uwe Stöhr
978eea2173 CMake: add 2 build scripts to compile LyX with Qt 5 and MSVC 2015 2016-05-30 02:03:16 +02:00
Jean-Marc Lasgouttes
87d4ce0ff7 Remove boost/format support
Only ChkTex.cpp used it, whereas the rest of our code uses the simpler bformat.
2016-05-29 17:55:45 -04:00
Georg Baum
2d708bd7cf Simplify .po file generation
We can generate the file with the cirrect line endings directly instead of
calling a helper script to convert them.
2016-05-29 17:55:44 -04:00
Georg Baum
d5f2bad461 Mingw-w64 build fixes for long long
On mingw-w64, long long (64bit wide) is larger than long (32bit wide).
Therefore we need some more specializations for string, docstring,
otextstream and << overloaded ostream functions. The configuration code
is by me, the source code changes by Shankar Giri Venkita Giri (bug 10053).
2016-05-29 17:55:43 -04:00
Kornel Benko
882b7b01d0 Cmake install: Exclude some files from being installed
Files like CMakeLists.txt or *.lyx~ should not be part
of an installation.
2016-04-14 11:15:08 +02:00
Kornel Benko
13bf0f3275 Ammend 4aa88e9 2016-04-09 12:21:16 +02:00
Peter Kümmel
a0a472c16e msvc2015: always incude strfwd.h first, to prevent crashes of our
typedefed streams.
2016-04-02 11:03:17 +02:00
Kornel Benko
41447b1225 Cmake export tests: Label handling
In collaboration with Günter Milde:
1.) Allow char ':' be part of a ctest-label
2.) Eliminate redundant label naming and directory names
    (The testnames should not repeat the directory name)
2016-03-26 13:06:14 +01:00
Uwe Stöhr
869d34ddeb development/cmake/build5-2015-x64.bat: Windows build script for 64bit LyX and Qt 5.6 2016-03-08 00:31:10 +01:00
Kornel Benko
cc884dd044 Typo. 2016-02-15 21:00:35 +01:00
Kornel Benko
64446ab834 Preparing a helper script to creat md5sum of a file. 2016-02-15 15:24:33 +01:00
Kornel Benko
a413d667ca Set C++11 option defaulting to 'AUTO' as it is on autotools too.
Nothing changes for already cached values.
With fresh build-dir and in 'AUTO'-mode we try to determine if the c++ compiler
is able to use this feature.
2016-02-11 09:03:07 +01:00
Uwe Stöhr
deb8e48efa build5-2010.bat: simplify script
* This is a script for MSVC2010 so assume this is used
* Fix a typo
* Load the MSVC build environment
2016-01-28 00:07:43 +01:00
Uwe Stöhr
c5236c42b9 build5-2010.bat: use the same CMake parameters as in build5-2010-installer.bat 2016-01-26 01:57:15 +01:00
Peter Kümmel
44fd57e4b4 python now will be found, rmdir could fail 2016-01-22 12:47:23 +01:00
Peter Kümmel
0477e01d3e use Qt default path, don't touch source tree 2016-01-19 17:39:52 +01:00
Uwe Stöhr
41d5acdca3 Win build scripts: add a one-click script for installer builds
- also restore a build script for daily development work
- remove 2 outdated/unnecessary scripts
2016-01-19 02:21:06 +01:00
Peter Kümmel
e30b1d67fc rename build directory 2016-01-17 18:52:20 +01:00
Peter Kümmel
2f290a46d2 clean build with MSVC2010 2016-01-17 18:34:15 +01:00
Uwe Stöhr
1822d44c58 add 2 Windows build scripts for LyX 2.2
- build4-2010.bat: MSVC 2010 and Qt 4.8.7 (as backup)
- build5-2010.bat: MSVC 2010 and Qt 5.5.1

I tested both scripts thoroughly and the resulting LyX build is stable. Please feel free to modify them if something can be improved.
2016-01-14 00:39:32 +01:00
Peter Kümmel
6e3a4ecfe7 mingw.bat: circumvent critical python detection
LyX could be build with a double click on mingw.bat.
2016-01-13 15:46:44 +01:00
Peter Kümmel
275d5a66a5 use Qt 5.5.1 2016-01-13 13:12:25 +01:00
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