Commit Graph

204 Commits

Author SHA1 Message Date
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
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 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 214589b1f0 Add ability to run as a ctest -S script also
Then, use ctest_sleep to separate uploads by at least one
second each, so that the files on the web server all get
distinct time stamps.

Then, when viewed on the web server, sorted by time, they
are also sorted alphabetically.
2012-06-22 14:32:29 -04:00
David Cole 3a17311bc8 Release: Temporarily exclude ExternalProject test on cygwin
Only temporarily until we can setup a new cygwin build machine
for making releases. It's specific to the script that runs on
dash2win64 anyhow. When we add a new script to run it on a
different machine, and stop building the cygwin releases on
dash2win64, this change will naturally no longer apply.
2012-06-22 11:20:03 -04:00
David Cole 208c3f84e2 Use correct "requires" line in cygwin setup hint file
Reference: email thread between Bill Hoffman and Yaakov Selkowitz
from Mar. 5, 2012.
2012-03-06 09:04:46 -05:00
David Cole 1b996e7360 Remove trailing white space 2012-03-06 08:59:57 -05:00
Bill Hoffman 9fb9416f78 Use upgraded qt on linux build machine. 2012-02-09 20:33:58 -05:00
David Cole 495f899845 Update version of Qt for dashmacmini5 produced release binaries
Use 4.8.0
2012-02-06 13:48:53 -05:00
David Cole a94ef02c6e Update dashmacmini2 release script to use Qt 4.8.0 2012-01-30 20:40:42 -05:00
David Cole 7240aa7fac Update dashmacmini2 release script to use Qt 4.6.3 2012-01-17 17:59:16 -05:00
David Cole 4c2d70768a Release: Increase timeout for slow-testing cygwin build
The parent commit only added DART_TESTING_TIMEOUT to the cache.
Also add CTEST_TEST_TIMEOUT because the logic in
CMake/Tests/CMakeLists.txt uses that variable in its "long test
timeout" computation. Now the cygwin build really does have 7200
seconds before it calls timeout death on a test.
2011-12-30 15:40:50 -05:00
David Cole 61a7da279a Release: Increase timeout for slow-testing cygwin build
Previously, the ExternalProject test was timing out at the
default timeout value of 1500 seconds. Give it time, little
one, it will finish if you learn patience.
2011-12-09 08:58:25 -05:00
David Cole d5a0dc4f52 Release Scripts: Use Qt 4.7.4 on dashmacmini5 (#12460)
Also, since dashmacmini5 is newer/faster/better and is also building
the source tarballs, remove that responsibility from the dashmacmini2
script.
2011-09-16 15:48:41 -04:00
David Cole 4a679a9f16 CMake Release Scripts: Changes for next release candidate...
Removed script for dashsun1: machine is now defunct. R.I.P.

Added new script for 64-bit universal binary build on
dashmacmini5 with x86_64;i386
2011-08-26 15:00:55 -04:00
David Cole b43af94af1 CMake: eliminate use of cvs in the Release scripts
Set GIT_COMMAND to "git" -- each machine involved in building
the CMake release binaries has the right "git" in the PATH.

Separate the release scripts into two batches so we can build
multiple releases on the same machine, in serial, if necessary.
We currnetly do this with the Windows and Cygwin release
binaries on dash2win64.

Sort the files to be uploaded, so that sorting them by modification
time (file copy / upload time) is equivalent to sorting them
alphabetically.
2011-06-02 14:36:14 -04:00
David Cole 16438d0f4a Update script with new machine name 2011-01-12 14:53:24 -05:00
Bill Hoffman faf1c1e49f Change the nightly tests to build from the nightly branch and not next.
This will make sure that the nightly test matches the dashboard nightly section.
When it was next, it used next from when the test was run.
2011-01-07 13:50:36 -05:00
Yaakov Selkowitz 0f5c711f32 Cygwin: Fix release script libncurses search patterns (#10766)
With the switch to upstream ncurses "ABI 6", Cygwin's ncurses has YA ABI
bump and is now libncurses10.  However, the regex used to determine in
Utilities/Release/Cygwin/CMakeLists.txt which libncurses is being used
does not handle multiple-digit ABIs.

libncurses8 was the first version to be built with libtool and therefore
contains a hyphen (cygncurses-8.dll).  It was first introduced in 2004,
so it should be sufficiently old to rely on.  Furthermore, libncurses7
has a serious flaw in that it completely breaks if rebased.

Therefore the easiest solution is to only look at the hyphened versions
and change the regex accordingly.
2010-12-15 08:58:16 -05:00
David Cole 4a67481ed6 Update release scripts.
Remove scripts for machines that no longer build
releases. Update comments in README.
2010-09-15 18:17:29 -04:00
Bill Hoffman 7d148d8036 Fix the name of the variable being tested. 2010-09-14 09:30:39 -04:00
Bill Hoffman 297be5b524 add next as an orgin based branch, and not a tag. 2010-09-13 11:30:23 -04:00
Bill Hoffman 187976b1f3 Fix release scripts to be able to build releases from tags. 2010-09-10 15:41:27 -04:00