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.
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.
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.
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.
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.
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"
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
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
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
* 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
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