Commit Graph

751 Commits

Author SHA1 Message Date
Brad King 11a6b3d59a Merge topic 'update-libarchive'
5a58efaa libarchive: Avoid using name 'u_long'
e2b02823 Update libarchive configuration within CMake
80883321 libarchive: Do not require includers to have windows.h
dfb0458e libarchive: Convert literal LL suffix to ARCHIVE_LITERAL_LL
b0a9807f libarchive: Update archive_util.c to use CMake zlib and bzip2 headers
debe4dec libarchive: Drop options not present in reduced version
66b0c4fa libarchive: Do not generate a pkg-config file
8092e759 libarchive: Update README-CMake.txt for new snapshot
2f197863 Merge branch 'libarchive-upstream' into update-libarchive
23e4666c libarchive: Disable more whitespace checks in third-party code
64713ae3 libarchive 3.1.2-218-g00f4bd83 (reduced)
2014-04-14 09:32:44 -04:00
Brad King 5a58efaac3 libarchive: Avoid using name 'u_long'
The system headers on some platforms define a 'u_long' type so we cannot
use the name.  Spell out 'unsigned long' instead.
2014-04-11 09:01:27 -04:00
Stephen Kelly 111bb67c14 Help: Use a more-appropriate qthelp namespace and file name.
Use the namespace org.cmake instead of org.sphinx.cmake. Add the
version to the output file name.
2014-04-10 17:30:57 +02:00
Brad King 8088332178 libarchive: Do not require includers to have windows.h
In archive_entry.h refer to "BY_HANDLE_FILE_INFORMATION *" using
"struct _BY_HANDLE_FILE_INFORMATION *" to avoid requiring the
includer to already have <windows.h>.
2014-04-03 15:20:53 -04:00
Brad King dfb0458e5b libarchive: Convert literal LL suffix to ARCHIVE_LITERAL_LL 2014-04-03 15:20:53 -04:00
Brad King b0a9807f39 libarchive: Update archive_util.c to use CMake zlib and bzip2 headers 2014-04-03 15:20:53 -04:00
Brad King debe4decce libarchive: Drop options not present in reduced version
Drop ENABLE_TAR and ENABLE_CPIO related options because we do not build
these command-line tools.  Drop ENABLE_TEST and ENABLE_COVERAGE options
because we do not build the tests.
2014-04-03 15:03:48 -04:00
Brad King 66b0c4fa19 libarchive: Do not generate a pkg-config file
CMake does not install the headers or libraries so skip the .pc file
too.
2014-04-03 15:03:43 -04:00
Brad King 8092e759ea libarchive: Update README-CMake.txt for new snapshot 2014-04-03 15:03:39 -04:00
Brad King 2f1978632b Merge branch 'libarchive-upstream' into update-libarchive
Resolve conflicts in favor of the upstream side where possible.
Resolve a logical conflict in archive_windows.h where the upstream
port to Watcom was done slightly differently from ours.
2014-04-03 15:02:49 -04:00
Brad King 23e4666cf5 libarchive: Disable more whitespace checks in third-party code 2014-04-03 14:37:13 -04:00
Stephen Kelly 3a572290cc Help: Workaround Qt 4.8 assistant bug in CSS handling.
Assistant in Qt 4.8 does not handle css import paths relative to
the includer.  This is fixed in Qt 4.8 commit b95750a275 (Assistant: Set
the url on created QNetworkReply objects., 2014-03-31).  It is unknown
whether there will be a further Qt 4.8 release containing that commit.

Use a CMake script to pre-replace the content prior to generating the
qch file.  An alternative workaround of moving the files or adding
"_static" to the import path did not seem to work for existing Qt 4.8
versions.

The bug was fixed in the Qt 5 branch before Qt 5.0. The Qt 5 assistant
renders this workaround'ed version correctly too.
2014-04-01 19:45:08 +02:00
Stephen Kelly 85582d14fe Help: Add option to create and install Qt .qch file. 2014-03-31 23:55:08 +02:00
Raphael Kubo da Costa e8c027bcc0 cmcurl: Include the local curl directories before all others.
In some cases, it was possible for the include directory of the system-wide
libcurl to be added to the include path before cmcurl's, which would result
in them being picked up and causing the build to fail if the curl versions
differ too much.

One way to trigger this is to have OpenSSL installed into a non-default
location together with libcurl (/usr/local, for example). If cmcurl is built
with CMAKE_USE_OPENSSL on, -I/usr/local/include would end up being added
before -I${PATH_TO_CMCURL}.
2014-03-10 11:40:12 -04:00
Jiri Malak 52285a993b libarchive: Fix compliation with Open Watcom 2014-03-09 10:36:21 -04:00
Brad King 25fb430e96 Utilities/Release: Fix nightly build upload
Since commit 71b14dcb (Utilities/Release: Do not upload doc staging
tarball, 2014-02-26) the prefix upload_release.cmake computes does not
match any files when used with -DVERSION=master as has been done for the
nightly binary builds.  Since the version is not actually 'master'
anyway, change the nightly binary upload logic to explicitly pass the
destination directory.  Do not pass any VERSION so the default is taken
and matches the binaries.
2014-03-06 09:32:04 -05:00
Brad King f0f2b21d52 Utilities/Release: Update IBM AIX build machine access 2014-02-27 13:03:29 -05:00
Brad King 71b14dcb0a Utilities/Release: Do not upload doc staging tarball
Restrict the release upload globbing pattern to match the CMake version
so that "cmake-<v>*" files go but "cmake-<id>-docs.tar.gz" does not.
2014-02-26 13:19:08 -05:00
Brad King 0736dad395 Merge topic 'release-doc-tarball'
b3d85113 Utilities/Release: Copy pre-built docs tarball to unique name
2014-02-26 09:38:57 -05:00
Brad King b3d85113a6 Utilities/Release: Copy pre-built docs tarball to unique name
Name the pre-built docs tarball on the remote machine according to the
release script name so that multiple tarballs going to a single remote
machine do not clobber one another.
2014-02-25 14:35:35 -05:00
Brad King 4c0f8dfb0a Utilities/Release: Update default binary distribution dir to v3.0 2014-02-25 11:48:00 -05:00
Brad King 34ea1f1520 Utilities/Sphinx: Add option to build 'text' format
Add SPHINX_TEXT to enable the Sphinx 'text' builder.  Mark it as
advanced and do not add install rules.  This is intended for use
by the release manager to build the release notes in text format
suitable for email.
2014-02-04 10:29:05 -05:00
Brad King ef7a1b4144 Utilities/Release: Pass pre-built docs tarball
Avoid requiring all build machines for the upstream packaging process to
have Python and Sphinx installed.  Instead create a way to build the
documentation once on the host machine and copy it to each build machine
as a tarball with content to include in the installation tree for
packaging.
2014-01-29 10:10:15 -05:00
Brad King 174314e08a Utilities/Release: Fix for spaces in host path
Quote paths in the generated shell scripts so they work with spaces.
2014-01-29 10:10:15 -05:00
Brad King 1df21617e4 Utilities/Release: Generate docs on dash2win64 cygwin
Configure the build on dash2win64 cygwin to run Sphinx and generate our
documentation.
2014-01-29 10:10:15 -05:00
Brad King 28abdc93c3 Utilities/Release: Fix newlines on dash2win64 cygwin
Tell Git not to perform newline conversion by configuring
'core.autocrlf' to 'false'.  Cygwin wants newlines like UNIX.
2014-01-29 10:10:14 -05:00
Brad King 0c3cf36b3a Help: Do not install Sphinx html build info files
Exclude '.buildinfo' and 'objects.inv' from installation as part
of the Sphinx-generated html documentation.
2014-01-28 09:12:44 -05:00
Brad King b225dbbd02 Merge topic 'minor-cleanups'
a55c70d cmTarget: Remove support for <CONFIG>_LOCATION property.
c9f9b3c cmTarget: Test impliedByUse number-compatible properties.
fbe1fa7 cmTarget: Don't repeat property origin debug information.
01c545c cmTarget: Fix debug report for interface-set compatibility types.
c67e1a6 cmTarget: Fix reporting interface-set properties which are FALSE.
07b0f54 Qt Tests: Remove commented and unneeded line.
79db8ef cmTarget: Fix the property compatibility error message
43340a9 Help: Reformat Qt autogenerator documentation.
d98ea6c Help: Mark some code blocks as containing cmake code.
ea78935 GenerateExportHeader: Reformat docs.
272a20f cmTarget: Don't update IMPORTED target compilation properties
03d842a Run the add_compile_options command unit test.
cd3d0b6 get_property: Fix testing ALIASED_TARGET target property (#14670)
6a62228 install: Ensure that install(TARGETS) works with no DESTINATION
af3d3b8 export: Only generate and install configuration files if needed.
0de81bb Help: Workaround pygments reporting an error for genexes.
...
2014-01-06 11:15:34 -05:00
Stephen Kelly 0de81bba8c Help: Workaround pygments reporting an error for genexes.
Without the workaround, CMake code snippets are not highlighted
at all because pygments can not lex the generator expressions.
2014-01-04 11:28:56 +01:00
Stephen Kelly 0cf550b2ca Help: Remove workaround for pre-CMake 2.8.4 code.
The requirement was updated in commit 920ffbf5 (Require CMake 2.8.4
or greater to build CMake, 2013-10-11) and similar snippets were
removed.
2014-01-04 11:28:56 +01:00
Ruslan Baratov 9e41eb68ec Fix wording of "the the" typos throughout text 2014-01-03 11:35:32 -05:00
Alex Neundorf fb107d84d2 Help: Fix Sphinx extension with docutils < 0.11
In older versions of python docutils "error_reporting" was not in the
"utils" subpackage, so try the older location if the new one failed.

Alex
2013-12-23 10:17:01 -05:00
Brad King 0bff4df5f6 libarchive: Use ARCHIVE_LITERAL_ULL to add ULL integer suffix
The macro maps to an implementation that works on older compilers
when necessary.
2013-12-09 14:04:24 -05:00
Brad King 61b39af353 libarchive: Port upstream issue 320 second fix
Port upstream commit 6cf33c93 (Issue 320: Rewrite (again) to avoid
the left shift that CLang dislikes so much, 2013-12-07) into CMake.

Inspired-by: Tim Kientzle <kientzle@freebsd.org>
2013-12-09 12:55:21 -05:00
Brad King 5ee1297d6b libarchive: Port upstream issue 320 fix
Port upstream commit 533e8fda (Rework the sign-extension to avoid
left-shift of an explicit negative number, 2013-06-29) into CMake.

Inspired-by: Tim Kientzle <kientzle@freebsd.org>
2013-11-25 11:16:45 -05:00
Brad King 8ad8a9b1a6 cmake-gui: Reference LGPLv2.1 when redistributing Qt
Download http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt and place
it as Licenses/LGPLv2.1.txt in our source tree.  When building cmake-gui,
use option CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL to enable notification
in the "About" dialog of how the distribution of Qt is licensed.
Install the license file as ${CMAKE_ROOT}/Licenses/LGPLv2.1.txt so that
the dialog can display a path to it.
2013-11-21 11:04:24 -05:00
Brad King 42eaf34168 Merge topic 'configure_file-drop-IMMEDIATE'
15610bb Drop use of configure_file IMMEDIATE option
2013-11-14 11:28:07 -05:00
Daniele E. Domenichelli 15610bb5b1 Drop use of configure_file IMMEDIATE option
Since commit 7d47c693 (Drop compatibility with CMake < 2.4, 2013-10-08)
we no longer need to use the configure_file IMMEDIATE option to support
compatibility modes less than 2.0.
2013-11-13 10:12:17 -05:00
Brad King 3bade75b02 Help: Parse Copyright.txt instead of using current year
Configure our Sphinx conf.py with a copyright line extracted from
Copyright.txt instead of using the year in which the documentation is
built.  This will future-proof the reported copyright year range when
building documentation for old versions.
2013-11-13 09:18:57 -05:00
Brad King a023a26cad Help: Configure html favicon 2013-11-05 08:59:02 -05:00
Brad King fb332197bf Help: Configure html page navigation bars
Add a small CMake logo to the left side of the header and footer
navigation bars.  Set the html theme, title, and short title explicitly.
2013-11-05 08:58:56 -05:00
Brad King e1f819664b Help: Configure |version| replacement correctly
Fix our configuration of the Sphinx conf.py 'version' entry to refer
to the correctly-spelled CMake_VERSION_(MAJOR|MINOR|PATCH) variables.
2013-11-04 14:22:27 -05:00
Brad King edc7cc967d Help: Configure copyright year automatically
Teach our Sphinx conf.py to compute the copyright end year
automatically.  Drop our hard-coded configuration for it.
2013-11-04 14:22:23 -05:00
Brad King 4abe0ec211 Merge topic 'doc-conf-auto-manuals'
f88332f Help: Glob manual/*.rst in Sphinx configuration
2013-10-30 10:25:27 -04:00
Brad King f88332f5b7 Help: Glob manual/*.rst in Sphinx configuration
Add the man page description line as explicit markup at the top of each
Help/manual/*.rst file and scan it from conf.py to automatically
generate the man_pages Sphinx configuration value.  This reduces the
number of places that need to be changed when a new manual is added.
2013-10-30 09:58:25 -04:00
Brad King 10ef247b88 Configure Utilities/Sphinx for standalone build with CTest
Include the CTestUseLaunchers module in the standalone build of
Utilities/Sphinx so that it can be built under CTest with the
CTEST_USE_LAUNCHERS option.
2013-10-29 11:11:39 -04:00
Brad King 2945814de2 cmRST: Teach cmake-module directive to scan bracket comments
When scanning CMake module files for .rst comments, recognize
bracket comments starting in ".rst:" too.  For example:

 #[[.rst:

Include the bracket comment content terminated by the closing bracket.
Exclude the line containing the bracket if it starts in "#".

Teach the CMakeLib.testRST test to cover multiple bracket lengths
and ending brackets on lines with and without "#".

Update the cmake-developer.7 manual to document the bracket-comment
syntax for .rst documentation.
2013-10-23 09:36:00 -04:00
Brad King 80a311ed6a Help: Add cmake-developer.7 manual
Add the manual with just an introduction section.  Leave section headers
for Help and Modules to be filled in later.
2013-10-22 09:50:15 -04:00
Brad King e7ca48f226 Help: Factor out cmake-generator-expressions manual page
Generator expressions are supported in many places and are a distinct
concept worthy of their own manual page.  The old builtin documentation
was previously represented by preprocessor macros to generate it into
each place that supports them.  Factor out the duplicate content into a
dedicated cmake-generator-expressions manual page and reference it from
each original location.
2013-10-16 09:22:38 -04:00
Brad King bfe07aa97e Build Help documentation during CMake build using Sphinx
Add a Utilities/Sphinx directory to hold CMake build code to run the
Sphinx (sphinx-doc.org) documentation generation tool.  Create a
CMakeLists.txt file there capable of building either as a subdirectory
of the main CMake build, or as a standalone documentation build.

Add cache options SPHINX_MAN and SPHINX_HTML to select output formats
and SPHINX_EXECUTABLE to specify the sphinx-build executable.  Add
bootstrap options --sphix-man and --sphinx-html to select output formats
and --sphinx-build=<sb> to specify the sphinx-build executable.

Create a "conf.py.in" file to configure_file into "conf.py" to tell
sphinx-build how to build our documents.  Create a "cmake.py" Sphinx
extension module defining:

* The "cmake-module" directive used in Help/module/*.rst files to
  scan .rst markup from the corresponding Modules/*.cmake file.

* A Sphinx domain called "cmake" defining documentation object types
  for CMake Help/<type> directories: command, generator, manual,
  module, policy, prop_*, and variable.  Add a "role" for each type
  to perform cross-references.  Teach the roles to treat "<XYZ>"
  as placeholders instead of explicit targets if not preceded by
  a space.  Add cmake domain directives to define command and
  variable objects explicitly in .rst file content.  This will
  allow modules to define their own commands and variables and
  have them indexed and linkable.

* A Sphinx document transform that converts Help/<type>/*.rst documents
  into cmake domain objects of the corresponding <type> and adds index
  entries for them.  This will automatically index all CMake documentation
  objects and provide cross-reference targets for them with no special
  markup in the .rst files.
2013-10-16 09:22:37 -04:00