1590 Commits

Author SHA1 Message Date
Brad King
c128abe383 Merge branch 'AddCMAKE_CURRENT_LIST_DIR' into dev/strict-mode
Conflicts:
	Source/cmMakefile.cxx
2010-12-17 10:31:41 -05:00
Brad King
9bcaff02ff Merge branch 'cmake-guiRememberAdvancedCheckbox' into dev/strict-mode
Conflicts:
	Source/QtDialog/CMakeSetupDialog.cxx
2010-12-17 10:31:19 -05:00
Ben Boeckel
561cc3359c Only test the default cwd with Makefiles
XCode and Visual Studio generators can run from
${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE} and determining this at
testing time is not feasible without adding in more
PASS_REGULAR_EXPRESSION's which may create false positives.

Since the parsing code is in cross-platform, generator-agnostic  code,
if it passes with Makefiles, it should work with other generators on
other platforms.
2010-12-17 10:24:14 -05:00
Ben Boeckel
d87bae7f74 Simplify the _default_cwd derivation 2010-12-17 10:23:54 -05:00
Ben Boeckel
992c74f3e0 Use --><-- markers to denote the path 2010-12-17 10:23:24 -05:00
Brad King
853de2ed12 Merge branch 'custom-command-generator-expressions' into resolve/tests-if-CYGWIN
The tests-if-CYGWIN topic made a change to Tests/Testing/CMakeLists.txt
in code that the custom-command-generator-expressions topic moved to the
Tests/PerConfig/CMakeLists.txt file.  Make the same change to the same
content in the new file.  (Only a small part of the file moved so rename
detection did not do this automatically.)
2010-12-17 10:07:19 -05:00
Brad King
d89e238e6c Cygwin: Fix tests to check CYGWIN instead of WIN32
Use "UNIX AND NOT CYGWIN" to detect a "soname" platform.
Use "WIN32 OR CYGWIN" to detect a "DLL" platform.
2010-12-17 09:46:24 -05:00
Ben Boeckel
5249551f9f Flip slashes around on Windows 2010-12-17 09:45:39 -05:00
Ben Boeckel
0a014dab5c Add ctype.h include for toupper() 2010-12-17 09:23:59 -05:00
Ben Boeckel
af12f83d80 Fix header includes for C++ and Visual Studio 2010-12-17 09:14:25 -05:00
Ben Boeckel
5597aa24f1 Rename the project to match the test 2010-12-16 17:29:19 -05:00
Ben Boeckel
9bf4165437 Add tests for WORKING_DIRECTORY arg to add_test 2010-12-16 16:50:48 -05:00
Ben Boeckel
7679f9fab0 Rename WorkingDirectory test 2010-12-16 16:50:47 -05:00
Rolf Eike Beer
d95f817f77 Add the WORKING_DIRECTORY property to tests 2010-12-16 16:23:18 -05:00
Brad King
92199485c0 Merge topic 'custom-command-slashes'
a75a0a1 Normalize add_custom_command OUTPUT names (#10485)
2010-12-16 14:00:00 -05:00
Brad King
72163de0a5 Merge topic 'NAG-Fortran'
09d1c10 FortranCInterface: Recognize NAG Fortran module symbols
af2ad90 Add NAG Fortran compiler information files
24cc3d4 Recognize the NAG Fortran compiler
83892c4 Allow Fortran platform files to set empty values
fe3f878 Detect object files in implicit link information
2010-12-16 13:59:52 -05:00
Brad King
b3efdb58d5 CheckCCompilerFlag: Strict signature of 'main' (#11615)
Use "int main(void)" instead of just "int main()" so that compiling with
"gcc -Werror=strict-prototypes" works.  Test this check using the flags
"-Werror -Wstrict-prototypes" to work with old GCC versions.
2010-12-16 13:34:54 -05:00
Brad King
f48d3bc5ba CTest: Fix test DEPEND cycle detection
A cycle exists when the DFS returns to the root node, not just when
multiple paths lead to the same node.

Inspired-By: Alexander Esilevich <aesilevich@pathscale.com>
2010-12-15 16:49:34 -05:00
Brad King
f0cdb6001b Introduce "generator expression" syntax to custom commands (#11209)
Evaluate in the COMMAND arguments of custom commands the generator
expression syntax introduced in commit d2e1f2b4 (Introduce "generator
expressions" to add_test, 2009-08-11).  These expressions have a syntax
like $<TARGET_FILE:mytarget> and are evaluated during build system
generation.  This syntax allows per-configuration target output files to
be referenced in custom command lines.
2010-12-15 14:53:48 -05:00
Brad King
45e1953c40 Factor per-config sample targets out of 'Testing' test
Put the source files, build rules, and test scripts for these targets
under Tests/PerConfig and refer to it from Tests/Testing as a
subdirectory.  The targets and scripts will be useful in other tests.
2010-12-15 14:53:33 -05:00
Brad King
a75a0a1448 Normalize add_custom_command OUTPUT names (#10485)
Previously the OUTPUT arguments of add_custom_command were not
slash-normalized but those of add_library and add_executable were.
This caused the example

  add_custom_command(OUTPUT a//b.c ...)
  add_library(... a//b.c ...)

to fail at build time with "no rule to make a/b.c".  Fix this and modify
the CustomCommand test to try it.
2010-12-15 08:44:57 -05:00
Brad King
2d1aa4ad06 Merge topic 'dev/support-substring-negative-indices'
36cb701 allow STRING(SUBSTRING) work with length -1 as "rest of the string"
2010-12-14 14:39:10 -05:00
Brad King
f7036a1603 Merge topic 'custom-command-depend'
ced1d5e Skip file-level dependencies on custom targets (#11332)
e30a775 Improve signature of cmLocalGenerator::GetRealDependency
2010-12-14 14:38:48 -05:00
Bill Hoffman
86979e49a1 Change cpack run and verify script to work with multi-config generators.
Use the location of the running cmake to find cpack, and use the
CMAKE_CONFIG_TYPE environtment variable as a type for cpack.
2010-12-14 13:42:21 -05:00
Eric NOULARD
cdf92c952a Precise the project config type when invoking cpack 2010-12-14 12:21:02 -05:00
Eric NOULARD
08f829b509 Arrange output in a better way 2010-12-14 12:21:00 -05:00
Eric NOULARD
58bd4f2185 CPackTest spit out more output in case of failure 2010-12-14 12:20:58 -05:00
Eric NOULARD
dd2a5aa69f CPack Default component test for ZIP should be OK 2010-12-14 12:20:56 -05:00
Eric NOULARD
88b7f4252c CPack new tests for component install 2010-12-14 12:20:54 -05:00
Brad King
fe3f878f15 Detect object files in implicit link information
The NAG Fortran compiler implicitly passes object files by full path to
the linker.  Teach CMakeParseImplicitLinkInfo to parse object files that
match some tool-specific regular expression.
2010-12-09 17:07:34 -05:00
Brad King
53ea8b3204 Merge branch 'imported-target-dependencies' into custom-command-refactor 2010-12-08 17:30:02 -05:00
Brad King
ced1d5eccd Skip file-level dependencies on custom targets (#11332)
A custom command may name a target created by add_custom_target in its
DEPENDS field.  Treat this case as a target-level dependency only since
a custom target provides no standard file on which to add a file-level
dependency.
2010-12-08 17:14:17 -05:00
Rolf Eike Beer
36cb701690 allow STRING(SUBSTRING) work with length -1 as "rest of the string"
This fixes the first half of bug 10740.
2010-12-08 16:38:30 -05:00
Brad King
a765c491ad Honor custom command dependencies on imported targets (#10395)
Imported targets do not themselves build, but we can follow dependencies
through them to find real targets.  This allows imported targets to
depend on custom targets that provide the underlying files at build
time.
2010-12-08 12:22:13 -05:00
Ben Boeckel
544d0c3774 Fix expected output for WarnUninitialized test 2010-12-07 17:00:41 -05:00
Ben Boeckel
4e3bea41ee Update expected messages to new format 2010-12-07 16:46:10 -05:00
Ben Boeckel
88cd4c1e92 Use 'CMake Warning' versus 'warning' for CDash 2010-12-07 14:40:21 -05:00
Brad King
e01cce2869 Allow add_dependencies() on imported targets (#10395)
Imported targets do not themselves build, but we can follow dependencies
through them to find real targets.  This allows imported targets to
depend on custom targets that provide the underlying files at build
time.
2010-11-19 17:19:21 -05:00
David Cole
b3cf739e2c Honor FOLDER on include_external_msproject targets (#11436)
Add FOLDER property usage to the VSExternalInclude test
and inspect results manually to verify behavior.

Thanks to Jens Auer for the bug report.
2010-11-10 09:06:09 -05:00
David Cole
385b681138 Merge topic 'add-cse-contract-test'
f6f3ae5 Update tag in the Contracts/cse-snapshot test.
1e4fd5f Enable overriding contract test timeout values.
c81ad34 Add a contract test for building the CSE.
942ace8 Fix contract test so it is not hard coded to the vtk542 test.
fd343a1 Add a "Contract" test for VTK.  The test downloads and builds VTK.
2010-11-09 15:46:59 -05:00
David Cole
c8ac9307fb Add contract test for Trilinos 10.6.1 snapshot. 2010-11-09 10:17:06 -05:00
Brad King
95f149e61f Define LINK_DEPENDS target property (#11406)
Custom Makefile link rules may need to depend on linker scripts.  Define
this property to allow user-specified link-time dependencies.
2010-11-05 09:05:08 -04:00
David Cole
f6f3ae5bcd Update tag in the Contracts/cse-snapshot test.
Also:
- allow local variables 'repo' and 'tag' to be overridden
  by the optional LocalOverrides.cmake
- print out STATUS messages to see the variable values in
  CMake configure output
2010-10-28 14:41:30 -04:00
David Cole
e561a46c1a Merge topic 'getprerequisites-endless-path-appending'
48e80eb Fixes to GetPrerequisites for cygwin
bee4802 Append the gp_tool path to the system PATH using native slashes.
8e550ba Remove unecessary TO_CMAKE_PATH for gp_cmd_dir.
1684198 Switch to CMAKE_PATH when doing PATH comparisons on Windows.
be94c49 Fixed appending PATH to dumpbin tool from growing without bounds.
2010-10-28 14:11:07 -04:00
David Partyka
48e80eb724 Fixes to GetPrerequisites for cygwin
Fix IF(WIN32) guards check for cygwin. Fix checking if the depenency is in a system location to use cygwin style paths on cygwin. Also change GetPrerequisites to switch gp_tool to tools that are very unlikely to be found, ie. dumpbin on Apple and otool on Windows/Unix.
2010-10-27 17:23:00 -04:00
David Cole
c8f39193e0 Avoid problem reading jni.h on Macs.
Apple released an update recently in which there
was a broken symlink for jni.h that pointed to
a non-existent file. CMake had trouble configuring
because it encountered an error trying to read
jni.h.

We avoid the problem here by introducing a variable
CTEST_RUN_Java, which defaults to OFF on Macs, that
indicates whether to even attempt finding java, reading
jni.h and adding the "Java" CMake test.

If you would like to test Java on a Mac where the
jni.h symlink is not busted, feel free to pass in
-DCTEST_RUN_Java:BOOL=ON when configuring CMake.
2010-10-25 15:03:36 -04:00
David Partyka
be94c494ed Fixed appending PATH to dumpbin tool from growing without bounds.
IF(... MATCHES ...) used for comparing directories chokes especially in the case of C:\Program Files (x86)\<blah> because of regex pattern matching. Switched this to use STREQUAL in a loop instead.
2010-10-25 13:40:35 -04:00
David Cole
1e4fd5fc9c Enable overriding contract test timeout values.
Use a longer value as the default timeout (6 hours).

For a per-contract-test timeout value, set ${project}_TEST_TIMEOUT
in the project's RunTest.cmake file. To use a longer value for
all non-specific contract tests, set a CMake cache variable
named CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT.

All timeout values are in seconds.

Also, patch up last commit to defer evaluation of ENV{HOME}
until EnforceConfig.cmake is included at ctest time. This
allows Windows machines to have "\\" characters in the HOME
environment variable if they want to.
2010-10-22 14:31:36 -04:00
David Cole
b0fb2ad3e1 Merge topic 'AddCMAKE_CURRENT_LIST_DIR'
b011840 Use absolute path to FindPackageHandleStandardArgs.cmake everywhere
41e4f1a Add automatic variable CMAKE_CURRENT_LIST_DIR(dir of CMAKE_CURRENT_LIST_FILE)
f9fc79c Remove trailing whitespace
2010-10-19 15:53:16 -04:00
David Cole
c81ad34e85 Add a contract test for building the CSE.
To activate the CSE contract test on a given Linux
machine's CMake dashboard, put

CMAKE_CONTRACT_PROJECTS:STRING=cse-snapshot

in the CMake dashboard's initial cache.

The chosen snapshot does not generate subproject
dependency info right now. That code was in a
previous revision in the CSE's svn repo that
apparently has not been merged into the present cse
git repository master branch. After that is fixed up
in the cse repo, we can update the tag here so that
the snapshot built here can run a sub-project based
dashboard script. For now, it runs as one big build
step, building 'all'.
2010-10-08 15:09:24 -04:00