Commit Graph

897 Commits

Author SHA1 Message Date
Kolan Sh 8d46d4838b Make NSIS uninstaller filename (Uninstall.exe) customizable.
When we have to generate two different setup packages
from the same project (modules, libraries, data-files, etc...)
we want to have opportunity to install/update/delete them independently.
But the later installed package would overwrite the 'Uninstall.exe'.
This patch fixes the issue by customizing uninstaller name:
set (CPACK_UNINSTALL_NAME "My Custom Uninstaller Name")
before directive
include (CPack).
2015-04-22 22:04:00 +03:00
Brad King 0740677b9c Merge branch 'fix-libarchive-mktemp' into release 2015-04-09 14:22:44 -04:00
Brad King 048c6d1925 Merge branch 'fix-liblzma-optimize' into release 2015-04-09 14:22:05 -04:00
Brad King 0af4b40b6e liblzma: Disable GNU 3.3 compiler optimizations
The GNU 3.3 optimizer causes bad behavior in liblzma, so disable it.
2015-04-09 14:21:33 -04:00
Brad King d8126d3784 liblzma: Disable XL compiler optimizations
Somehow the XL compiler optimizations create incorrect behavior in
liblzma and lead to crashes or truncated output during compression.
2015-04-09 14:21:00 -04:00
Tim Kientzle 1f33b45d5d libarchive: Fix string concatentation in Windows mktemp implementation
Port upstream LibArchive commit "compute string pointers after
concatenation" (2014-09-25) and commit "Move variables to top of
function for non-C99 compilers" (2014-11-15) to our CMake copy.
Otherwise we may compute a pointer to memory that is about to be freed
and then compute a bad size to give to CryptGenRandom.

Inspired-by: Tim Kientzle <kientzle@gmail.com>
2015-04-09 14:08:43 -04:00
Brad King 50806a1e26 Merge branch 'fix-liblzma-access-alignment' into release 2015-04-01 11:06:40 -04:00
Brad King af61d6cb60 liblzma: Use unaligned access only on Intel and PowerPC archs 2015-04-01 11:05:30 -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
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