2520 Commits

Author SHA1 Message Date
David Cole
cd3d60b8b5 Fix issue #10346. Error if SOURCE_DIR is empty.
See http://public.kitware.com/Bug/view.php?id=10346.
The proposed patch for the issue could not be applied as is
because the SOURCE_DIR always exists for an ExternalProject_Add
call by the time we get to the place to emit the potential error.

The fix is to emit the error only if the source dir is empty.
By which, I mean devoid of files and subdirectories. If
SOURCE_DIR is used by itself, without any DOWNLOAD_COMMAND
or repository info, then it implies that the SOURCE_DIR is ready
to build as-is without need for a download step. Clearly, if it
is empty, then it is not ready to build as is. So complain if
the SOURCE_DIR is empty.
2010-06-09 18:22:58 -04:00
Brad King
2eae651acc ctest_update: Support custom Git update command
Define CTest configuration variable CTEST_GIT_UPDATE_CUSTOM to set a
custom command line for updating Git-managed source trees.
2010-06-08 16:12:28 -04:00
Brad King
6f9bb934d4 Merge branch 'sunCC-5.11-rpath-link' 2010-06-08 09:23:11 -04:00
Brad King
6cf1ccd632 Merge branch 'per-config-link-flags' 2010-06-07 14:36:28 -04:00
Brad King
ec66c9db8c Merge branch 'cygwin-exe-export-all' 2010-06-07 14:30:21 -04:00
Brad King
0d07e4379e Merge branch 'improve-file-download'
Conflicts:
	Modules/ExternalProject.cmake
2010-06-07 14:26:24 -04:00
Brad King
a03e85f13c Merge branch 'add-git-to-ExternalProject'
Conflicts:
	Modules/ExternalProject.cmake
2010-06-07 14:23:45 -04:00
Brad King
79f01660c9 Merge branch 'more-formats-in-ExternalProject' 2010-06-07 14:22:26 -04:00
Brad King
33b59ee8dd Merge branch 'use-rename-not-copy-ExternalProject' 2010-06-07 14:22:02 -04:00
Brad King
2bc82e07bd Merge branch 'ExternalProject-fixes' 2010-06-07 14:21:49 -04:00
Brad King
ba38f0925c Merge branch 'add-svn-user-to-ExternalProject' 2010-06-07 14:21:43 -04:00
Brad King
693f98c105 Fix rpath-link flag for SunPro C++ 5.11 on Linux
Commit 82c081ba (Fix rpath-link flag for SunPro C++ on Linux,
2009-07-13) taught CMake to pass '-rpath-link' because SunPro C++ 5.9
does not support '-Wl,'.  Now SunPro C++ 5.11 does not recognize the
option without using '-Wl,'.  Detect whether to use '-Wl,' based on the
output of "sunCC -flags".
2010-06-07 10:15:58 -04:00
David Cole
29383b4b85 Add FindGit module.
Use it from ExternalProject and the ExternalProject test's
CMakeLists file rather than having duplicate find_program calls.
Add logic so that we do not try to use *.cmd variants of git
programs when using the MSYS Makefiles generator. Should fix
the last remaining dashboard issue with the new ExternalProject
git support additions.

Also, correct minor problem regarding placement of the local git
repo during test execution. On clean builds, it was being placed
incorrectly because of the ../.. relative reference. Use an absolute
path to place the local git repo in the proper directory, and only
use the relative reference when referring to it.
2010-06-03 17:30:07 -04:00
Zach Mullen
082c87e528 Cross-platform fixes for checksum/retry code 2010-06-03 13:27:26 -04:00
Zach Mullen
e525649a4e Checksums on CTest submit files, and retry timed out submissions. 2010-06-03 10:34:34 -04:00
David Cole
670e16af2d Add git support to ExternalProject.
Requires at least version 1.6.5 of a git client for
git submodule update --recursive use.
2010-06-02 16:28:04 -04:00
Brad King
9622fe5e9a Watcom: Use LINK_FLAGS and STATIC_LIBRARY_FLAGS
Add the <LINK_FLAGS> rule variable in Watcom command lines.
2010-06-01 14:40:28 -04:00
David Cole
2deba1b911 Add .zip and .tar.bz2 extraction to ExternalProject.
Add archives of these file types and add to the test
cases covered in the ExternalProject test.

Also add an "Example" directory in the Tests/ExternalProject
directory containing the canonical simplest example of
ExternalProject usage.
2010-05-31 14:30:22 -04:00
Yaakov Selkowitz
cd3a4f0025 Cygwin: Export all symbols with ENABLE_EXPORTS
The ENABLE_EXPORTS property exports all symbols from executables on
UNIX-like platforms, typically for use by plugins.  Honor this behavior
on Cygwin.  See issue #10122.
2010-05-27 14:41:38 -04:00
David Cole
f67139ae6f Improve FILE(DOWNLOAD) and ExternalProject.
Improve FILE(DOWNLOAD ...):

- Add percent complete progress output to the FILE DOWNLOAD
  command. This progress output is off by default to
  preserve existing behavior. To turn it on, pass
  SHOW_PROGRESS as an argument.

- Add EXPECTED_MD5 argument. Verify that the downloaded
  file has the expected md5 sum after download is complete.

- Add documentation for SHOW_PROGRESS and EXPECTED_MD5.

  When the destination file exists already and has the
  expected md5 sum, then do not bother re-downloading
  the file. ("Short circuit" return.)

  Also, add a test that checks for the status output
  indicating that the short circuit behavior is actually
  occurring. Use a binary file for the test so that the
  md5 sum is guaranteed to be the same on all platforms
  regardless of "shifting text file line ending" issues.

Improve ExternalProject:

- Add argument URL_MD5.

- Add verify step that compares md5 sum of .tar.gz file
  before extracting it.

- Add md5 check to download step, too, to prevent
  unnecessary downloads.

- Emit a warning message when a file is not verified.
  Indicate that the file may be corrupt or that no
  checksum was specified.
2010-05-27 12:21:56 -04:00
David Cole
f5e8ce522e Use RENAME, not COPY, to extract .tar.gz files.
Use ABSOLUTE file name for the RENAME operation.
  (Thanks to Marcus for figuring out that it doesn't
   work on Linux without the ABSOLUTE bit.)
2010-05-26 17:42:56 -04:00
David Cole
ea6260cb18 Fix issue #10258: re-configure if args change.
Fixes issue http://public.kitware.com/Bug/view.php?id=10258
Also, fix complaint that DOWNLOAD_COMMAND cannot contain arguments
consisting entirely of upper case letters. It validly does when,
for example, you construct a custom cvs command line and the module
name is all upper case, like VTK.
2010-05-26 15:38:41 -04:00
David Cole
672d9ba78c Add svn user name and password to ExternalProject.
Thanks to JCFR for the leg work.
2010-05-26 14:50:19 -04:00
Brad King
571dc74891 Recognize Clang C and C++ compilers (see #10693)
Map to the platform and compiler information for GNU because the
compilers are command-line compatible for common operations.  Later we
can add Clang-specific features as necessary.  We honor the preferred
capitalization is "Clang", not the common mis-spelling "CLang".
2010-05-17 14:11:20 -04:00
Kovarththanan Rajaratnam
44e6467015 FindZLIB: make sure zlib.h exists before reading it 2010-05-13 06:34:33 +02:00
James Bigler
0d30e3fe91 Fixed: CUDA_VERSION_MAJOR/MINOR now computed after first run.
CUDA_VERSION_MAJOR and CUDA_VERSION_MINOR were only computed when CUDA_VERSION was first
computed.  Subsequent runs of FindCUDA would not have CUDA_VERSION_MAJOR/MINOR set.  We
now extract the major and minor versions from the CUDA_VERSION cache variable every run.
2010-05-12 16:38:51 -06:00
Alex Neundorf
bca561ee46 -make CMAKE_ASM_FLAGS_INIT and friends work (#10577)
Alex
2010-05-12 22:04:31 +02:00
Alex Neundorf
08b56ae3be -make CMAKE_ASM_FLAGS_INIT and friends work (#10577)
Alex
2010-05-12 22:04:31 +02:00
Mathieu Malaterre
a9a2af19d4 BUG: 0009840 Fix case when only Java is available by implementing COMP Runtime 2010-05-11 21:43:32 +02:00
Mathieu Malaterre
0d88e19fef BUG: 0009840 Fix case when only Java is available by implementing COMP Runtime 2010-05-11 21:43:32 +02:00
Bill Hoffman
ef6b505caa Add GITCommand key value pair. 2010-05-11 09:29:55 -04:00
Bill Hoffman
83b00e00e2 Add GITCommand key value pair. 2010-05-11 09:29:55 -04:00
Alex Neundorf
50506090c8 -use the HINTS keyword for finding FindKDE4Internal.cmake
Alex
2010-05-11 00:32:27 +02:00
Alex Neundorf
a8fd6e7180 -use the HINTS keyword for finding FindKDE4Internal.cmake
Alex
2010-05-11 00:32:27 +02:00
Miguel A. Figueroa-Villanueva
601ee1f735 BUG #10209: Fixed FindwxWidget CXX flags parsing error.
Was not removing definition flags (-D...) from cxx flags,
when the definition flag was last in the list returned from
wx-config.

--HG--
extra : rebase_source : 3452c52b92717f181e902abef38c1e2718ce3b27
2010-05-09 13:27:58 -04:00
Miguel A. Figueroa-Villanueva
f90bdaf38e BUG #10209: Fixed FindwxWidget CXX flags parsing error.
Was not removing definition flags (-D...) from cxx flags,
when the definition flag was last in the list returned from
wx-config.

--HG--
extra : rebase_source : 3452c52b92717f181e902abef38c1e2718ce3b27
2010-05-09 13:27:58 -04:00
Alex Neundorf
cdc484e4a6 -use find_package_handle_standard_args() in FindOpenAL (#9496)
Alex
2010-05-09 11:07:33 +02:00
Alex Neundorf
af3a288e55 -add QUIET keyword to pkgconfig macros
Synced from KDE svn: pkg_check_modules() and pkg_search_module() now
both support a QUIET keyword. When given, no messages will be printed (except the REQUIRED ones)

This also fixes #10469 (confusing output of FindLibXml2.cmake)

Alex
2010-05-08 10:36:42 +02:00
Alex Neundorf
edb0fb2207 -add support for QtMultimedia in UseQt4.cmake (#10675)
Alex
2010-05-06 21:12:46 +02:00
Brad King
a443308c37 Load compiler information after configuring it
After configuring CMakeFiles/CMake<lang>Compiler.cmake in the build tree
the second time (to store ABI information), include it immediately.
This allows any logic and settings in the compiler information files to
be used without duplicating it in CMakeDetermineCompilerABI.cmake.

The change in commit "Use Fortran ABI detection results conservatively"
(2010-05-05) needs this to use the same logic to set CMAKE_SIZEOF_VOID_P
during first and later runs of CMake.
2010-05-06 11:26:49 -04:00
Brad King
0457d53151 Use Fortran ABI detection results conservatively
We set CMAKE_Fortran_SIZEOF_DATA_PTR in the Fortran compiler information
file after detecting the compiler ABI.  However, since Fortran does not
really have pointers, the preprocessor-based detection is unreliable.
The result is needed to set CMAKE_SIZEOF_VOID_P only for Fortran-only
projects because the value can come from C or C++ compilers otherwise.
Therefore when CMAKE_SIZEOF_VOID_P is available from another language we
should defer to it.
2010-05-05 17:46:29 -04:00
David Cole
e0acb6ca5f Fix Windows-cl.cmake so that at most one MSVC** variable is defined.
The expectation of users of the MSVC60, MSVC70, MSVC71, MSVC80, MSVC90
and the new MSVC10 variables is that at most one of them will be set
for any given build tree. This change enforces that expectation for
build trees using Makefile generators. It also fixes the one mismatch
in that expectation to be found in the Visual Studio generator world:
previously, the VS 7.1 generator would set *both* MSVC70 and MSVC71;
now, it only sets MSVC71.

With these changes, user expectations are now met, and the recently
introduced CheckCompilerRelatedVariables test should pass everywhere.
2010-05-05 17:08:06 -04:00
Bill Hoffman
1d64fa884e Fix FindCurses.cmake for new cygwin releases. 2010-05-04 11:54:55 -04:00
Bill Hoffman
5fd87f6d1a Fix for bug #10670, add another location to find MSBuild. 2010-05-04 10:44:09 -04:00
David Cole
2938263636 Fix missing set of MSVC10 and add CheckCompilerRelatedVariables test. 2010-04-30 00:46:24 -04:00
C. Bergström
36d850b87e Detect PathScale Fortran compiler tools
Include names pathf(90|95|2003) in the search for a Fortran compiler.
Also associate the names with PathScale for the vendor-specific search.
2010-04-26 13:31:52 -04:00
Bill Hoffman
0da537d167 Do not error out if the java version is not found, if java is not required. 2010-04-25 16:05:21 -04:00
Alex Neundorf
0dbd6e8e16 -add more names for libpng, so it also support libpng 1.4 on Windows (#10551)
Alex
2010-04-19 18:32:10 +02:00
Kovarththanan Rajaratnam
272308a406 FindDart: use find_package_handle_standard_args() 2010-04-18 09:27:31 +02:00
Kovarththanan Rajaratnam
da4388045e FindDart: mark DART_ROOT as advanced 2010-04-18 09:27:30 +02:00