Commit Graph

1056 Commits

Author SHA1 Message Date
Brad King 91f6e7904a CMake 3.6.0-rc1 version update 2016-06-01 10:57:43 -04:00
Brad King 8479dc46f1 liblzma: Avoid possible overflow on signed left shift
Use an unsigned value to produce the needed mask.
2016-05-25 10:02:02 -04:00
Brad King 2f2117e7d4 clang-format.bash: Limit formatting to files selected by options
Now that our one-shot clang-format run is complete we rarely need to
filter the entire tree anymore.  Filter nothing if no options are given
and just print the usage message.  Offer options to specify selection of
some set of files from Git as needed for various workflows.
2016-05-20 13:57:25 -04:00
Kitware Robot d9fd2f5402 Revise C++ coding style using clang-format
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
2016-05-16 16:05:19 -04:00
Brad King bf451d9ff9 Add a script to run clang-format on the entire source tree
List all sources in version control and filter out those that we should
not format for various reasons.  Then run the clang-format tool to do an
in-place update.
2016-05-16 16:04:46 -04:00
Brad King ea8428a2f4 Utilities/Release: Switch to OS X 10.7 and Qt 5.6 for Mac binary
Use a new build machine to produce the OS X binary targeting OS X 10.7
and using Qt 5.6.
2016-05-06 13:08:52 -04:00
Brad King 058b22cd5a Merge topic 'update-expat'
58216d16 expat: Suppress compiler warnings
f177c8a0 expat: Re-write CMake build system for our needs
4544c68a expat: Hard-code configuration options for our needs
9f7de396 expat: Drop upstream test/install/packaging code
b4678e1c expat: Update cm_expat.h wrapper for new header location
94c62680 Merge branch 'upstream-expat' into update-expat
318b1c17 expat 2016-05-01 (379213ca)
48764630 expat: Disable all whitespace checks in third-party code
f4bd9d43 Add script to update Expat from upstream
7eb7a189 Drop old expat sources to make room for a fresh import
2016-05-06 08:22:31 -04:00
Brad King 58216d1694 expat: Suppress compiler warnings
We are not developing expat so we do not care about warnings.
2016-05-05 15:17:16 -04:00
Brad King f177c8a0a7 expat: Re-write CMake build system for our needs
Hard-code production of a static library.  Rename to `cmexpat`.
2016-05-05 15:17:16 -04:00
Brad King 4544c68a6e expat: Hard-code configuration options for our needs
Also include our configured header on Windows too to get the same
configuration.
2016-05-05 15:10:03 -04:00
Brad King 9f7de3960c expat: Drop upstream test/install/packaging code 2016-05-05 15:07:13 -04:00
Brad King b4678e1c34 expat: Update cm_expat.h wrapper for new header location 2016-05-05 14:45:11 -04:00
Brad King 94c626808b Merge branch 'upstream-expat' into update-expat
* upstream-expat:
  expat 2016-05-01 (379213ca)
2016-05-05 14:42:30 -04:00
Brad King 4876463049 expat: Disable all whitespace checks in third-party code 2016-05-05 14:42:17 -04:00
Brad King f4bd9d43b8 Add script to update Expat from upstream 2016-05-05 14:42:12 -04:00
Brad King 7eb7a18963 Drop old expat sources to make room for a fresh import 2016-05-05 14:21:12 -04:00
Brad King 3a67167ab0 Utilities/Release: Update to openssl-1.0.2h
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2016-05-05 09:13:33 -04:00
Brad King 59d28b2849 libarchive: Drop early use of crypto library
We already add the crypto library after the ssl library when using
OpenSSL.  Do not add it to the list of libraries individually or we may
end up with the wrong order later.  Further investigation will be needed
to see how this change can be reconciled with the upstream need for the
original line.
2016-05-03 09:53:05 -04:00
Brad King fa425910b7 Utilities/Release: Define NTDDI_VERSION for Windows binaries
LibArchive now defines this explicitly if it is not defined already.
Since we define _WIN32_WINNT explicitly, we must now define a consistent
value of NTDDI_VERSION explicitly too.
2016-05-03 09:09:19 -04:00
Brad King e9bc469b2a Merge branch 'upstream-LibArchive' into update-libarchive
Resolve conflicts in C code by taking their side.  Resolve conflicts in
CMake code by integrating the changes.
2016-05-02 10:48:48 -04:00
Brad King b2675cde5f libarchive: Remove CMake-specific README
We will now manage the libarchive source tree updates using
the `Utilities/Scripts/update-libarchive.bash` script.  Drop
the README that covered the old method.
2016-05-02 10:46:57 -04:00
Brad King 91e6da10eb Add script to update LibArchive from upstream 2016-05-02 10:25:15 -04:00
Brad King 0e7bca923e Utilities/Release: Stabilize include order in WiX custom action
In `detect_nsis_overwrite.cpp` we include windows.h first, and we must
preserve that.  Place the include in an isolated block so that tools
that sort includes do not move it.
2016-04-29 10:56:59 -04:00
Felix Geyer 49e82c15d5 Fix spelling typos in comments and documentation (#16037)
The Debian package checker tool (lintian) detected several typos in
CMake.
2016-03-29 14:31:02 -04:00
Brad King 4cdd636387 Utilities/Release: Skip spurious Qt5Autogen test for nightly win64 binary
This test fails spuriously too often and prevents the nightly binary
from finishing.  Simply skip it for the nightly binary to allow it
to complete more regularly.
2016-03-22 07:47:40 -04:00
Brad King c089485d21 Utilities/Release: Skip spurious Qt5Autogen test for nightly binary
This test fails spuriously too often and prevents the nightly binary
from finishing.  Simply skip it for the nightly binary to allow it
to complete more regularly.
2016-03-17 09:32:53 -04:00
Brad King e903a9fc55 Utilities/Release: Create a Windows 64-bit binary
Compile with `-D_WIN32_WINNT=0x502` to use a WinXP-compatible API.
Compile with `-D_USING_V110_SDK71_` to tell the VS standard library
headers that we are building with a WinXP-compatible Windows SDK.  Link
executables with `-subsystem:console,5.02` to make them runnable on
Windows XP 64-bit.  Ideally `cmake-gui` should instead be linked with
`-subsystem:windows,5.02` but with the Ninja and Makefile generators
CMake adds `-subsystem:windows` after our `-subsystem:console,5.02` flag
and the linker seems to interpret this combination as we need.
2016-03-17 09:32:16 -04:00
Brad King dd63007544 Utilities/Release: Rename scripts to match target platform
The machine name we happen to use for the build is less informative than
its platform.
2016-03-17 09:30:30 -04:00
Ben Boeckel 97149ff8db update-third-party: read attributes from the worktree
This should be done so that any attributes for ignoring certain files
when exporting can be appended to the file during the extraction step,
but ignored in the actual import. Necessary for importing the gitsetup
repository.
2016-03-09 13:57:57 -05:00
Brad King a35f4be61f update-third-party: Add license notice
Our Git infrastructure scripts use the "Apache License 2.0".
2016-03-09 13:57:41 -05:00
Ben Boeckel afac3d107d update-third-party: remove empty directories as well
The `git ls-files | xargs rm` removes only files; directories which are
empty are left laying around. This later chokes the `mv` which puts the
"reduced" directory into place. Remove the empty directories as well.
2016-03-09 13:57:27 -05:00
Brad King b682debd65 Utilities/Release: Switch to OS X 10.7 and Qt 5.5 for Mac binary
Use a new build machine to produce the OS X binary targeting OS X 10.7
and using Qt 5.5.
2016-02-19 15:47:18 -05:00
Brad King fb658907d8 Merge topic 'update-prebuilt-openssl'
c0a1605b Utilities/Release: Update to openssl-1.0.2f
2016-02-10 08:49:36 -05:00
Brad King 6bd277d2c1 Merge topic 'wix-prevent-nsis-overwrite'
a12b0f1b CMake: Prevent WiX installations over existing NSIS installations
2016-02-10 08:49:33 -05:00
Brad King c0a1605bbe Utilities/Release: Update to openssl-1.0.2f
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2016-02-09 13:41:50 -05:00
Nils Gladitz a12b0f1b19 CMake: Prevent WiX installations over existing NSIS installations
Use a custom action to look for Uninstall.exe in the user
selected installation prefix.

Its presence indicates a previous NSIS installation.
Inform the user and request manual resolution of the issue.
2016-02-09 10:28:57 -05:00
Brad King 7b53e8c6a5 Merge topic 'install-man-conditionally'
8282547e Install ccmake.1 and cmake-gui.1 conditionally with their tools (#15957)
2016-02-09 10:10:20 -05:00
Brad King 8282547e0f Install ccmake.1 and cmake-gui.1 conditionally with their tools (#15957) 2016-02-08 09:38:18 -05:00
Brad King 8a8d22cf1e CMake 3.5.0-rc1 version update 2016-02-02 08:37:05 -05:00
Brad King fae4779864 Utilities/Release: Configure Windows binary to support Windows XP
Compile with `-D_WIN32_WINNT=0x501` to use a WinXP-compatible API.
Compile with `-D_USING_V110_SDK71_` to tell the VS standard library
headers that we are building with a WinXP-compatible Windows SDK.  Link
executables with `-subsystem:console,5.01` to make them runnable on
Windows XP.  Ideally `cmake-gui` should instead be linked with
`-subsystem:windows,5.01` but with the Ninja and Makefile generators
CMake adds `-subsystem:windows` after our `-subsystem:console,5.01` flag
and the linker seems to interpret this combination as we need.
2015-12-21 10:05:03 -05:00
Brad King 083312a8fd Utilities/Release: Switch to .msi builder for Windows binary
Use a new build machine to produce the Windows binary using the CPack
WiX generator to produce a `.msi` installer.
2015-12-21 09:52:28 -05:00
Brad King 240b065faa Utilities/Release: Optionally load environment on remote build server 2015-12-21 09:52:28 -05:00
Brad King a95b47154e Utilities/Release: Add optional remote launcher to ssh calls 2015-12-21 09:52:28 -05:00
Brad King a53e0168c3 Merge topic 'import-kwiml'
a5dd0c9d Add option to use a system-installed KWIML
036b6ef7 Port CMake from cmIML to KWIML
12293371 Merge branch 'upstream-KWIML' into import-kwiml
3fdbb0a8 KWIML 2015-12-09 (43f9f8d0)
55b21d07 Add script to update KWIML from upstream
c7d9a249 Utilities/KWIML: Drop sources to make room for fresh import
2015-12-21 09:41:09 -05:00
Brad King f9e3ca46cb Merge topic 'release-wix-config-ng'
24cdb9df CMake: Mimic NSIS options dialog in WiX installer
de77d4a7 CPackWIX: Allow multiple patch files and diagnose if any are missing
38d723b3 CPackWIX: Allow patching of shortcut components
2015-12-18 10:55:35 -05:00
Brad King a5dd0c9d42 Add option to use a system-installed KWIML
Do not activate it with the general use-system-libs options for now
because KWIML is not commonly distributed or available.
2015-12-18 10:02:28 -05:00
Brad King 036b6ef7c4 Port CMake from cmIML to KWIML
KWIML no longer uses a configured prefix.
2015-12-18 10:02:07 -05:00
Brad King 12293371ee Merge branch 'upstream-KWIML' into import-kwiml
* upstream-KWIML:
  KWIML 2015-12-09 (43f9f8d0)
2015-12-17 14:56:40 -05:00
Brad King 55b21d072e Add script to update KWIML from upstream 2015-12-17 14:56:31 -05:00
Brad King c7d9a24911 Utilities/KWIML: Drop sources to make room for fresh import 2015-12-17 14:55:38 -05:00
Brad King c4282347e2 Add script to update KWSys from upstream 2015-12-17 14:46:09 -05:00
Ben Boeckel 498c36850b Add a script to help update third-party sources
Use the VTK `ThirdParty/update-common.sh` script as of commit
2f24b7b0f60b67a2a28b9aef210f06f904e7a977.

Co-Author: Brad King <brad.king@kitware.com>
2015-12-17 14:44:53 -05:00
Nils Gladitz 24cdb9df59 CMake: Mimic NSIS options dialog in WiX installer 2015-12-17 15:57:30 +01:00
Brad King a42bf6c5dd Utilities/Release: Add support for copying .msi files 2015-12-10 14:30:55 -05:00
Brad King 93936d78d2 Utilities/Release: Avoid repeat copy of files with same suffix 2015-12-10 14:29:37 -05:00
Roger Leigh 8a60e6961e Utilities: Add BoostScanDeps script
This script scans Boost headers in order to determine inter-library
dependencies, using the "autolink" information embedded in the
headers for automatic linking on Windows.  This information is then
output in a form suitable for use in FindBoost.cmake.
2015-12-02 09:40:17 -05:00
Brad King 58c1840a19 Merge branch 'upstream-kwiml' into update-kwiml 2015-11-30 10:18:24 -05:00
Brad King c09acf4fdd libarchive: Update README-CMake.txt for new snapshot 2015-10-28 08:44:47 -04:00
Brad King 2f940f8995 libarchive: Drop use of pthread.h for CMake build
CMake does not use threads so we do not need this in our libarchive.
2015-10-28 08:44:47 -04:00
Brad King 1e47381730 libarchive: Do not use pthread.h API without header 2015-10-28 08:44:47 -04:00
Brad King 43d577dcb9 libarchive: Test for Clang builtin before using it
The __builtin_bswap16 builtin is not available on Clang 2.1.
2015-10-28 08:44:47 -04:00
Brad King 85e0bb84f5 libarchive: Avoid using 'uint8_t' as bitfield type
The IBM XL compiler does not like it.  Use plain 'unsigned' instead.
2015-10-22 10:18:27 -04:00
Brad King c70491d671 libarchive: Avoid using name 'hz'
AIX system headers define the symbol 'hz' as a preprocessor macro.
2015-10-22 10:18:27 -04:00
Brad King 1bbba477c7 libarchive: Drop outdated CMake portability snprintf
The archive_read_support_format_zip.c source no longer calls snprintf
directly so we do not need a portability macro for it.
2015-10-22 10:18:26 -04:00
Brad King 64bdf0b746 libarchive: Avoid non-portable u_int8_t
Use uint8_t that we prepare in config.h instead.
2015-10-22 10:18:26 -04:00
Brad King 8f837fc9a9 libarchive: Use CommonCrypto APIs on OS X only when available
Use each CommonCrypto API only when using an OS X SDK version new enough
to provide it.
2015-10-22 10:18:26 -04:00
Brad King 61a0251e82 libarchive: Define O_CLOEXEC when missing
Do this in archive_random.c as we do in several other sources already.
2015-10-22 10:18:26 -04:00
Brad King 832fe4b133 libarchive: Fix VS 7.1 Debug build
This version of the MS C runtime library forgets to export
_byteswap_ushort.
2015-10-21 11:34:28 -04:00
Brad King 0b82f51a30 libarchive: Guard bcyrpt.h with HAVE_BCRYPT_H 2015-10-21 11:18:50 -04:00
Brad King 5333c04cd0 libarchive: Drop CMake-specific Borland compiler workaround
We no longer build CMake with the Borland compiler.
2015-10-21 10:31:57 -04:00
Brad King e861e12f6e libarchive: Define version macro before first use 2015-10-21 10:30:29 -04:00
Brad King 932848f420 Merge branch 'libarchive-upstream' into update-libarchive
Resolve conflicts by integrating changes from both sides.
2015-10-21 10:18:52 -04:00
Brad King fab35c95cb Utilities/Release: Move cygwin packages to a subdirectory 2015-10-06 10:13:28 -04:00
Brad King 45fa326b6c Utilities/Release: Drop OS X ppc/i386 binary
Users with OS X 10.5 or below can build from source or use an older
CMake version.
2015-10-05 13:09:04 -04:00
Brad King 86cc45e3e3 CMake 3.4.0-rc1 version update 2015-10-05 10:11:00 -04:00
Brad King ec725815c9 Utilities/Release: Update path to 'cmake.exe' on Windows build machine 2015-10-01 14:11:05 -04:00
Brad King 1d11f3ca68 Merge topic 'link-https-cmake.org'
da7276cf Replace http://www.cmake.org URLs with https://cmake.org
2015-09-29 10:08:02 -04:00
Brad King da7276cf94 Replace http://www.cmake.org URLs with https://cmake.org
The latter is now the preferred URL for visiting cmake.org with a
browser.  Convert using the shell code:

 git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
2015-09-25 15:47:39 -04:00
Marc Chevrier a7fe4413d5 jsoncpp: Add missing cast to convert from char to UInt
When parsing digits we know our `c - '0'` expression results in a
non-negative value due to preceding conditions.  Simply cast the result
to UInt.  This fixes compilation on SolarisStudio 12.4.
2015-09-25 08:38:20 -04:00
Joerg Sonnenberger 75644dafe5 jsoncpp: Fix compilation as C99 on Solaris
In C99 mode, Solaris variants may already define isfinite, so check for
the existence first.
2015-09-14 09:40:38 -04:00
Gregor Jasny 01b6ecdb41 curl: Do not use libnetwork on Apple platforms
Starting with OS X 10.11 there is a library called libnetwork
which will be picked up during curl configuration.
This breaks backward compatibility of the resulting binaries
because libnetwork is not available on older OS X versions.
2015-09-10 11:25:42 -04:00
Brad King 6f7edb87ea Utilities/Release: Install docs in unversioned directory (#15692)
Our upstream-built release tarballs already contain many unversioned
paths and so will never overlap with another version of CMake in the
same installation prefix.  Therefore we do not need a versioned name for
the documentation directory.  Configure our release binaries to place
the documentation in an unversioned directory so that one can use the
same path to refer to the documentation locally even after updating
CMake.  For example, on OS X one may see the documentation in
`/Applications/CMake.app/Contents/doc/cmake/html/index.html`.
2015-09-02 14:15:59 -04:00
Brad King 7d891cde02 Utilities/Release: Refactor bootstrap argument construction
Pass needed bootstrap arguments directly instead of constructing them
from various conditions.
2015-09-02 14:11:57 -04:00
Brad King 4071a74707 curl: Update README-CMake.txt for new snapshot 2015-08-17 10:17:51 -04:00
Brad King 7727d485d3 curl: Update configuration of build within CMake
Update our curl build option settings as needed for CMake to account for
differences in curl options from 7.38 to 7.44.
2015-08-17 10:17:51 -04:00
Brad King 3f2f1a949c curl: Fix check for gethostbyname_r with 5 arguments
Fix the check code to pass 5 arguments instead of 6.  This typo was
introduced in curl 7.39 but was not noticed because the result of
this check is used only if ENABLE_IPV6 is OFF.
2015-08-17 10:17:50 -04:00
Brad King 91e8d35ab8 Merge branch 'curl-upstream' into update-curl
Resolve conflicts by taking upstream side when possible and otherwise
integrating the changes from both sides.  Be carful in CMakeLists.txt
where the OPENSSL code block that we modified previously has moved, and
preserve our previous modifications in the new location.
2015-08-12 15:43:52 -04:00
Brad King 26f5445bb4 Do not install 3rd-party dependencies by default
Disable the CMake_INSTALL_DEPENDENCIES option by default and turn it on
explicitly in our packaging scripts.  This simplifies packaging in
distributions that provide the dependencies for us without having to
install them.  We only need 3rd-party runtime dependencies to be
installed for packaging with redistributable binaries.
2015-08-05 13:29:57 -04:00
Brad King 10f2065249 Utilities/Release: Drop IBM AIX release scripts
We no longer produce binaries for AIX.
2015-07-23 11:44:09 -04:00
Brad King fbd7fd0f84 Utilities/Release: Update to openssl-1.0.2d
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2015-07-10 14:02:05 -04:00
Brad King 9ce7a663d6 Utilities/Sphinx: Add CMake_OPTIONAL_COMPONENT macro
When building this directory independently define the macro since we
will not get the definition from the top level of the source tree.
2015-07-07 09:38:48 -04:00
Konstantin Podsvirov c823f04e0c CMake: New option CMake_INSTALL_COMPONENTS
By default is OFF.
Now it's used with CPack IFW himself installer.
2015-07-07 09:16:40 -04:00
Konstantin Podsvirov 7383e4d722 CMake: Install COMPONENTs (sphinx-man)
Added component sphinx-man
2015-07-07 08:11:10 +03:00
Konstantin Podsvirov 938bbc4352 CMake: Install COMPONENTs
Added components:
- cmake
- ctest
- cpack
- cmake-gui
- ccmake
- data
- sphinx-html
- sphinx-singlehtml
- sphinx-qthelp

Other now Unspecified.
2015-07-07 08:11:09 +03:00
Brad King 940ea9ff4a Merge topic 'quote-doxygen-tools'
15c6a4c9 Utilities/Doxygen: Support tools installed in paths with spaces
2015-06-18 09:05:15 -04:00
Michael Stürmer 15c6a4c919 Utilities/Doxygen: Support tools installed in paths with spaces
Quote paths to tools in generation script.
2015-06-16 09:07:41 -04:00
Brad King 6d1cef1aed Utilities/Release: Update to openssl-1.0.2c
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2015-06-15 12:37:44 -04:00
Brad King 1594edba9e Utilities/Release: Update to more recent Qt 4.8 on OS X
Update to a version newer than 4.8.0 to get the fix for this issue:

 https://bugreports.qt.io/browse/QTBUG-23704
 https://codereview.qt-project.org/13576
 http://code.qt.io/cgit/qt/qt.git/commit/?id=e88dbaa7fc

We hit it in the cmake-gui command-line install help dialog.
2015-06-08 16:36:06 -04:00
Brad King c2cb80cbfa CMake 3.3.0-rc1 version update 2015-06-02 11:14:25 -04:00
Michael Scott 9217b678b3 jsoncpp: Provide 'isfinite' impl on more HP-UX versions (#15576)
Some versions of HP-UX do not define 'isfinite' or 'finite' in math.h
for Itanium when preprocessing with C++, so we have to add the
definition ourselves instead to map to the internal version.
2015-05-26 10:12:25 -04:00