Commit Graph

227 Commits

Author SHA1 Message Date
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
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
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 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
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 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 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
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 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 7fe6bb0d62 Utilities/Release: Add build of binary for Linux x86_64 2014-12-02 14:00:39 -05:00
Brad King c861620388 Utilities/Release: Update default binary distribution dir to v3.1 2014-10-21 09:17:09 -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 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 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 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 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 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 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 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
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