Commit Graph

1095 Commits

Author SHA1 Message Date
Brad King af61d6cb60 liblzma: Use unaligned access only on Intel and PowerPC archs 2015-04-01 11:05:30 -04:00
Ådne Hovda 7b1cdb0027 jsoncpp: Provide 'isfinite' implementation on older AIX and HP-UX
Newer AIX and HP-UX platforms provide 'isfinite' as a <math.h> macro.
Older versions do not, so add the definition if it is not provided.
2015-03-31 14:55:00 -04:00
Brad King bd96cd5a1e Merge topic 'curl-cygwin-no-windows'
4a2ff2b7 curl: Never consider using Windows APIs on Cygwin
2015-03-27 09:15:16 -04:00
Brad King 4a2ff2b7f2 curl: Never consider using Windows APIs on Cygwin
Our Windows API header checks are conditioned on if(NOT UNIX) but
libarchive checks HAVE_WINDOWS_H anyway so the result leaks into
the cache and influenes the curl build.  Set the check results to
false explicitly for curl when not on Windows to tolerate this.

Reported-by: Vyacheslav Karpukhin <Vyacheslav.Karpukhin@jetbrains.com>
2015-03-26 14:04:39 -04:00
Gregor Jasny 840f5b89a4 Help: Install Sphinx HTML object mapping file
To link CMake documentation from other documentation sets
like KDE extra-cmake-modules the intersphinx extension depends
on the objects.inv mapping file. The size overhead of 14k seems
to be neglectable.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-22 11:50:53 +01:00
Brad King 6794079523 Merge branch 'upstream-kwiml' into update-kwiml 2015-03-17 14:27:27 -04:00
Nils Gladitz 1bda8f1fdb CPackWIX: Customize CMake installer theme. 2015-03-12 20:44:27 +01:00
Brad King 7e6608fe64 Utilities/Release: Build OS X and Win binaries without OpenSSL
This will tell our curl to use the OS-native TLS/SSL APIs.
2015-02-18 09:29:50 -05:00
Brad King cb01f15170 CMake 3.2.0-rc1 version update 2015-02-05 09:55:27 -05:00
Brad King 1337576b24 Merge topic 'curl-default-cainfo'
0abd3e53 cmake: Use a default CA path when not using system curl
6ce346c5 curl: Add CURL_CA_PATH option to CMake build process
2015-01-26 09:51:50 -05:00
Brad King 29ef8fb5be Merge topic 'update-curl'
53df9bce curl: Add README-CMake.txt
2015-01-23 10:50:24 -05:00
Brad King 6ce346c53c curl: Add CURL_CA_PATH option to CMake build process
Move CMAKE_USE_OPENSSL and CURL_CA_BUNDLE up to the top of CMake so that
CMake's own sources can know their values.  Add the CURL_CA_PATH option
at the top and honor it as part of the curl build.
2015-01-23 08:23:52 -05:00
Brad King 53df9bce19 curl: Add README-CMake.txt
Describe how to update curl from upstream.
2015-01-22 10:00:04 -05:00
Brad King 27c6da933e Add option to build CMake against a system jsoncpp
Create a CMAKE_USE_SYSTEM_JSONCPP option.
2015-01-20 10:37:35 -05:00
Brad King bda4f0b661 jsoncpp: Add headers to help CMake include in-source jsoncpp headers
Add cm_jsoncpp_value.h and cm_jsoncpp_writer.h headers to include the
CMake-provided copy of the json/value.h and json/writer.h headers from
CMake sources.
2015-01-20 09:28:59 -05:00
Brad King a02fbec5f3 jsoncpp: Drop doxygen comments that cause Clang warnings
Even though we disable warnings when building jsoncpp itself, including
its headers from other CMake sources may still cause warnings.  Update
the code to remove these -Wdocumentation warnings.
2015-01-20 09:28:28 -05:00
Brad King 3cca39b46d Merge topic 'libarchive-constify-internal-get_date'
6b9a0e17 libarchive: Constify internal __archive_get_date implementation
2015-01-16 09:43:54 -05:00
Brad King 9d4ef58462 Merge topic 'import-jsoncpp'
89cd3d27 jsoncpp: Add README-CMake.txt
7e310624 jsoncpp: Provide 'isfinite' implementation on Solaris
4c496065 jsoncpp: Provide 'isfinite' implementation on ancient glibc
50032bc8 jsoncpp: Add missing assert before strcmp in json_value.cpp
ad94b052 jsoncpp: Add missing <iosfwd> include in json/writer.h
7eba04fd jsoncpp: Include C headers since we use APIs without std::
06f41e98 jsoncpp: Disable warnings to avoid changing 3rd party code
1fc55653 jsoncpp: Build the library within CMake
84d5674d jsoncpp: Include "config.h" before system headers
a263d519 Merge branch 'jsoncpp-upstream' into import-jsoncpp
53f6ccb0 JsonCpp 1.0.0 (reduced)
32fd56b0 jsoncpp: Add .gitattributes to skip whitespace checks
2015-01-16 09:43:52 -05:00
Brad King 6b9a0e1797 libarchive: Constify internal __archive_get_date implementation
The caller of this API already re-declares it as const, so update the
implementation accordingly.
2015-01-15 11:48:10 -05:00
Brad King 89cd3d273d jsoncpp: Add README-CMake.txt
Describe how to update jsoncpp from upstream.
2015-01-15 11:39:20 -05:00
Brad King 7e310624b0 jsoncpp: Provide 'isfinite' implementation on Solaris
Solaris provides a 'finite' function in <ieeefp.h>.
2015-01-15 11:39:20 -05:00
Brad King 4c49606598 jsoncpp: Provide 'isfinite' implementation on ancient glibc
The glibc 2.1 headers provide isfinite only in C99 mode.
Add its definition ourselves.
2015-01-15 11:39:04 -05:00
Brad King 50032bc847 jsoncpp: Add missing assert before strcmp in json_value.cpp
The strcmp function does not allow NULL pointers, so add an
assert to tell Clang scan-build that the code does not expect
a NULL pointer.
2015-01-15 11:39:03 -05:00
Brad King ad94b0521e jsoncpp: Add missing <iosfwd> include in json/writer.h
The header uses std::ostream, so it must be declared.
2015-01-15 11:39:03 -05:00
Brad King 7eba04fda1 jsoncpp: Include C headers since we use APIs without std:: 2015-01-15 11:39:03 -05:00
Brad King 06f41e986c jsoncpp: Disable warnings to avoid changing 3rd party code
Add '-w' or equivalent flag on compilers supporting it.
Tell MSVC to use its lowest warning level inside jsoncpp sources.
2015-01-15 11:39:01 -05:00
Brad King 1fc556536e jsoncpp: Build the library within CMake
Update json/json.h to account for our lack of autolink.h.  Update
json/config.h to include KWSys Large File Support configuration so that
consistent stream libraries are used (on AIX with XL).

Add a cm_jsoncpp_reader.h header to include the CMake-provided copy of
the json/reader.h header from CMake sources.
2015-01-15 11:37:17 -05:00
Brad King 84d5674d4e jsoncpp: Include "config.h" before system headers 2015-01-15 11:36:49 -05:00
Brad King 74b8f78622 zlib: Disable warnings to avoid changing 3rd party code 2015-01-14 09:20:27 -05:00
Brad King a263d519ff Merge branch 'jsoncpp-upstream' into import-jsoncpp
Use a subtree merge to place the upstream content in the
Utilities/cmjsoncpp directory.
2015-01-13 14:42:00 -05:00
Brad King 32fd56b066 jsoncpp: Add .gitattributes to skip whitespace checks 2015-01-13 10:36:19 -05:00
Brad King 202056cdb8 Utilities/Release: Build Windows and OS X binaries with native SSL
For the nightly binaries, turn of CMAKE_USE_OPENSSL on Windows and OS X
10.6+ platforms.  This will activate the new curl behavior to use the
OS-native SSL/TLS implementation.
2014-12-22 08:47:46 -05:00
Brad King d64caa5372 Utilities/Release: Fix name of OS X 10.6+ x86_64-only binary
In commit v3.1.0-rc1~52^2 (Make the OSX 10.6+ release x86_64 only,
2014-09-29) we forgot to remove the name "universal" from the binary
name.  Since the binary is no longer universal, use "x86_64" instead.

While at it, update the deployment target to actually be 10.6.
2014-12-22 08:47:19 -05:00
Brad King e4563257ba curl: Use OS X SSL/TLS native implementation
On OS X, when CMAKE_USE_OPENSSL is OFF, use the OS implementation.
This will allow the OS-configured CA list to be trusted automatically.

This is supported on OS X 10.6 and above using AppleClang, Clang, and
GNU compilers.
2014-12-18 09:44:19 -05:00
Brad King ba8c663219 curl: Use Windows SSL/TLS native implementation
On Windows, when CMAKE_USE_OPENSSL is OFF, use the OS implementation.
This will allow the OS-configured CA list to be trusted automatically.
2014-12-12 13:52:46 -05:00
Sean McBride 111be1801f Rename header guards to not start with double underscore
Use regex to find/replace:

__(cm.*_h)
\1

Then fix QCMake.h by hand.
2014-12-11 13:53:06 -05:00
Brad King 13fc2ed4c4 Merge topic 'doc-mixed-case-commands'
607b39dc Utilities/Sphinx: Fix link targets for mixed-case command names
2014-12-04 10:15:10 -05:00
Brad King 607b39dc11 Utilities/Sphinx: Fix link targets for mixed-case command names
When a CMake domain 'command' object is defined by CMakeTransform or the
'cmake:command' directive, generate the link target with a lower-case
name even if the command name is not all lower-case.  This is needed to
make cross-references to the command definition work since the
'cmake:command' role is marked with the 'lowercase' property.
2014-12-04 10:03:26 -05:00
Brad King 7fe6bb0d62 Utilities/Release: Add build of binary for Linux x86_64 2014-12-02 14:00:39 -05:00
Ådne Hovda 6b045c3ba8 ccmake: Add CMAKE_USE_SYSTEM_FORM option to use libform instead of cmForm 2014-11-25 11:29:58 -05:00
Brad King 7a39d32f05 Merge topic 'update-curl'
46bbf947 curl: Check for OpenSSL headers independently
2014-11-18 09:12:32 -05:00
Brad King 397c762da4 Merge topic 'doc-sphinx-cmake-fixup'
5cda2205 Utilities/Sphinx: Add missing call to note_explicit_target
2014-11-18 09:12:25 -05:00
Brad King 5cda220548 Utilities/Sphinx: Add missing call to note_explicit_target
Sphinx calls document.note_explicit_target with any nodes.target() it
creates.  Add such a call when we create a document target in
CMakeTransform.
2014-11-17 15:37:31 -05:00
Brad King 46bbf94783 curl: Check for OpenSSL headers independently
Use check_include_file instead of check_include_file_concat to look
for OpenSSL headers.  They do not need to participate in a sequence
of dependent system headers.  Also they may cause winsock.h to be
included before ws2tcpip.h, causing the latter to not be detected
in the sequence.
2014-11-17 09:52:49 -05:00
Brad King 03dad03a54 Merge topic 'update-curl'
3dd26463 curl: Disable warnings to avoid changing 3rd party code
2014-11-12 09:35:51 -05:00
Brad King b4f5204097 Merge topic 'doc-index-xrefs'
7ca9a459 Utilities/Sphinx: Add index entries for cross-references
2014-11-12 09:35:45 -05:00
Brad King 7ca9a459eb Utilities/Sphinx: Add index entries for cross-references
Add a document transform to insert index and target nodes just before
any CMake domain cross-reference node.  This will make references to
CMake domain objects appear in the index.  Also add a comment explaining
why it cannot be done in a result_nodes method of the CMakeXRefRole.
2014-11-12 09:10:52 -05:00
Brad King 3dd26463d4 curl: Disable warnings to avoid changing 3rd party code
Tell MSVC to use its lowest warning level inside curl sources.
2014-11-11 08:58:01 -05:00
Brad King 75f3a282b7 Merge topic 'update-curl'
c02c747b Tests: Update expected CTestTestFailedSubmit output
a427ed0c curl: Skip sanity check that triggers Clang warning
17b24d55 curl: Disable warnings to avoid changing 3rd party code
4c3bd340 curl: Skip check for inet_pton on Windows
54cb23c6 curl: Restore installation of OpenSSL DLLs
c50f0327 curl: Restore CURL_CA_BUNDLE option
681693c9 curl: Restore CMake-specific zlib selection code
10d80b68 curl: Restore CMake-specific test and install code
19593042 curl: Configure build to work within CMake
cf54aebb curl: Fix curl.h inclusion of curlbuild.h from CMake sources
c17e3207 curl: Use arch-aware CHECK_TYPE_SIZE results
1f7cb7e2 curl: Fix detection of headers with dependencies
b18c9044 curl: Drop inclusion of .rc file for static lib
860f0a2d curl: Select file APIs on Windows
5a3b55ed curl: Do not use 'dl' on HP-UX
59242702 curl: Simplify if() conditions on check result variables
...
2014-11-10 10:43:10 -05:00
Brad King a427ed0cb8 curl: Skip sanity check that triggers Clang warning
Defining curl APIs as forwarding macros triggers Clang warnings
with -Wdisabled-macro-expansion.   Skip this sanity check.
2014-11-10 10:13:39 -05:00
Brad King 17b24d552b curl: Disable warnings to avoid changing 3rd party code 2014-11-10 10:13:38 -05:00
Brad King 4c3bd34080 curl: Skip check for inet_pton on Windows
Re-apply part of the logic from commit v2.8.0~802 (ENH: allow for shared
build of libcurl ..., 2009-04-10) to skip inet_pton on Windows.  On
versions of Windows prior to Vista the function is not available at
runtime.
2014-11-10 10:13:38 -05:00
Brad King 54cb23c657 curl: Restore installation of OpenSSL DLLs
Restore logic originally added by commit v2.8.10~119^2~1 (curl: Make
OpenSSL DLLs available to CMake on Windows, 2012-09-06).
2014-11-10 10:13:38 -05:00
Brad King c50f032754 curl: Restore CURL_CA_BUNDLE option
Restore the option added by commit v2.8.8~200^2 (Add CURL_CA_BUNDLE
option for SSL support, 2012-02-09).
2014-11-10 10:13:38 -05:00
Brad King 681693c993 curl: Restore CMake-specific zlib selection code 2014-11-10 10:13:38 -05:00
Brad King 10d80b68e4 curl: Restore CMake-specific test and install code
Restore the LIBCURL test used previously within CMake.  Restore
installation of the 'COPYING' file with the CMake documentation.
2014-11-10 10:13:38 -05:00
Brad King 1959304295 curl: Configure build to work within CMake
Set curl build options as needed for CMake rather than presenting them
to the user in the cache.  Drop the CMAKE_BUILD_CURL_SHARED option for
now.

Change the curl library name to 'cmcurl'.  Disable blocks of code within
curl CMakeLists.txt files that we do not need for CMake, but leave the
code in place to make merging with curl updates easier.
2014-11-10 10:13:37 -05:00
Brad King cf54aebb96 curl: Fix curl.h inclusion of curlbuild.h from CMake sources
Use a CMake-specific path to this configured header so that it works
when included from a CMake source file in addition to curl sources.
We do not install the Curl headers with CMake, so this hack is okay.
2014-11-10 10:13:37 -05:00
Brad King c17e3207fb curl: Use arch-aware CHECK_TYPE_SIZE results
Re-apply the logic change made by commit v2.8.2~536 (Use arch-aware
CHECK_TYPE_SIZE result, 2009-12-17).  The size of some types must be
selected at preprocessing time when building for multiple archs on OS X.
2014-11-10 10:13:37 -05:00
Brad King 1f7cb7e27b curl: Fix detection of headers with dependencies
Restore the check_include_file_concat functionality broken
in upstream curl.  The <net/if.h> header on older OS X versions
depends on <sys/socket.h> begin included first, for example.
2014-11-10 10:13:37 -05:00
Brad King b18c904412 curl: Drop inclusion of .rc file for static lib
The resource file is only needed for the curl .dll, so skip it when
building the static library.  This avoids the need to add the
'/machine:' link flag on MS tools for creating a static library.
2014-11-10 10:11:26 -05:00
Brad King 860f0a2ddc curl: Select file APIs on Windows
Choose small or large file support based on capabilities of compiler
and target platform.
2014-11-10 10:00:45 -05:00
Brad King 5a3b55ed7c curl: Do not use 'dl' on HP-UX
Re-apply the logic change made by commit v2.8.0~1427 (fix warning on
HPUX, 2008-11-26).
2014-11-10 10:00:45 -05:00
Brad King 0f836cb0ef Merge topic 'doc-cleanup-xrefs'
4c8c442d Help: Fix broken cross-references reported by 'nitpicky' option
2014-11-07 11:54:54 -05:00
Brad King 4c8c442d7c Help: Fix broken cross-references reported by 'nitpicky' option
Enable the Sphinx 'nitpicky' option and fix the resulting warnings about
dangling references.
2014-11-07 11:41:21 -05:00
Brad King 51bb383dbf Merge branch 'doc-fix-html-favicon' into release 2014-11-07 09:52:46 -05:00
Brad King 5088e0a048 Utilities/Sphinx: Fix html_favicon configuration
The value must be either a full path or relative to the configuration
directory, not relative to the 'static' directory.  Use a full path.
This avoids a warning:

 WARNING: favicon file 'cmake-favicon.ico' does not exist

It worked before because all 'static' directory content is copied to the
'_static' directory of html output anyway.
2014-11-07 09:50:50 -05:00
Chuck Atkins 996f822930 liblzma: fix build on platforms with no SIZE_MAX defined.
Some systems don't define a SIZE_MAX (older versions of HP-UX with aCC).
The logic was already in place to account for this condition but
SIZEOF_SIZE_T was not getting cmoputed at configure time to allow it to
function.  This computes sizeof(size_t) at configure time to allow the
appropriate logic to work.  It also changes SIZEOF_SIZE_T to SIZE_OF_SIZE_T
for consistency.
2014-11-03 14:37:12 -05:00
Brad King 5924270273 curl: Simplify if() conditions on check result variables
Remove use of an old hack that takes advantage of the auto-dereference
behavior of the if() command to detect if a variable is defined.  The
hack has the form:

 if("${VAR} MATCHES "^${VAR}$")

where "${VAR}" is a macro argument reference.  Use if(DEFINED) instead.
This also avoids warnings for CMake Policy CMP0054.
2014-10-30 11:11:49 -04:00
Brad King 8d311a813c curl: Remove outdated Haiku preprocessor checks
Re-apply change from commit v3.0.0-rc1~541^2~1 (Haiku: Remove outdated
preprocessor checks, 2013-10-05) on updated upstream curl.
2014-10-29 16:43:49 -04:00
Brad King 4063f26b65 curl: Port to Haiku again
Re-apply change from commit v2.8.0~1683 (add initial support for HAIKU
OS, 2008-09-15) on updated upstream curl.  However, leave out the part
that was reverted by commit v3.0.0-rc1~541^2~1 (Haiku: Remove outdated
preprocessor checks, 2013-10-05).
2014-10-29 16:43:45 -04:00
Brad King 53b8df596f curl: Drop '-DEV' from version since this is a curl release
We imported curl from an upstream release, so report the corresponding
release version to servers.  This is consistent with the version we
presented when our builtin curl was 7.16.1.
2014-10-29 16:43:41 -04:00
Brad King 392a318862 curl: Fix spelling errors reported by Lintian
Re-apply change from commit v2.8.3~265^2~1 (Fix spelling errors
reported by Lintian, 2010-07-02) on updated upstream curl.
2014-10-29 16:43:37 -04:00
Brad King 1107eb3df8 curl: Fix warnings on 64-bit Mac OS X build
Re-apply change from commit v2.6.0~921 (Fix warnings on 64-bit Mac OS X
build, 2007-11-05) on updated upstream curl.
2014-10-29 16:43:32 -04:00
Brad King 6db59302d0 curl: Remove unused SIZEOF_LONG_DOUBLE
Re-apply change from commit v2.8.2~537 (cmcurl: Remove unused
SIZEOF_LONG_DOUBLE, 2009-12-17) on updated upstream curl.
2014-10-29 16:43:27 -04:00
Brad King 80c881f793 Merge branch 'curl-upstream' into update-curl
Resolve all conflicts in favor of the upstream side.
We can re-apply specific changes later.
2014-10-29 16:43:21 -04:00
Brad King ff67d2b579 curl: Drop our CMake infrastructure to make room for the upstream
Remove our curl CMake build files since upstream now provides some.
After merging the upstream versions we may then port them to build
inside CMake and take code from our old build files as needed.
2014-10-29 16:42:10 -04:00
Brad King 661fa7c917 curl: Drop unused testing code
Remove our "Testing/" directory renames of the upstream examples.
2014-10-29 16:41:14 -04:00
Brad King 9cf069f88b curl: Move sources back into upstream layout
Update our build files as needed to compensate.
2014-10-29 16:41:10 -04:00
Brad King 15c994ebdc curl: Disable all whitespace checks in third-party code
Add a .gitattributes file to tell Git to skip whitespace checks
in the curl source code.
2014-10-29 16:41:05 -04:00
Brad King ca83c39ce0 Utilities/Sphinx: Fix html_favicon configuration
The value must be either a full path or relative to the configuration
directory, not relative to the 'static' directory.  Use a full path.
This avoids a warning:

 WARNING: favicon file 'cmake-favicon.ico' does not exist

It worked before because all 'static' directory content is copied to the
'_static' directory of html output anyway.
2014-10-29 11:43:55 -04:00
Brad King 5133694216 Merge topic 'release-upload-version'
c8616203 Utilities/Release: Update default binary distribution dir to v3.1
2014-10-22 13:37:44 -04:00
Brad King 95d84f76d9 Merge topic 'cmake-cmp0054-warnings'
29c3edb8 Avoid if() quoted auto-dereference
2014-10-21 15:08:07 -04:00
Brad King 210230e216 Merge topic 'remove-borland-build'
2db55ffa Remove borland workarounds.
2014-10-21 15:08:03 -04:00
Brad King c861620388 Utilities/Release: Update default binary distribution dir to v3.1 2014-10-21 09:17:09 -04:00
Ben Boeckel 29c3edb87a Avoid if() quoted auto-dereference
When testing CMAKE_<LANG>_COMPILER_ID values, do not explicitly
dereference or quote the variable. We want if() to auto-dereference the
variable and not its value. Also replace MATCHES with STREQUAL where
equivalent.
2014-10-20 11:49:16 -04:00
Stephen Kelly 2db55ffa56 Remove borland workarounds.
CMake 3.0 is the last release to require to be able to build with
Borland.
2014-10-15 23:16:44 +02:00
Brad King 659605fbee Merge branch 'upstream-kwiml' into update-kwiml 2014-10-14 11:19:09 -04:00
Geoff Viola bef23e8181 Fix some spelling errors in comments 2014-10-13 10:00:53 -04:00
Robert Maynard 3da328d38f Make the OSX 10.6+ release x86_64 only.
We have no need for the 10.6+ bundle to be 32 and 64bit. For older 32bit
machines they should be using the 10.4+ 32bit release.
2014-09-29 10:00:57 -04:00
Robert Maynard ffa5db9622 CMake now using bzip2 compression for mac release bundles.
Starting with OSX 10.4 dmg files offers bzip2 compression which offers
small package sizes.
2014-09-24 15:39:12 -04:00
Brad King 425acc522f cmcurl: Use if(DEFINED) to simplify conditions
Replace old hacks of the form 'if("${VAR}" MATCHES "^${VAR}$")'
with the much simpler 'if(NOT DEFINED ${VAR})'.
2014-09-11 21:23:24 +02:00
Brad King cede5cbd53 libarchive: Avoid depending on if() to dereference a quoted variable 2014-09-11 21:23:24 +02:00
Chuck Atkins c16d8c7f77 liblzma: Added a missing config check for _Bool
This fixes a current build problem for liblzma on Solaris 10, SPARC,
and the Solaris Studio compiler.
2014-09-02 10:34:47 -04:00
Brad King 8b61070748 Merge topic 'update-kwiml'
45ab21ee Merge branch 'upstream-kwiml' into update-kwiml
3c0bb281 KWIML: Teach ABI.h about OpenRISC 1000
2014-08-11 09:54:17 -04:00
Brad King 45ab21ee6e Merge branch 'upstream-kwiml' into update-kwiml 2014-08-07 16:13:26 -04:00
Konstantin Podsvirov 82382479f7 Doxygen: Add STRIP_FROM_PATH variable to doxyfile.in
This helps to better perceive information
2014-08-06 12:49:27 -04:00
Konstantin Podsvirov 3040ab8f55 Doxygen: Add CPack/IFW subdir to doxyfile.in INPUT section 2014-08-06 11:26:02 -04:00
Chuck Atkins 2dd17a546f liblzma: Fix compilation with PGI compiler
- sha265.c is using some C99 specific features, in particular static
array dimensions in a function parameter array (see section 6.7.5-7
of the C99 spec).  A #ifndef check was in place to prevent compilation
under MSVC but it actually needed to check for C99 compliance instead.
Even still, the C99 code fails on a few compilers (PGI being one) so for
compatibility reasons, the C99 version of the function declaration is
removed entirely, leaving only the C89 version.

- CHECK_SYMBOL_EXISTS is used to determine the presense of bswap
functions from byteswap.h.  Most compilers re-dedefine the bswap_N
functions as a __bswap_N function implemented by the compiler.  Since
bswap_N is usually defined as a macro then it's mere presence passes
the check.  Some versions of the PGI compiler though have shipped
broken headers for byteswap.h, in particular 11.3 for x64 linux
provides byteswap.h but is missing an associated bits/byteswap.h which
causes some of the bswap_N macros to be defined but broken and unusable.
The bswap_N checks have been converted to CHECK_SOURCE_COMPILES to
ensure that the bswap_N calls are actually usable and not just merely
defined.
2014-08-04 10:12:51 -04:00
Brad King b5728f555d Merge topic 'fix-qthelp-windows'
9e5e7e71 Help: Fix QtHelp commands on Windows
2014-07-29 08:52:19 -04:00
Daniel Pfeifer 8436d18115 CMake: Enable use of liblzma in libarchive (#14504)
Build liblzma as part of CMake or find one on the system.  Modify our
port of libarchive to use the liblzma configured for use with CMake.
2014-07-29 08:45:36 -04:00
Brad King 73eab246fb liblzma: Avoid defining a 'restrict' macro
Any "#define restrict ..." line may conflict with MSVC header files
that use "__declspec(restrict)".  Define our own LZMA_RESTRICT macro
in "Utilities/cmliblzma/config.h.in" and transform liblzma code to
use it:

 git grep -lE '\<restrict\>' Utilities/cmliblzma/liblzma |
   xargs sed -i 's/\<restrict\>/LZMA_RESTRICT/g'
2014-07-29 08:45:36 -04:00
Brad King 90e7a4d41f liblzma: Disable warnings to avoid changing 3rd party code 2014-07-29 08:45:36 -04:00
Daniel Pfeifer c20b45027e liblzma: Port to VS 6, 7.0
Also remove use of MSVC intrinsic.
2014-07-29 08:45:36 -04:00
Daniel Pfeifer 7a92eddbcb liblzma: Port from C99 to C89/90
Remove use of designated initializers and declarations of variables
after statements.  Leave "//" comments as-is for now.
2014-07-29 08:44:36 -04:00
Nils Gladitz 9e5e7e71c5 Help: Fix QtHelp commands on Windows
Explicitly invoke python script through the interpreter since
windows does not act on hashbangs.
Use the found qcollectiongenerator executable rather than what
happens to be in PATH.
2014-07-28 21:07:53 +02:00
Daniel Pfeifer b2a07ca49c liblzma: Add CMake build system
Modify sources just enough to build without the full xz common
directory.
2014-07-23 10:34:55 -04:00
Brad King d44ad1612b liblzma: Remove unused Makefile.* files
We will provide our own CMake-based build system.
2014-07-23 10:34:55 -04:00
Brad King a53caea3b6 liblzma: Add README-CMake.txt
Describe how to update liblzma from upstream.
2014-07-23 10:34:55 -04:00
Brad King 133d42fe59 Merge branch 'liblzma-upstream' into add-liblzma 2014-07-21 15:54:44 -04:00
Brad King 8510533f0e liblzma: Add .gitattributes to ignore whitespace checks
Tell Git not to check whitespace in third-party code.
2014-07-21 14:08:46 -04:00
Brad King a67f0b6afd Merge topic 'identify-qthelp-artifacts'
376ba935 Help: Identify more artifact types in QtHelp documentation.
2014-07-18 10:56:55 -04:00
Stephen Kelly 376ba93588 Help: Identify more artifact types in QtHelp documentation.
Add identifiers for variables, properties, policies and modules.
This will allow QtCreator to show relevant documentation if it learns
more about the context of the contents of cmake files.
2014-07-17 16:05:10 +02:00
Brad King 96f2a2a2ed Merge topic 'compile-with-cray'
fd63722d cmcurl: Fix a build failure with the Cray compiler on Linux (#15026)
2014-07-17 09:42:57 -04:00
Chuck Atkins fd63722dc8 cmcurl: Fix a build failure with the Cray compiler on Linux (#15026)
The error is caused by a workaround for UNICOS.  The workaround
incorrectly uses the _CRAYC macro to determine if building for
UNICOS.  This macro will always be defined for the Cray C and
C++ compiler regardless of the target platform, even when
building for Linux.  The correct macro should be _CRAY, which as
per Cray documentation is only defined for UNICOS targeted
builds.
2014-07-17 09:43:05 -04:00
Stephen Kelly d107949d21 Help: Add context to titles in QtHelp.
This allows disambiguation of identifiers in Qt Assistant and Creator.
2014-06-17 11:28:00 +02:00
Stephen Kelly b5002631c0 Help: Create proper identifiers for keywords in QtHelp.
This is necessary in order for the QHelpEngineCore::linksForIdentifier API
to work.

 http://doc-snapshot.qt-project.org/qt5-5.3/qhelpenginecore.html#linksForIdentifier

That API is used by QtCreator to enable contextual links to help files.
2014-06-17 11:06:48 +02:00
Rolf Eike Beer 4189a7f9a6 libarchive: fix compilation on newer HP-UX versions
Newer HP-UX versions (e.g. 11.31) also offers F_SETTIMES, but with a
different struct for the timing information.

Suggested-by: Eric Berge <ericmberge@gmail.com>
2014-06-09 10:38:11 -04:00
Brad King f56e74ef56 Merge topic 'hpux-libarchive-compile'
c1ddd77d libarchive: Fix compilation on Tru64 with F_SETTIMES
2014-06-09 10:36:13 -04:00
Brad King c1ddd77d0c libarchive: Fix compilation on Tru64 with F_SETTIMES
The parent commit left a typo in the conditional code path for Tru64.
Add the missing '.'.
2014-06-09 10:36:41 -04:00
Brad King 8c29d8d1e7 Merge topic 'hpux-libarchive-compile'
478b1c8b libarchive: fix compilation on newer HP-UX versions
2014-06-09 10:28:40 -04:00
Rolf Eike Beer 478b1c8b36 libarchive: fix compilation on newer HP-UX versions
Newer HP-UX versions (e.g. 11.31) also offers F_SETTIMES, but with a different
struct for the timing information.

Suggested-by: Eric Berge <ericmberge@gmail.com>
2014-06-09 10:15:27 -04:00
Nils Gladitz 15a8af21e8 Add an "installed file" property scope
Teach set_property and get_property an "INSTALL" property type to be
associated with install-tree file paths.  Make the properties available
to CPack for use during packaging.  Add a "prop_inst" Sphinx domain
object type for documentation of such properties.
2014-05-28 12:28:18 -04:00
Brad King dc3c210244 OS X: Package with DragNDrop instead of PackageMaker
Use the CPack DragNDrop generator instead of the deprecated PackageMaker
tool to package CMake itself.  This provides an installation experience
that is more consistent with other products on OS X and allows users to
select the destination directory easily.  It also avoids installing
"/private/var/db/receipts/com.Kitware.CMake.*" receipts that must be
removed by "pkgutil --forget com.Kitware.CMake" before another version
of CMake can be installed.

The DragNDrop installer does not support a post-flight script, so drop
our configuration of it.  The cmake-gui has an option for installing
symbolic links to enable command-line use.  In practice users may simply
add "/Applications/CMake.app/Contents/bin" to their PATH instead.
2014-05-08 14:13:20 -04:00
Brad King c3d98bd289 Utilities/Release: Use ${VAR} instead of @VAR@ syntax
The Utilities/Release/Cygwin/CMakeLists.txt is processed in the project,
not configured, so we should avoid using @-replacement syntax.
2014-05-08 13:24:22 -04:00
Brad King c962c21c85 Utilities/Release: Drop IRIX binary generation on ferrari
This machine has been decommissioned.  See also SGI announcements:

 SGI Support of MIPS IRIX Products Changes December 2013
 https://www.sgi.com/services/support/irix_mips_support.html
 https://www.sgi.com/products/software/irix/
2014-04-30 09:22:01 -04:00
Brad King aaa6c8a6ce Merge branch 'master' into doc-singlehtml
Resolve conflicts in Utilities/Sphinx/CMakeLists.txt by adding the help
options from both sides.
2014-04-24 15:31:45 -04:00
Brad King faf291a9c4 Utilities/Sphinx: Add option to build 'singlehtml' format
Add SPHINX_SINGLEHTML to enable the Sphinx 'singlehtml' builder.
2014-04-24 15:23:27 -04:00
Brad King 3c8226e590 Merge topic 'sphinx-python3'
d55671ad Utilities/Sphinx: Fix cmake domain document removal with python3
2014-04-24 09:24:59 -04:00
Brad King d55671ad9d Utilities/Sphinx: Fix cmake domain document removal with python3
In the domain clear_doc method, avoid removing entries from a dictionary
while iterating over it.  Instead accumulate a set of entries to remove
at the end.
2014-04-24 09:04:52 -04:00
Brad King e0790c90c0 Merge topic 'sphinx-python3'
69069cfb Utilities/Sphinx: Port documentation generation to python3 (#14886)
2014-04-18 09:08:28 -04:00
Uwe L. Korn 69069cfb1a Utilities/Sphinx: Port documentation generation to python3 (#14886) 2014-04-18 08:42:34 -04:00
Brad King fe27c993ff Merge topic 'update-libarchive'
67f5f0a9 libarchive: Use _snprintf on Windows, not snprintf
fcfbb0a9 libarchive: Drop LIBARCHIVE_ADDITIONAL_LIBS, CMake does not need it
61a649d9 libarchive: Update README-CMake.txt for new snapshot
4533560c Merge branch 'libarchive-upstream' into update-libarchive
44d6b82f libarchive: Disable all whitespace checks in third-party code
37f225b7 libarchive 3.1.2-246-ga5a5d28b (reduced)
6ab7c326 libarchive: Avoid left-shift overflow of signed integer
2014-04-17 09:11:06 -04:00
Brad King 67f5f0a9fd libarchive: Use _snprintf on Windows, not snprintf 2014-04-15 16:52:18 -04:00
Brad King fcfbb0a924 libarchive: Drop LIBARCHIVE_ADDITIONAL_LIBS, CMake does not need it 2014-04-15 16:37:52 -04:00
Brad King 61a649d974 libarchive: Update README-CMake.txt for new snapshot 2014-04-15 16:36:44 -04:00
Brad King 4533560c23 Merge branch 'libarchive-upstream' into update-libarchive
Resolve conflicts in Utilities/cmlibarchive/CMakeLists.txt as
appropriate.
2014-04-15 16:34:50 -04:00
Brad King 44d6b82f43 libarchive: Disable all whitespace checks in third-party code 2014-04-15 16:34:17 -04:00
Brad King b84ee41abb Utilities/Release: Update to openssl-1.0.1g
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2014-04-15 15:51:21 -04:00
Brad King e13ff189d1 Merge topic 'libarchive-no-acl'
d9b59179 libarchive: Skip finding libacl.h when ENABLE_ACL is OFF (#14866)
2014-04-15 10:22:30 -04:00
Brad King 1ce673a88b Merge topic 'fix-qthelp-installation'
6578508c Help: Fix installation of the Qt qch file.
2014-04-15 10:22:26 -04:00
Brad King 6ab7c32648 libarchive: Avoid left-shift overflow of signed integer
In libarchive/archive_write_set_format_zip.c there are two calls to
archive_le32enc whose second argument is of the form

 archive_entry_mode(zip->entry) << 16

However, the return type from archive_entry_mode may be a signed integer
so the shift may overflow.  Since the second argument of archive_le32enc
expects uint32_t anyway, simply cast to that prior to shifting.
2014-04-15 09:08:20 -04:00
Mike Crowe d9b591790e libarchive: Skip finding libacl.h when ENABLE_ACL is OFF (#14866) 2014-04-14 09:34:12 -04:00
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
Stephen Kelly 6578508ca3 Help: Fix installation of the Qt qch file.
The file was changed to have the version in its name in
commit 111bb67c (Help: Use a more-appropriate qthelp namespace and
file name., 2014-04-10).
2014-04-14 13:14:31 +02: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
Brad King 678aaad133 Drop documentation generation during build
Drop the 'documentation' build target.  We will no longer use the
executables to generate their own documentation.  New infrastructure
will be introduced later to generate documentation.
2013-10-15 10:47:37 -04:00
Brad King e49efe9150 Drop xmllint documentation tests
Drop these tests since we will drop docbook output along with other
documentation formatters.
2013-10-15 10:46:54 -04:00
Brad King 189008ea5c Move cmake.m4 from Utilities to Auxiliary
The latter fits more consistently with other third party integration
files.
2013-10-15 10:46:54 -04:00
Stephen Kelly e4e5b28c27 cmTarget: Deprecate the LOCATION target property with a policy.
The final location and name of a build-target is not determined
until generate-time. However, reading the LOCATION property from
a target is currently allowed at configure time. Apart from creating
possibly-erroneous results, this has an impact on the implementation
of cmake itself, and prevents some major cleanups from being made.

Disallow reading LOCATION from build-targets with a policy. Port some
existing uses of it in CMake itself to use the TARGET_FILE generator
expression.
2013-10-11 21:17:27 +02:00
Brad King e81b6742f7 Merge topic 'haiku-updates'
54ef2be Haiku: Include files cleanup in cmCTest
38d5555 Haiku: Remove outdated preprocessor checks
1dc61f8 Haiku: Remove use of B_COMMON_DIRECTORY
7ebc1cb Haiku: Several fixes to platform module
2013-10-09 10:23:04 -04:00
Brad King 12a7e2b10c Merge topic 'apple-clang-id'
1763c31 Set policy CMP0025 to NEW while building CMake itself
aa53ee5 Add policy CMP0025 for Apple Clang compiler id compatibility
ab65862 Clang: Add separate "AppleClang" compiler id
2013-10-09 10:21:28 -04:00
Adrien Destugues 38d555537c Haiku: Remove outdated preprocessor checks
* Haiku does not define __BEOS__ anymore, so there is no need to guard
  these BeOS specific workaround for Haiku.
* The workaround themselves are not needed for Haiku as it has much
  better POSIX compatibility than BeOS did.

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2013-10-08 09:55:55 -04:00
Sean McBride af0051f48a curl, bzip2: Suppress warnings by setting initial value
Silence clang -Wsometimes-uninitialized warnings.
2013-10-08 09:16:33 -04:00
Sean McBride 7e7a1c0a50 curl: Fix typo in header include guard
From clang's -Wheader-guard.
2013-10-08 09:16:27 -04:00
Brad King 1763c31c3b Set policy CMP0025 to NEW while building CMake itself
CMake is aware of the policy's NEW behavior and the AppleClang compiler
id.  Set the policy to NEW explicitly to avoid the warning and get the
NEW behavior.

Also teach the RunCMake test infrastructure to build tests with
-DCMAKE_POLICY_DEFAULT_CMP0025=NEW to avoid the policy warning
in test output that must match specific regular expressions.
2013-10-07 20:12:46 -04:00
Brad King ab65862417 Clang: Add separate "AppleClang" compiler id
Apple distributes their own Clang build with their own version numbers
that differ from upstream Clang.  Use the __apple_build_version__ symbol
to identify the Apple Clang compiler and report the Apple Build Version
as the fourth version component in CMAKE_<LANG>_COMPILER_VERSION.  Add
Compiler/AppleClang-<lang> and Platform/Darwin-AppleClang-<lang> modules
that simply include the upstream equivalents.

Fix comparisons of CMAKE_<LANG>_COMPILER_ID to Clang in CMake's own
source and tests to account for AppleClang.
2013-10-07 20:12:46 -04:00
Brad King df62f64db7 Clean up install rules of CMake itself (#14371)
Ensure CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR are always
relative paths in CMake code, and set defaults accordingly.  Use the
install() command instead of install_files() and install_targets().
This is more modern and also avoids stripping of the first character
from user-specified destinations.

While at it, fix the default destinations reported in the bootstrap
help.
2013-08-26 11:54:07 -04:00
Brad King 8120e13f40 cmake-gui: Fix build rules for Qt5 on Windows
Set policy CMP0020 to NEW to get WinMain from Qt.  Fix the documentation
custom command PATH for cmake-gui to find the Qt5 DLLs.
2013-08-07 09:59:33 -04:00
Brad King 26fe7e3adf libarchive: Backport to CMake 2.8.2
Avoid requiring CMake 2.8.6 for CMakePushCheckState or CMake 2.8.8 for
CMakeExpandImportedTargets.  Drop the custom versions of CMake modules
CheckCSource(Compiles|Runs) because we do not use the SAFESEH option
anyway.
2013-07-31 08:22:15 -04:00
Brad King b81a4e1568 libarchive: Remove build options not used by CMake
Drop options POSIX_REGEX_LIB and ENABLE_SAFESEH that we do not want for
the CMake build of libarchive.
2013-07-31 08:21:20 -04:00
Brad King 3218f52f11 libarchive: Avoid struct init with variable
Compilers such as Borland and MIPSpro do not like struct initialization
with variables.  Initialize using assignment instead.
2013-07-31 08:20:24 -04:00
Brad King bae3a73cee libarchive: Silence API deprecation warnings
CMake uses old libarchive APIs for now.
2013-07-31 08:20:05 -04:00
Brad King 677384017a libarchive: Include cm_zlib.h to get zlib used by CMake
Follow up change from commit ffa6faa4 (libarchive: Include cm_zlib.h to
get zlib used by CMake, 2011-12-20) for new includes of zlib.h in
updated libarchive.
2013-07-31 08:19:58 -04:00
Brad King 8dc0a9f898 libarchive: Update README-CMake.txt for new snapshot 2013-07-31 08:19:48 -04:00
Brad King 102071f80c Merge branch 'libarchive-upstream' into update-libarchive
Conflicts:
	Utilities/cmlibarchive/CMakeLists.txt
	Utilities/cmlibarchive/libarchive/archive.h
	Utilities/cmlibarchive/libarchive/archive_entry.h
	Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
	Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c
	Utilities/cmlibarchive/libarchive/archive_windows.h
	Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c
2013-07-31 08:19:13 -04:00
Ömer Fadıl USTA c8adab9e43 cmcurl: Fix resource leak reported by cppcheck
Add missing fclose calls.

Reviewed-by: Igor Murzov <e-mail@date.by>
2013-07-15 10:20:00 -04:00
Ömer Fadıl USTA 499531c64e libarchive: Fix free() order to avoid accessing freed memory
The archive_string_conv type sc variable already freed via free(sc) on
the other hand in second line we are tyring to free its subset via
free(sc->from_charset) this will cause a problem because we couldn't
reach sc after first release.

Reviewed-by: Igor Murzov <e-mail@date.by>
2013-07-15 10:20:00 -04:00
Brad King 84cb494703 Merge topic 'curl-bug-1192'
e643e02 cmcurl: Backport curl bug 1192 fix (#14250)
2013-07-01 09:12:00 -04:00
Brad King e643e0259d cmcurl: Backport curl bug 1192 fix (#14250)
LLVM headers define strlcat as a macro rather than as a function.
See upstream Curl issue:

 http://curl.haxx.se/bug/view.cgi?id=1192

It was addressed by removing use of strlcat altogether.  Port the
upstream fix to CMake's curl.
2013-06-27 16:46:23 -04:00
Andreas Mohr f57800d6f5 Fix spelling and typos (product names)
API, Borland, MinGW, UNIX, Mac OS X.
2013-05-07 08:42:20 -04:00
Andreas Mohr bf019d765d Fix spelling and typos (non-binary) 2013-05-07 08:39:19 -04:00
Andreas Mohr ddac8d3d2d Fix spelling and typos (affecting binary data / module messages) 2013-05-07 08:39:19 -04:00
Brad King 32fb667a0c Merge branch 'upstream-kwiml' into update-KWIML 2013-01-08 15:31:53 -05:00
Brad King 2ce327892f Merge branch 'upstream-kwiml' into update-KWIML 2012-12-21 08:32:56 -05:00
Sean McBride 6a6a6f3670 libarchive: fixed undefined left shift with signed ints
caught by clang's -fsanitize=shift. A small unsigned int was
promoted, according to C's regular promotion rules, to a signed
int, it was then left shifted.  This sometimes pushed a 1 into
the sign bit, which is undefined behaviour. Fixed by using
unsigned temporaries.
2012-11-30 08:04:48 -05:00
Brad King 56a687d173 Merge topic 'import-KWSys-subtree'
68579cd Merge branch 'upstream-kwsys' into import-KWSys-subtree
cd83da9 KWSys 2012-11-05 (df32fa6f)
3517106 CTestCustom: Suppress LNK4089 warning about PSAPI
5c63fa3 Merge branch 'ctest-SUBMIT_INDEX-cdash' into import-KWSys-subtree
17fb60b Merge branch 'upstream-kwsys' into import-KWSys-subtree
7ae44db KWSys 2012-10-16 (b7a97ac3)
97c9887 pre-commit: Update KWSys rejection message for new workflow
3db0b51 KWSys: Submit dashboard builds to PublicDashboard
4b8d363 Merge branch 'upstream-kwsys' into import-KWSys-subtree
a61f633 Merge branch 'master' into import-KWSys-subtree
8c55ea0 Merge branch 'upstream-kwsys' into import-KWSys-subtree
5d0de36 KWSys 2012-10-01 (bab53989)
7d3c295 KWSys 2012-05-02 (719638e2)
2012-11-07 09:07:15 -05:00
Brad King 0e3f95eff9 Merge branch 'upstream-kwiml' into update-KWIML 2012-10-25 07:54:49 -04:00
Brad King 97c98876b7 pre-commit: Update KWSys rejection message for new workflow
KWSys is now kept in its own Git repository.  We manually extract
snapshots of KWSys versions to update the Source/kwsys directory.
2012-10-05 10:02:28 -04:00
Brad King eb8b0bea6f Merge topic 'file-download-verify'
4bcd84e Utilities/Release: Enable CMAKE_USE_OPENSSL in nightly binaries
e1c89f0 file(DOWNLOAD): Add options for SSL
073a73a Merge branch 'curl-openssl' into file-download-verify
34567df file(DOWNLOAD): Generalize EXPECTED_MD5 to EXPECTED_HASH
2012-09-12 07:51:39 -04:00
Bill Hoffman 4bcd84e65a Utilities/Release: Enable CMAKE_USE_OPENSSL in nightly binaries 2012-09-11 15:35:09 -04:00
Brad King 1d3db6b34d Merge topic 'curl-openssl'
8b51762 curl: Honor OPENSSL_NO_SSL2
bc0e8c2 curl: Make OpenSSL DLLs available to CMake on Windows
c2f4759 curl: Use find_package(OpenSSL)
2012-09-11 15:01:57 -04:00
Brad King d07c5f76f2 Merge topic 'docbook-validate'
d0c863f docbook: Fix Sun CC warning on ptr_fun(isalnum)
4e62784 docbook: Fix formatter naming convention to avoid shadow
9ad85dbb docbook: Remove redundant docs that cause invalid DocBook
9468b41 docbook: Add CMake.DocBook test to validate xml (#13508)
3a9e373 docbook: Add support for <abstract> at section level 1
67e7d49 docbook: Cleanup formatter and generated DocBook
55146ed docbook: Fix the DocBook section output
dbfe335 docbook: Factor out code to write valid DocBook IDs
cffa899 docbook: Remove table of contents
ac25bc0 Utilities/xml: Add docbook-4.5 DTD (#13508)
2b2e86f Utilities/xml: Add .gitattributes to disable whitespace checks
2012-09-11 15:01:48 -04:00
Brad King c0ef32c231 Merge topic 'simplify-CMake.HTML-test'
2f520d3 Simplify CMake.HTML documentation test command line
2012-09-11 15:01:44 -04:00
Daniel Pfeifer 9468b41daf docbook: Add CMake.DocBook test to validate xml (#13508)
The DocBook DTD is provided in "Utilities/xml/docbook-4.5".
2012-09-08 07:42:10 -04:00
Brad King 8b51762426 curl: Honor OPENSSL_NO_SSL2
Some OpenSSL distributions have dropped support for the ancient SSLv2
protocol completely.  Port changes from upstream curl to recognize this
case and avoid using it.
2012-09-07 13:24:14 -04:00
Bill Hoffman bc0e8c28ec curl: Make OpenSSL DLLs available to CMake on Windows
Find the OpenSSL runtime DLLs and place them next to the CMake
executables in the build tree and the install tree.
2012-09-07 11:07:31 -04:00
Bill Hoffman c2f47590ef curl: Use find_package(OpenSSL)
Change the code to use the standard CMake FindOpenSSL instead of the
handcrafted attempt that was there before.
2012-09-07 11:03:19 -04:00
Brad King ac25bc0135 Utilities/xml: Add docbook-4.5 DTD (#13508)
Run the shell code below to put the DTD in Utilities/xml/docbook-4.5:

v=4.5 &&
sha1=b9124233b50668fb508773aa2b3ebc631d7c1620 &&
mkdir Utilities/xml/docbook-$v &&
cd Utilities/xml/docbook-$v &&
wget -c http://www.oasis-open.org/docbook/xml/$v/docbook-xml-$v.zip &&
sha1sum docbook-xml-$v.zip |grep $sha1 &&
unzip docbook-xml-$v.zip &&
rm docbook-xml-$v.zip
2012-09-07 10:06:50 -04:00
Brad King 2b2e86feaa Utilities/xml: Add .gitattributes to disable whitespace checks
This directory holds upstream DTD files.  We do not want to modify them,
so tell Git to skip whitespace enforcement.
2012-09-07 10:06:50 -04:00
Daniel Pfeifer 2f520d304a Simplify CMake.HTML documentation test command line
Drop the "cmake -E chdir" wrapper and instead pass the DTD directory to
xmllint's --path option using url encoding.  While at it, move the
XHTML1 DTD to "Utilities/xml/xhtml1" to make room for additional DTDs.
2012-09-07 10:05:50 -04:00
Brad King 084c5af4e0 Utilities/Release: Link AIX binary with large maxdata
Raise the default "maxdata" linker setting on the 32-bit AIX release
binaries.  This allows the CMake binaries to process larger projects
without encountering a "Segmentation fault in extend_brk".
2012-09-05 12:49:37 -04:00
David Cole 17f962f03d Merge topic 'magrathea-release-DT_RUNPATH'
c0f89e9 magrathea: Tell cmELF about DT_RUNPATH (#13497)
2012-09-04 15:48:10 -04:00
Brad King c0f89e9c14 magrathea: Tell cmELF about DT_RUNPATH (#13497)
Our Linux release machine 'magrathea' has a very old Linux to help build
portable binaries.  It is so old that <elf.h> does not define the
DT_RUNPATH constant.  Define the correct value in the build flags to
activate handling of ELF RUNPATH entries in the binary release.
2012-09-03 16:30:33 -04:00
Marcin Wojdyr 84b49be8f0 Remove CMake multiline block-end command arguments
removing arguments omitted in 9db3116226
2012-08-15 16:50:29 -04:00
Kitware Robot 9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot 77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot 7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
David Cole 4bdbdfbfef Merge topic 'directory-typo'
6c8722f Fix typo direcotry -> directory (and similar) [#13444]
2012-08-13 13:27:48 -04:00
David Cole e856509093 Merge topic 'release-script-fixes'
214589b Add ability to run as a ctest -S script also
2012-08-13 13:26:39 -04:00
David Cole bed44c2cc1 Merge topic 'exclude-ExternalProject-test-for-cygwin-release-script'
3a17311 Release: Temporarily exclude ExternalProject test on cygwin
2012-08-13 13:26:30 -04:00
Rolf Eike Beer 6c8722fab5 Fix typo direcotry -> directory (and similar) [#13444] 2012-07-30 08:08:33 +02:00