13085 Commits

Author SHA1 Message Date
Brad King
07f029d6ef Test the user package registry
We teach the FindPackageTest to build a sample project that stores its
build tree in the user package registry using export(PACKAGE), and then
find it with find_package.
2009-09-01 14:05:42 -04:00
Brad King
16ce84b067 Teach export(PACKAGE) to fill the package registry
We define the export(PACKAGE) command mode to store the location of the
build tree in the user package registry.  This will help find_package
locate the package in the build tree.  It simplies user workflow for
manually building a series of dependent projects.
2009-09-01 14:04:53 -04:00
Brad King
ed0650f6ae Teach find_package to search a "package registry"
A common user workflow is to build a series of dependent projects in
order.  Each project locates its dependencies with find_package.  We
introduce a "user package registry" to help find_package locate packages
built in non-standard search locations.

The registry explicitly stores locations of build trees providing
instances of a given package.  There is no defined order among the
locations specified.  These locations should provide package
configuration files (<package>-config.cmake) and package version files
(<package>-config-version.cmake) so that find_package will recognize the
packages and test version numbers.
2009-09-01 14:04:27 -04:00
Brad King
2eca4dd2d1 Use Intel for Linux flags only on Linux
The commit "Split Intel compiler information files" moved some Linux
specific flags into the platform-independent Intel compiler info files.
This moves them back.
2009-09-01 13:55:13 -04:00
Brad King
dc78838737 Fix FortranCInterface_VERIFY for non-C++ case
The verification program entry point (main) is defined in a C source
file, so the C compiler should be used to link when only Fortran and C
are involved.  The C++ compiler should still be used when the CXX option
is enabled.
2009-09-01 13:03:12 -04:00
Zach Mullen
90cc5c5e04 ENH: Improved test reporting output 2009-09-01 11:58:04 -04:00
Brad King
d259128894 Test link multiplicity export/import
We test that LINK_INTERFACE_MULTIPLICITY propagates through export() and
install(EXPORT) into dependent projects.  A simple cycle of two archives
that need to be scanned three times ensures that the importing project
uses the multiplicity correctly.
2009-09-01 10:38:36 -04:00
Brad King
0cfd8c411f Test link multiplicity
This tests the LINK_INTERFACE_MULTIPLICITY property for a cycle of three
static libraries that must be scanned three times to link properly.
2009-09-01 10:38:03 -04:00
Brad King
69251f7549 Define 'multiplicity' for cyclic dependencies
We create target property "LINK_INTERFACE_MULTIPLICITY" and a per-config
version "LINK_INTERFACE_MULTIPLICITY_<CONFIG>".  It sets the number of
times a linker should scan through a mutually dependent group of static
libraries.  The largest value of this property on any target in the
group is used.  This will help projects link even for extreme cases of
cyclic inter-target dependencies.
2009-09-01 10:37:37 -04:00
Brad King
78160cee6e Make FortranCInterface_VERIFY verbose on failure
We enable verbose build output in the try_compile of the simple project.
This makes valuable information available in the case of failure.
2009-09-01 08:52:43 -04:00
KWSys Robot
1d772a2b4f KWSys Nightly Date Stamp 2009-09-01 00:01:14 -04:00
Will Dicharry
ea34662053 Fixed link order dependence in FindHDF5 module for static link. 2009-08-31 18:18:34 -04:00
Brad King
c2ee27c535 Test KWSYS_IOS_HAVE_BINARY during bootstrap
We need to do this KWSys configuration test in the CMake bootstrap
script to create a proper cmsys/Configure.hxx file.  This fixes the
bootstrap script which was broken by the addition of the test to KWSys.
2009-08-31 13:25:40 -04:00
Brad King
207aab6acf Define kwsys_ios_binary macro for std::ios::binary
The 'binary' openmode does not exist on all compilers.  We define macro
<kwsys>_ios_binary, where <kwsys> is the KWSys namespace, to refer to
std::ios::binary if it exists and 0 otherwise.  Sample usage:

  kwsys_ios::ifstream fin(fn, kwsys_ios::ios::in | kwsys_ios_binary);
2009-08-31 13:00:55 -04:00
Zach Mullen
6d0b6f2b9e Fixed ctest_memcheck docs (http://www.cmake.org/Bug/view.php?id=9242) 2009-08-31 11:32:39 -04:00
Will Dicharry
71ff183b5b In FindHDF5, added C library names to CXX search libraries. 2009-08-31 10:32:08 -04:00
Zach Mullen
59b34a6a1a Fixed Dart time recording for ctest 2009-08-31 10:28:39 -04:00
Zach Mullen
5a5cc52230 Fixed conversion warning on 64 bit machines 2009-08-31 09:50:35 -04:00
KWSys Robot
bf830eea5e KWSys Nightly Date Stamp 2009-08-31 00:01:07 -04:00
Zach Mullen
387ba0c646 Fixed line length issue 2009-08-30 10:57:30 -04:00
KWSys Robot
3941546ba3 KWSys Nightly Date Stamp 2009-08-30 00:01:02 -04:00
KWSys Robot
82f95381f9 KWSys Nightly Date Stamp 2009-08-29 00:01:02 -04:00
Zach Mullen
b0b5ffcf5c MemCheck should now work again in ctest 2009-08-28 15:08:03 -04:00
Zach Mullen
996bb51a1d Replaced std::stringstream with cmOStringStream 2009-08-28 11:40:34 -04:00
Zach Mullen
b427d1985e Added ctest -N test. Fixed ctest working directory bug. MemCheck fix coming soon... 2009-08-28 11:08:39 -04:00
KWSys Robot
00ca781088 KWSys Nightly Date Stamp 2009-08-28 00:01:04 -04:00
Zach Mullen
177edc5ed1 Fixed ctest -N segfault issue. Further refactored ctest. Enabled failover for ctest 2009-08-27 10:37:30 -04:00
KWSys Robot
fdc0d9777c KWSys Nightly Date Stamp 2009-08-27 00:01:06 -04:00
Zach Mullen
8ffd8d0a03 ENH: refactored ctest. All testing is now parallel. If no -j option is specified, defaults to a MP level of 1 (non parallel) 2009-08-26 12:09:06 -04:00
David Cole
1171bcfc69 Add missing argument to _ep_write_downloadfile_script. 2009-08-26 06:52:43 -04:00
KWSys Robot
ef54a8b7b7 KWSys Nightly Date Stamp 2009-08-26 00:01:03 -04:00
KWSys Robot
c8f87419f8 KWSys Nightly Date Stamp 2009-08-25 00:01:07 -04:00
Will Dicharry
c9686f62af Fixed HDF5 Find module error that caused no list to be passed into remove duplicates when HDF5 is not found. 2009-08-24 13:24:57 -04:00
Brad King
8aaf3cebeb Factor implicit link info addition into methods
In cmComputeLinkInformation::Compute we add implicit link information
from languages other than the linker language to the end of the link
line.  This factors out that code into separate methods to improve
readability and organization.
2009-08-24 13:15:47 -04:00
Brad King
6e7020b452 Enforce FortranCInterface_VERIFY in Fortran test
This removes the QUIET option from FortranCInterface_VERIFY in the
Fortran test to really test the detected interface everywhere.
2009-08-24 13:07:43 -04:00
Will Dicharry
e6734068ef Add HDF5 find module and select_library_configurations module. 2009-08-24 12:04:35 -04:00
Brad King
fd62a7cac4 Create GLOBAL_DEPENDS_NO_CYCLES property
This global property disallows cycles in the inter-target dependency
graph even among STATIC libraries.  See issue #9444.
2009-08-24 09:54:27 -04:00
Brad King
a9be85da2e Create FortranCInterface_VERIFY function
This function builds a simple test project using a combination of
Fortran and C (and optionally C++) to verify that the compilers are
compatible.  The idea is to help projects report very early to users
that the compilers specified cannot mix languages.
2009-08-24 08:49:35 -04:00
Brad King
14f7a043e3 Teach FortranCInterface to load outside results
We split the main detection logic into a Detect.cmake support module and
load it only when detection results are not already available.  This
allows results computed by the main project to be used in try-compile
projects without recomputing them.  The call to try_compile() need only
to pass FortranCInterface_BINARY_DIR through the CMAKE_FLAGS option.
2009-08-24 08:49:07 -04:00
KWSys Robot
40ddd53543 KWSys Nightly Date Stamp 2009-08-24 00:01:03 -04:00
KWSys Robot
88b47fe855 KWSys Nightly Date Stamp 2009-08-23 00:01:04 -04:00
KWSys Robot
96b71fe566 KWSys Nightly Date Stamp 2009-08-22 00:01:03 -04:00
Brad King
9ee0f9801a Split SunPro compiler information files
This moves platform-independent SunPro compiler flags into separate
"Compiler/SunPro-<lang>.cmake" modules.  Platform-specific flags are
left untouched.
2009-08-21 10:32:26 -04:00
Brad King
2ce6a7d0fb Split Intel compiler information files
This moves platform-independent Intel compiler flags into separate
"Compiler/Intel-<lang>.cmake" modules.  Platform-specific flags are
left untouched.
2009-08-21 09:54:42 -04:00
KWSys Robot
8f84ec9ad7 KWSys Nightly Date Stamp 2009-08-21 00:01:03 -04:00
Brad King
f64f9940af Teach FortranCInterface to verify languages
This module requires both C and Fortran to be enabled, so error-out if
they are not.
2009-08-20 16:21:53 -04:00
Brad King
5a4797ad80 Document CMAKE_<LANG>_COMPILER_LOADED variable 2009-08-20 16:21:48 -04:00
Zach Mullen
8c6aa445a2 Fixed line length over 80 2009-08-20 09:46:43 -04:00
KWSys Robot
4c77eb5e38 KWSys Nightly Date Stamp 2009-08-20 00:01:04 -04:00
Philip Lowman
4bf4cbd8a2 Add Boost 1.39 & 1.40. Move ${Boost_INCLUDE_DIR}/lib to front of library search. 2009-08-19 22:28:46 -04:00