Commit Graph

882 Commits

Author SHA1 Message Date
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