Commit Graph

67 Commits

Author SHA1 Message Date
Kornel Benko
2d49342ce3 Cmake build: Amend 41e409f8: Use std::call_once only if it is actually available 2016-08-07 11:32:53 +02:00
Kornel Benko
8a15df6d65 Amend cb0c881 2016-07-10 22:14:08 +02:00
Kornel Benko
2da1c956e4 Cmake build: Check for make_unique and PATH_MAX symbols added. 2016-06-12 19:56:31 +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
13bf0f3275 Ammend 4aa88e9 2016-04-09 12:21:16 +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
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
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
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
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
Kornel Benko
f82883b097 Cmake build: Unify defines for spellchecker in config.h 2014-05-13 14:52:11 +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
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
8217df8a68 Cmake build:
Handle option "LYX_DEVEL_VERSION" to add the preprocesor definition of DEVEL_VERSION
The effect should be alike the configure parameter "--enable-build-type=dev"
2012-10-09 21:52:17 +02:00
Kornel Benko
45b61c6ecf 1.) Corrected internal compilation for Libintl
2.) Changed cmake-files accordingly
Patch from Jean-Marc Lasgouttes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38606 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-06 19:24:54 +00:00
Kornel Benko
4a8698c808 Define LYX_(MAJOR|MINOR)_VERSION also for cmake build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37580 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 06:16:12 +00:00
Peter Kümmel
99160cd715 cmkae: more cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34966 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 09:46:46 +00:00
Peter Kümmel
23cfb00ef1 cmake: more cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34964 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 07:38:00 +00:00
Peter Kümmel
9060f01aa8 cmake: split out FindHunspell.cmake
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34961 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 06:47:01 +00:00
Peter Kümmel
f151f3a30f cmake: sync with branch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34953 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 22:24:08 +00:00
Peter Kümmel
56a7a67783 add first version of .lyx file encryption. It's disabled by default and could out-of-the-box only by compiled on Linux with cmake and with openssl-devel packeges.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34931 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 12:26:11 +00:00
Peter Kümmel
a24a1e3bfe cmake: fix merged build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34905 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-15 14:25:59 +00:00
Peter Kümmel
69036ced37 TR1: move TR1 check to config.h / buildsystem
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34729 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-30 10:53:45 +00:00
Peter Kümmel
38628558a6 cmake: more merged build fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34274 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-23 09:10:35 +00:00
Kornel Benko
2e1e1de8d0 Missing definition of PACKAGE_STRING
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34070 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-07 12:30:43 +00:00
Peter Kümmel
3f379915a6 CMake: fix merged build, seems GCC could not handle the namespaces correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33272 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-30 11:34:28 +00:00
Kornel Benko
a897a1189a Remove now unneeded checks for mythes and aiksaurus.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29579 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-09 06:57:25 +00:00
Kornel Benko
1b0d8fd5f1 Added support for Aiksaurus-build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29399 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-25 13:43:52 +00:00
Kornel Benko
ced1b3530b Added libmythes to lyx-build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29334 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-19 15:04:20 +00:00
Peter Kümmel
2ef89683a3 development/cmake/CMakeLists.txt
Expanded parsing of configure.ac to get also the BUGREPORT value
		Added creation of red hat- and debian-packages

	Kornel


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28483 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-13 21:37:08 +00:00
Peter Kümmel
fb3d47a14d Changes:
development/cmake/CMakeLists.txt
		Use lowercase for PACKAGE iff (USE_POSIX_PACKAGING)
		Set correct PROGRAM_SUFFIX,
			CMakeLists.txt in subdirectories depend now on it
		Define PACKAGE_BASE depending on  PACKAGING type
			for use in subsequent directories
	development/cmake/config.h.cmake
		typo: PPROGRAM_SUFFIX --> PROGRAM_SUFFIX
	development/cmake/src/tex2lyx/CMakeLists.txt +
	+ development/cmake/src/CMakeLists.txt +
	+ development/cmake/src/client/CMakeLists.txt +
	+ development/cmake/man/CMakeLists.txt
		added desired version-info to executables and manuals
			tex2lyx, lyx, lyxclient respectivelly

	Kornel



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28438 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-10 22:21:39 +00:00
Peter Kümmel
510c918c6c Kornel's cmake install changes:
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
2008-12-28 13:35:29 +00:00
Peter Kümmel
f712b9840f cmake: add endian check, thx to Jose and pdv
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26469 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 19:43:52 +00:00
Enrico Forestieri
bc72d3fc58 Automate setting of LYX_DIR_XXx and LYX_USERDIR_XXx environment variable names.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25898 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-26 10:45:38 +00:00
Peter Kümmel
eec779b2c9 cmake: buffer msvc's compiler settings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21908 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 10:29:25 +00:00
André Pönitz
d65a564adf remove special handling of Package.cpp[.in]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19840 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 21:29:56 +00:00
Peter Kümmel
329d8d1332 update to new version.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19628 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-18 12:09:08 +00:00
Jürgen Spitzmüller
c3d9485c5a * configure.ac:
* development/cmake/config.h.cmake:
* development/scons/SConstruct:
	- fix casing of __FreeBSD__ macro, also check for __FreeBSD_kernel__
	  (fixes bug 3537)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19066 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-13 14:21:50 +00:00
Peter Kümmel
0ac58a14d1 cmake part of bug 3527, with macro USE_WCHAR_T
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18899 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-26 18:35:52 +00:00
Stefan Schimanski
14af4831c4 * added MacOSX packaging
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18558 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-29 14:06:35 +00:00
Peter Kümmel
a73732e0ec switch to default /W4 for msvc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16116 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 22:36:43 +00:00
Peter Kümmel
3edb7ce86a define HAVE_MODE_T always with HAVE_CHMOD, don't test until it is necessary
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15993 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-19 19:58:48 +00:00
Peter Kümmel
7860112e71 disable chmod usage with msvc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15917 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-14 16:11:59 +00:00
Peter Kümmel
b912982bdc chmod fixes for msvc
* development/cmake/config.h.cmake:
      there is no mode_t 
  * src/support/copy.C
      chmod is declared in io.h
      


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15913 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-13 23:22:31 +00:00
Georg Baum
5ed606f9c5 Add a cache for converted image files. This needs to be enabled in the
preferences file with \use_converter_cache true. It is disabled by default,
and no GUI support for changing the preferences is yet implemented.

	* src/insets/insetgraphics.C
	(InsetGraphics::prepareFile): Use image file cache

	* src/insets/ExternalSupport.C
	(updateExternal): Use image file cache

	* src/exporter.C
	(Exporter::Export): Do not use image file cache

	* src/graphics/GraphicsCacheItem.C

	(CacheItem::Impl::imageConverted): Add the converted file to the
	image file cache
	(CacheItem::Impl::convertToDisplayFo): Use image file cache

	* src/converter.C
	(Converters::convert): Use image file cache if the caller allowed that

	* src/converter.h
	(Converters::convert): Adjust arguments

	* src/Makefile.am: Add new files

	* src/support/lyxlib.h
	(chmod): new function
	(copy): add mode argument

	* src/support/copy.C
	(chmod): new function
	(copy): implement mode argument

	* src/support/mkdir.C
	(lyx::support::mkdir): Add warning if permissions are ignored

	* src/lyxrc.[Ch]: Add new settings \converter_cache_maxage and
	\use_converter_cache

	* src/ConverterCache.[Ch]: New image file cache

	* src/importer.C
	(Importer::Import): Do nut use the image file cache

	* src/lyx_main.C
	(LyX::init): Initialize the image file cache

	* src/mover.[Ch]
	(Mover::do_copy): Add mode argument
	(SpecialisedMover::do_copy): ditto

	* configure.ac: Check for chmod

	* development/cmake/ConfigureChecks.cmake: ditto

	* development/cmake/config.h.cmake: ditto

	* development/scons/SConstruct: ditto

	* development/scons/scons_manifest.py: Add new files


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15897 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-13 10:27:57 +00:00