Commit Graph

9238 Commits

Author SHA1 Message Date
Brad King fd40f27420 COMP: Fix rule hash code during bootstrap
During bootstrap we do not bother with rule hashing.  This updates the
dummy implementation to account for the recent change in rule hash
method signatures.
2009-02-02 14:36:45 -05:00
Brad King 496c203a0b BUG: Do not expand rule variables in info rules
Previously the makefile generator would expand rule variables even on
its progress and echo commands for object compilation rules (but not for
link rules).  This fixes the implementation to only expand rule
variables on user-specified rules.
2009-02-02 13:28:17 -05:00
Brad King ac9b7ec155 ENH: Refactor custom command rule hashing
This simplifies computation of custom command rule hashes to hash
content exactly chosen as the custom commands are generated.
Unfortunately this will change the hashes of existing build trees from
earlier CMake versions, but this is not a big deal.  The change is
necessary so that in the future we can make optional adjustments to
custom command lines at generate time without changing the hashes every
time the option is changed.
2009-02-02 13:28:12 -05:00
Brad King 7d6a5e097f ENH: More robust property lookup
This teaches cmMakefile::GetProperty and cmake::GetProperty methods to
return NULL when the property name is NULL, making them more robust and
consistent with the behavior of cmTarget::GetProperty.
2009-02-02 13:27:30 -05:00
Brad King cc2092d5bb ENH: Put test labels in MemCheck results
This refactors generation of <Test> element headers and footers in
cmCTestTestHandler and re-uses it in cmCTestMemCheckHandler.  The change
removes duplicate code and enables the new <Labels> element for MemCheck
results.
2009-02-02 13:24:26 -05:00
Brad King eea054d82c ENH: Clarify target_link_libraries docs
The target_link_libraries command supports flags as well as libraries.
This makes the support explicit in the documentation.
2009-02-02 09:42:23 -05:00
Brad King 367101b02c STYLE: Nightly Date Stamp 2009-02-02 00:01:24 -05:00
Brad King dba64adac2 STYLE: Nightly Date Stamp 2009-02-01 00:01:18 -05:00
Brad King aa45ec10bc STYLE: Nightly Date Stamp 2009-01-31 00:01:24 -05:00
Brad King 140403ae62 STYLE: Nightly Date Stamp 2009-01-30 00:01:28 -05:00
David Cole d74b75af09 ENH: Emit a little more information in the error message when the output file is not found during a core try compile. 2009-01-29 15:23:18 -05:00
Bill Hoffman f6cb5c39bd BUG: fix for #8418 -E chdir should return fail of dir does not exist 2009-01-29 14:31:45 -05:00
Brad King ab11f82a52 ENH: Docs for relative paths in link_directories
The link_directories command treats relative paths differently from most
CMake commands.  This notes the difference in the documentation.
See issue #8377.
2009-01-29 14:14:02 -05:00
Bill Hoffman 33c296a44e BUG: fix for #8423 2009-01-29 11:39:03 -05:00
Bill Hoffman 56ea0ad186 STYLE: fix warning 2009-01-29 09:26:40 -05:00
Brad King e69050643c STYLE: Nightly Date Stamp 2009-01-29 00:01:32 -05:00
Bill Hoffman a26c70477c STYLE: fix warning 2009-01-28 16:56:33 -05:00
Brad King 7ef31a2461 STYLE: Nightly Date Stamp 2009-01-28 00:01:34 -05:00
David Cole 3df1535c80 STYLE: Emit filenames in try_compile error message to get more information from the Continuous dashboard test that is failing. 2009-01-27 11:35:36 -05:00
Brad King 5527ca5524 BUG: Reset file submission list on test restart
When running in script mode it is possible to run multiple separate
dashboard submissions in one cmCTest instance.  The recent refactoring
of file submission lists into parts failed to clear the submission lists
when starting a new dashboard (ctest_start or ctest_update).  Only the
unused old submission set was cleared.  This fixes the refactored
version to remove the old submission set completely and also clear the
part-wise lists.
2009-01-27 10:58:33 -05:00
Brad King 6ae2f8e7ee BUG: Fix CTest submit-only operation
We need to initialize cmCTestSubmitHandler on construction to make sure
all parts get enabled by default.  The recent fix to re-enable all parts
on initialization broke submit-only operations because the handler did
not initialize on construction.  This also removes duplicate
initialization code.
2009-01-27 10:58:25 -05:00
David Cole 1dee719cdc BUG: Fix issue #6195. Add CMAKE_OSX_DEPLOYMENT_TARGET cache variable to specify the target deployment runtime OS version of the built executables on Mac OSX. Thanks to Mike Jackson for the patch. 2009-01-27 10:30:55 -05:00
Bill Hoffman 97ef91d57b BUG: fix for 7845, idl files compile even with headerfile only on 2009-01-27 10:26:55 -05:00
Brad King 1902f8e63c STYLE: Nightly Date Stamp 2009-01-27 00:02:07 -05:00
Brad King 504fa52f6b STYLE: Nightly Date Stamp 2009-01-26 00:01:41 -05:00
Brad King 64c78918a1 STYLE: Nightly Date Stamp 2009-01-25 00:01:50 -05:00
Brad King 72aad46fea STYLE: Nightly Date Stamp 2009-01-24 00:01:49 -05:00
Bill Hoffman 29ba1aa77a ENH: try to fix vs6 build 2009-01-23 12:20:09 -05:00
Brad King f0eef5ab52 STYLE: Nightly Date Stamp 2009-01-23 00:02:12 -05:00
David Cole 2914b740c2 BUG: Forgot to change parent class in cmCPackTypeMacro when I added cmCPackDragNDropGenerator. Fix it now that it really matters. (The BundleGenerator test started failing after the last commit. This fixes it.) 2009-01-22 14:23:44 -05:00
David Cole 6bf31875ce BUG: Fix issue #8383. Avoid crashing when using the Bundle CPack generator and CPACK_BUNDLE_NAME is not set. Instead, fail gracefully giving an informative error message and non-zero exit code. 2009-01-22 13:56:13 -05:00
Brad King c332e0bf3c ENH: Isolate policy changes in included scripts
Isolation of policy changes inside scripts is important for protecting
the including context.  This teaches include() and find_package() to
imply a cmake_policy(PUSH) and cmake_policy(POP) around the scripts they
load, with a NO_POLICY_SCOPE option to disable the behavior.  This also
creates CMake Policy CMP0011 to provide compatibility.  See issue #8192.
2009-01-22 13:18:40 -05:00
Brad King 3028ca756c ENH: Better policies for functions and macros
This teaches functions and macros to use policies recorded at creation
time when they are invoked.  It restores the policies as a weak policy
stack entry so that any policies set by a function escape to its caller
as before.
2009-01-22 13:16:47 -05:00
Brad King 18eadebc4c ENH: Improve stack discussion in cmake_policy
This re-organizes the discussion of the policy stack in documentation of
the cmake_policy() command.  The new organization clearer and easier to
extend with new information.
2009-01-22 13:16:33 -05:00
Brad King 26bf8b2cda ENH: Create notion of a 'weak' policy stack entry
A 'weak' poilcy stack entry responds normally to queries.  However,
setting a policy in a weak entry will recursively set the policy in the
next entry too.  This also gives the internal interface to create a weak
entry the option to provide an initial PolicyMap for it.
2009-01-22 13:16:27 -05:00
David Cole 3a4f76949a BUG: Fix issue #8402. Add a drag and drop bundle generator to the Mac build of CPack. Add a test of it in the CPackComponents test. Thanks to Clinton Stimpson for the patch. 2009-01-22 12:12:44 -05:00
Brad King dfc181a1dc ENH: Create policy scope barriers
This creates a barrier mechanism to prevent user code from using
cmake_policy(POP) to pop a scope it didn't push with cmake_policy(PUSH).
2009-01-22 10:57:16 -05:00
Brad King ac14b5d2eb ENH: Make policy push/pop methods private
This makes cmMakefile::PushPolicy and cmMakefile::PopPolicy private so
that any outside place that uses them needs to use the PolicyPushPop
helper in an automatic variable.  We grant an exception to
cmCMakePolicyCommand so it can implement cmake_policy(PUSH) and
cmake_policy(POP).
2009-01-22 10:57:09 -05:00
Brad King c980021814 ENH: Refactor find_package version file scoping
This converts the variable and policy scope protection find_package()
uses when loading version files to use automatic variables.
2009-01-22 10:56:58 -05:00
Brad King a01eb6b27b ENH: Create automatic policy push/pop helper
This creates cmMakefile::PolicyPushPop to push and pop policy scope
automatically.  It also enforces balanced push/pop pairs inside the
scope it handles.
2009-01-22 10:56:50 -05:00
Brad King 8997f4760a ENH: Refactor policy stack representation
This defines PolicyMap as a public member of cmPolicies.  Its previous
role as a policy stack entry is now called PolicyStackEntry and
represented as a class to which more information can be added later.
2009-01-22 10:56:39 -05:00
David Cole 0a23c0ee40 BUG: Fix issue #8363. Wrap output with MakeXMLSafe calls so that the generated XML files are valid, parse-able XML. 2009-01-22 07:16:05 -05:00
Brad King 5f3c354b66 STYLE: Nightly Date Stamp 2009-01-22 00:01:56 -05:00
Brad King f1e74ae018 BUG: Fix VS IDE solution files order again
The previous change to order projects in the VS IDE did not account for
duplicate target names (such as ALL_BUILD and ZERO_CHECK) among the
input set.  While we suppress generation of the duplicate project
entries, we need to use a multiset to store ordered duplicates.
2009-01-21 17:36:06 -05:00
Brad King 0d83faf3e3 BUG: Fix ALL_BUILD ordering enforcement
The previous change to make ALL_BUILD come first among targets did not
account for comparing the target name against itself.  This led to an
invalid ordering of the target set.  This change fixes it.
2009-01-21 17:24:54 -05:00
Brad King 5b63e31041 ENH: Make ALL_BUILD always the default project
This teaches the VS IDE generators to write ALL_BUILD into solution
files first so that it is always the default active project.  Previously
it was first only if no target name sorted lexicographically earlier.
See issue #8172.
2009-01-21 17:06:57 -05:00
Brad King 00ca96ae7c BUG: Fix VS IDE project order
Our implementation of the feature to pull in dependent targets in VS
solution files for subprojects caused the order of project files in the
solution to be arbitrary (based on pointer value in the representation).
Target ordering in solution files is important to prevent unnecessary
changing of the files and because the VS IDE selects the first project
listed as the default active target.  This change restores lexicographic
order by target name.
2009-01-21 16:39:43 -05:00
David Cole 36c228814b BUG: Fix issue #7523: Analyze output of 'hdiutil attach' to get the name of the volume that was mounted. Eliminates the need to use the -mountpoint arg of hdiutil which has a silly 90 character limit on the name of the mount point. Also add a custom volume icon to the BundleGeneratorTest to cover this code. 2009-01-21 13:39:22 -05:00
David Cole 88a499c54c ENH: Use the latest CMake-logo-triangle-high-res.png to improve the look of CMakeSetup.icns on the Mac. 2009-01-21 13:20:47 -05:00
David Cole c647ed54d9 BUG: Fix issue #7833: Add file extension handling to CPack generated installers for OSXX11 applications. Also modify the X11 test to build such an installer on Mac builds that test CPack and have X11 available. Thanks to Wes Turner for the patch. 2009-01-21 11:54:30 -05:00
Brad King 919fdb7f27 ENH: Enforce logical blocks in functions/macros
This teaches function() and macro() to enforce matching logical blocks
inside the recorded bodies.  This makes the error message more specific.
2009-01-21 09:49:31 -05:00
Brad King 1dcc5b4558 ENH: Better handling of mismatched blocks
If a logical block terminates with mismatching arguments we previously
failed to remove the function blocker but replayed the commands anyway,
which led to cases in which we failed to report the mismatch (return
shortly after the ending command).  The recent refactoring of function
blocker deletion changed this behavior to produce an error on the ending
line by not blocking the command.  Furthermore, the function blocker
would stay in place and complain at the end of every equal-level block
of the same type.

This teaches CMake to treat the begin/end commands (if/endif, etc.) as
correct and just warns when the arguments mismatch.  The change allows
cases in which CMake 2.6.2 silently ignored a mismatch to run as before
but with a warning.
2009-01-21 09:49:00 -05:00
Brad King bca1026250 ENH: Better error message for unclosed blocks
This centralizes construction of the error message for an unclosed
logical block (if, foreach, etc.).  We record the line at which each
block is opened so it can be reported in the error message.
2009-01-21 09:48:20 -05:00
Brad King b8f5a934ec ENH: Refactor logical block enforcement
This uses a stack of 'barriers' to efficiently divide function blockers
into groups corresponding to each input file.  It simplifies detection
of missing block close commands and factors it out of ReadListFile.
2009-01-21 09:48:00 -05:00
Brad King f4d37eebb2 STYLE: Nightly Date Stamp 2009-01-21 00:02:30 -05:00
Brad King acb0e8fb85 BUG: Fix LOCATION property for Mac AppBundles
Previously cmTarget::GetLocation and cmTarget::GetFullPath would return
for Mac AppBundles the top-level bundle directory but without the .app
extension.  We worked around this at the call sites.  This fixes the
methods and removes the work-arounds.  See issue #8406.
2009-01-20 15:49:37 -05:00
Brad King 2c81e5fb5c ENH: Refactor function blocker deletion
When a function blocker decides to remove itself we previously removed
it at every return point from the C++ scope in which its removal is
needed.  This teaches function blockers to transfer ownership of
themselves from cmMakefile to an automatic variable for deletion on
return.  Since this removes blockers before they replay their commands,
we no longer need to avoid running blockers on their own commands.
2009-01-20 14:36:18 -05:00
Brad King a541cac325 ENH: Improve response to bad if or elseif
Previously bad arguments to an if() or elseif() would cause some
subsequent statements in the corresponding block to execute.  This
teaches CMake to stop processing commands with a fatal error.  It also
provides context to bad elseif() error messages.
2009-01-20 14:35:22 -05:00
David Cole 03c940aeb3 BUG: Fix for issue #7470. Allow spaces in the path names of installed files with the NSIS CPack generator and component-based installs. Add an installed file to the CPackComponents test: it failed before the fix; now it passes. 2009-01-20 14:29:41 -05:00
Bill Hoffman 7f92b77997 BUG: fix crash with cmd.exe shell and cmake in the path 2009-01-20 10:06:39 -05:00
Brad King 57896e296f STYLE: Nightly Date Stamp 2009-01-20 00:02:08 -05:00
Brad King 811d8acb6b STYLE: Nightly Date Stamp 2009-01-19 00:02:07 -05:00
Bill Hoffman 7e1ba9d075 BUG: add output on failure to ctest #8255 2009-01-18 13:03:32 -05:00
Bill Hoffman e4048118de BUG: fix crash with empty properties 2009-01-18 12:05:45 -05:00
Brad King 97b2bc3d6b STYLE: Nightly Date Stamp 2009-01-18 00:02:11 -05:00
Brad King 3427a4bdb0 STYLE: Nightly Date Stamp 2009-01-17 00:02:16 -05:00
Brad King bf4f05e69d STYLE: Nightly Date Stamp 2009-01-16 00:02:22 -05:00
Brad King c1e791ce10 BUG: Fix find_package docs for refind feature
Recently we taught find_package to re-find a package configuration file
if it is given a wrong answer.  This fixes the documentation to reflect
the change.
2009-01-15 16:16:19 -05:00
Brad King d602a3db85 BUG: Enforce matching policy PUSH/POP in all files
The documentation of cmake_policy PUSH and POP states that they must
always match.  Previously we enforced this only for the top scope of
each CMakeLists.txt file.  This enforces the requirement for all files.
2009-01-15 14:37:14 -05:00
Bill Hoffman 40366f6ced ENH: fix part submission to not have memory of the last part submission 2009-01-15 13:24:54 -05:00
Bill Hoffman be52e3b6fc BUG: fix for bug #8174 2009-01-15 10:32:56 -05:00
Brad King 35e391c93b ENH: Provide variable CMAKE_VERSION
This creates the variable CMAKE_VERSION containing the full version of
cmake in "major.minor.patch" format.  It is particularly useful with the
component-wise version comparison provided by the if() command.
2009-01-15 08:57:44 -05:00
Brad King 004cdfe6ff ENH: Document variable CMAKE_PATCH_VERSION
This adds documentation of CMAKE_PATCH_VERSION to the generated
variables documentation.
2009-01-15 08:57:17 -05:00
Brad King 22c12edaea STYLE: Nightly Date Stamp 2009-01-15 00:02:27 -05:00
Brad King 9551cafd69 BUG: Pop a function scope even on error
This uses an automatic variable to push and pop variable scope inside a
function call.  Previously if the function failed its scope would not be
popped.  This approach guarantees a balanced push/pop.
2009-01-14 15:14:06 -05:00
Bill Hoffman 046449e2f7 ENH: fix return value to ctest_build and remove debug print in cmProcess 2009-01-14 13:48:03 -05:00
Bill Hoffman 82c3afcf6f ENH: allow ctest_build to return error and warning counts 2009-01-14 13:01:38 -05:00
Brad King e92d99d05c COMP: Fix const set find for Borland 5.5
The Borland 5.5 compiler's STL set does not define correct signatures
for its find() members, leading to build errors.  This works around the
problem.
2009-01-14 09:51:58 -05:00
Brad King 914740cfab STYLE: Nightly Date Stamp 2009-01-14 00:02:27 -05:00
Brad King 1cfd3912c1 STYLE: Nightly Date Stamp 2009-01-13 00:02:33 -05:00
Brad King 6783ca8364 COMP: Remove unused variable 2009-01-12 11:10:04 -05:00
Brad King d66c25c2f0 ENH: Teach ctest_submit about parts
This adds a PARTS option to the ctest_submit command which tells it to
submit only parts whose names are listed with the option.
2009-01-12 10:38:27 -05:00
Brad King 447f5b303e ENH: Divide CTest file submission list by part
This splits the list of files for CTest to submit into those belonging
to each part.  The set is recombined just before submission.  Later this
will allow piecewise submissions.
2009-01-12 10:37:55 -05:00
Brad King 4b97fab34d ENH: Refactor cmCTest test part representation
This introduces the name "part" to denote a portion of the testing and
submission process performed by ctest.  We generalize the boolean
indicating whether each part is enabled into a structure to which more
information can be added later.  We provide bi-directional mapping
between part id and part names.
2009-01-12 10:37:25 -05:00
Brad King cccac773ce ENH: Teach ctest_* to create appending XML files
This adds an APPEND option to the ctest_* commands which tells them to
put the Append="true" attribute in the Site element of their XML file.
2009-01-12 09:11:29 -05:00
Brad King ae2c4143d2 ENH: Refactor CTest command argument handling
The previous approach to handling of arguments to ctest_* commands
worked only for keyword/value arguments with a single value.  This
refactors the approach to allow some commands to define alternative
argument forms.
2009-01-12 09:10:47 -05:00
Brad King 02fb5880c1 STYLE: Nightly Date Stamp 2009-01-12 00:02:58 -05:00
Alexander Neundorf 0d48ea6984 ENH: patch from Miguel,
As it is today the generator creates linked resources to
LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH if they are not a
subdirectory of the binary dir, so that the IDE can detect the
Binaries (this was addressed previously as a result of a bug report).

Reduces code redundancy by encapsulating common behaviour for
LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH in AppendLinkedResource.

Addresses the two new variable names for these locations,
CMAKE_LIBRARY_OUTPUT_DIRECTORY and CMAKE_RUNTIME_OUTPUT_DIRECTORY respectively.

Finally, it is addressing a bug in the current code for relative paths
in these variables. If it is a relative path to the binary dir, the
IsSubdirectory call returns false and so it creates the linked
resource. The created linked resource produces an error in the Eclipse
IDE because the IDE expects it to be a full path. The patch now
addresses this by concatenating the binary dir if it is a relative
path.
2009-01-11 12:18:44 -05:00
Brad King 3db17e22c9 STYLE: Nightly Date Stamp 2009-01-11 00:02:51 -05:00
Alexander Neundorf f9920b47a8 BUG: don't create empty <itemizedlist>s (#7289), dblatex didn't like that
Alex
2009-01-10 09:01:37 -05:00
Alexander Neundorf 0f38be1561 STYLE: document CMAKE_COLOR_MAKEFILE (#7878)
Alex
2009-01-10 08:16:39 -05:00
Brad King 992953bcfe STYLE: Nightly Date Stamp 2009-01-10 00:02:51 -05:00
Alexander Neundorf 8a86595f45 COMP: forgot to commit this file
Alex
2009-01-09 20:35:21 -05:00
Alexander Neundorf 9518a416eb STYLE: remove debug output
Alex
2009-01-09 20:09:54 -05:00
Alexander Neundorf 4ec6a801ee BUG: fix #8073: also show targets created using add_custom_targets()
-additionally also create the target/fast targets for Eclipse
-skip preinstall and install/local, they should be only rarely used

Alex
2009-01-09 19:52:46 -05:00
Alexander Neundorf 6b0a59d593 BUG: remove the call to EnableInstallTarget(), don't know why it was there.
This caused that always an install target was created which installed
nothing, even if there was no install rule in the project.

Alex
2009-01-09 19:08:40 -05:00
Alexander Neundorf c8b2c317e2 BUG: fix #8105: don't hardcode "gcc" and "make" but use CMAKE_C_COMPILER and
CMAKE_MAKE_PROGRAM instead

Alex
2009-01-09 18:58:21 -05:00
Alexander Neundorf fcc97a4f3c BUG: fix #8203: codeblocks + mingw doesn't like the extra quotes around the
path to the makefile if it contains spaces, under Linux it works with spaces

Alex
2009-01-09 18:04:20 -05:00
Brad King 82e7e7fb7d ENH: Add missing newline to CTest-generated xml
The Generator="ctest..." attribute of Site elements in CTest-generated
XML files was missing a newline, causing the next attribute to appear on
the same line.  This adds the newline.
2009-01-09 16:44:19 -05:00
Bill Hoffman 5690cafd62 ENH: fix crash for old style scripts 2009-01-09 12:56:09 -05:00
Bill Hoffman 5d5fd641c3 ENH: fix return type 2009-01-09 12:32:52 -05:00
Bill Hoffman ed387ffe6b ENH: add subproject tag property for ctest 2009-01-09 12:05:23 -05:00
Brad King 86b103f271 ENH: Extend kwsys.testProcess-4 timeout
The test is supposed to terminate quickly when its child crashes, but
that seems to take over 10s on busy systems.  This extends the test's
timeout to 30s to help it pass when running on a busy system.
2009-01-09 11:44:46 -05:00
Brad King 0b33a44e44 STYLE: Nightly Date Stamp 2009-01-09 00:02:51 -05:00
Alexander Neundorf cf0ab29fcb BUG: apply patch from #8205, also fixes #8212: escape characters for XML
when writing the eclipse project files

Alex
2009-01-08 18:09:50 -05:00
Alexander Neundorf ef3e48c3d5 ENH: when trying to find a FooConfig.cmake file, if in the directory pointed
to by the Foo_DIR variable there is no FooConfig.cmake file, then instead of
abort and complain that the user should set or clear the Foo_DIR variables,
just search for the file and discard the old Foo_DIR contents

The tests succeed, ok by Brad.

Alex
2009-01-08 17:57:52 -05:00
Brad King ffd5f117e6 STYLE: Nightly Date Stamp 2009-01-08 00:03:04 -05:00
Clinton Stimpson 497b6df207 ENH: Tweak System Name field for cross compiling, so it doesn't have a file chooser button. 2009-01-07 17:28:02 -05:00
Brad King 5797b1cd66 ENH: Clean per-config export files during install
When installing the main export file the install tree may be dirty.  If
out-dated per-config files exist they may break the newly installed main
file which when it globs them.  This teaches the installation script to
detect when it is about to replace the main export file with a different
one and cleans out any existing per-config files.
2009-01-07 14:16:40 -05:00
Brad King f074d9f571 ENH: Add undocumented file(DIFFERENT) command
This new command will be used by generated installation scripts to
determine whether an already-installed export file has changed.
2009-01-07 14:16:35 -05:00
Brad King 254782ed76 ENH: Refactor computation of import file glob
New method cmExportInstallFileGenerator::GetConfigImportFileGlob
computes the globbing expression that an installed export file uses to
load its per-configuration support files.
2009-01-07 14:16:28 -05:00
Brad King 377bebb910 ENH: Teach CTest to submit test property LABELS
This teaches CTest to send the test property "LABELS" in Test.xml
dashboard submissions as Label elements inside a Labels element.
2009-01-07 10:41:37 -05:00
Brad King 605f4bd34e STYLE: Nightly Date Stamp 2009-01-07 00:02:53 -05:00
Brad King f0e6000827 BUG: Manage LC_MESSAGES with an object
This moves management of the LC_MESSAGES environment variable into an
automatic variable.  Previously if an error occurred the original
environment value was not restored.  This makes the fix to issue #5936
more robust.
2009-01-06 14:58:30 -05:00
Brad King c2d2a412b8 STYLE: Remove trailing whitespace 2009-01-06 14:41:56 -05:00
Brad King 6ea3c461a0 STYLE: Nightly Date Stamp 2009-01-06 00:03:19 -05:00
Brad King ed3bb743f4 ENH: Improve test property speed with a map
Previously we stored a vector of tests to preserve their order.
Property set/get operations would do a linear search for matching tests.
This uses a map to efficiently look up tests while keeping the original
order with a vector for test file generation.
2009-01-05 15:00:57 -05:00
Brad King 2703d51b8f BUG: Capture cout and cerr from internal ctest
When CTest detects that a test is running its own executable it
optimizes the test by using an internal instance of cmCTest instead of
creating a new process.  However, the internal instance was using cout
and cerr directly.  This redirects the output to a string stream to
avoid direct display of the internal test's output.
2009-01-05 14:14:10 -05:00
Brad King 86aeefc7c9 COMP: Fix installation of cmake-gui by CMake 2.4
When CMake 2.4 generates the build tree for CMake itself it asks the
built CMake to install itself using the rules that 2.4 generated.  Since
the install rules use undocumented commands that are not compatible from
2.4 to 2.6 we need a special case to avoid failure.  This sets a special
indicator variable in the install rules that enables a compatibility
hack to support the old install rule format.
2009-01-05 11:05:57 -05:00
Brad King e2fa035c70 ENH: Refactor internal file(INSTALL) arg parsing
The internal file(INSTALL) command argument parsing used several
booleans with at most one set to true at a time to track argument
parsing state.  This refactors it to use one enumeration.
2009-01-05 11:03:41 -05:00
Brad King 024aa044de BUG: Remove old get_target_property docs
The get_target_property command contained some outdated documentation of
the LOCATION and TYPE properties.  This removes it since they are now
documented in the properties list section of the documentation.
2009-01-05 09:53:22 -05:00
Brad King d7ddcc214f ENH: Enable LOCATION property for imported targets
Previously we left the LOCATION property undefined for imported targets
since it should no longer be used for non-imported targets.  However, in
the case we do not know the name of an available imported configuration,
it is more readable to get the LOCATION property than LOCATION_<CONFIG>
for a bogus configuration <CONFIG>.  This enables LOCATION for imported
targets and returns an unspecified available imported configuration.
2009-01-05 09:53:14 -05:00
Brad King 57dd0d95e9 STYLE: Nightly Date Stamp 2009-01-05 00:03:11 -05:00
Alexander Neundorf 8b67694fd1 STYLE: changed "one may" into "it should" to make it stronger
Alex
2009-01-04 04:12:52 -05:00
Brad King 9ae04f6feb STYLE: Nightly Date Stamp 2009-01-04 00:03:10 -05:00
Brad King 8df4340909 ENH: Clarify FATAL_ERROR option to min-req command
The FATAL_ERROR to cmake_minimum_required is useful for projects that
require 2.6 to convince CMake 2.4 to error out.  This clarifies its
usefulness in the documentation.
2009-01-03 15:48:13 -05:00
Brad King cd7585df22 ENH: Ignore unknown cmake_minimum_required args
When cmake_minimum_required is called with an unknown argument it should
not complain about it if the version specified is in the future.  This
allows the proper error to be shown about the current CMake being too
old.
2009-01-03 15:47:58 -05:00
Brad King ee1d1b2c68 STYLE: Nightly Date Stamp 2009-01-03 00:03:09 -05:00
Brad King 3e484ceaae STYLE: Nightly Date Stamp 2009-01-02 00:03:19 -05:00
Brad King 68ca6024b0 STYLE: Nightly Date Stamp 2009-01-01 00:03:31 -05:00
Brad King 4fe3af3469 STYLE: Nightly Date Stamp 2008-12-31 00:03:25 -05:00
David Cole 9457ca3cf5 ENH: Add OPTIONS argument to the ctest_configure command so that you can pass -D arguments to the cmake configure step from a ctest -S script. Also clarify/correct some not so helpful error messages. 2008-12-30 09:13:02 -05:00
Brad King baecf2a31c STYLE: Nightly Date Stamp 2008-12-30 00:03:23 -05:00
Bill Hoffman ede2be4be1 ENH: add start end time for procs 2008-12-29 17:49:17 -05:00
Brad King a075cfe976 STYLE: Nightly Date Stamp 2008-12-29 00:03:40 -05:00
Brad King 8c9666c821 STYLE: Nightly Date Stamp 2008-12-28 00:03:32 -05:00
Brad King 7277723ab1 STYLE: Nightly Date Stamp 2008-12-27 00:03:40 -05:00
David Cole 61cda77869 STYLE: Fix line length violation. 2008-12-26 15:27:01 -05:00
Brad King 85a46e9e51 BUG: Fix same-file check for directory ordering
When computing runtime search path ordering a constraint exists when a
file that may be found by the runtime search exists in a directory other
than that containing the desired file.  We test whether a potential
conflict is really the same due to a symlink.  Recently the change to
cmFindLibraryCommand to load directory content created a case in which
the same-file check would be incorrectly skipped.  This avoids skipping
the check.
2008-12-26 13:28:20 -05:00
Brad King 3e0bb83841 STYLE: Nightly Date Stamp 2008-12-26 00:03:39 -05:00
Brad King 69dfb275e7 STYLE: Nightly Date Stamp 2008-12-25 00:03:54 -05:00
Brad King df2321f774 STYLE: Nightly Date Stamp 2008-12-24 00:03:51 -05:00
Brad King 24d9817677 STYLE: Nightly Date Stamp 2008-12-23 00:03:58 -05:00
Brad King baf324abd8 STYLE: Nightly Date Stamp 2008-12-22 00:03:53 -05:00
Brad King 9407c6ca12 STYLE: Nightly Date Stamp 2008-12-21 00:03:59 -05:00
Brad King 32fcf2dd74 STYLE: Nightly Date Stamp 2008-12-20 00:04:05 -05:00
Bill Hoffman 690f83b81b STYLE: fix shadow warning 2008-12-19 10:19:37 -05:00
Brad King 0d7c6ee67b STYLE: Nightly Date Stamp 2008-12-19 00:04:09 -05:00
Bill Hoffman f5ee5cc04f BUG: partial fix for #8056 2008-12-18 21:59:25 -05:00
Bill Hoffman 5b1139caea BUG: fix for bug #8224 fix crash 2008-12-18 21:57:42 -05:00
Bill Hoffman 269ce52ad5 BUG: fix spelling 2008-12-18 21:52:46 -05:00
Brad King 0c85e2e627 COMP: Add set_directory_properties to bootstrap
We now need this command in the Tests/CMakeLists.txt file.
2008-12-18 14:56:30 -05:00
Brad King 0a83aa6f57 BUG: Fix windows command line escape for empty arg
On Windows the KWSys System package generates escapes for command-line
arguments.  This fix enables quoting of the empty string as an argument.
This also adds a test to pass an empty argument to a custom command.
2008-12-18 13:36:58 -05:00
Brad King 4c725d1e0e ENH: Minor readability improvement in CTest output
When ctest --build-and-test runs the --test-command its output did not
quote the arguments of the command being tested making it difficult to
read.  This adds the quotes.  This also changes the wording of the
failure case to not sound like CTest could not run the executable when
in fact it ran and returned failure.
2008-12-18 12:27:59 -05:00
Brad King 1e2c7a7bb3 BUG: Fix crash when running internal CTest
When CTest encounters a test whose executable is the ctest executable
iteslf, it just invokes code inside itself to avoid starting a new
process.  This fixes a null-pointer dereference in the logging code of
that case.
2008-12-18 12:27:54 -05:00
David Cole 0fafdb7eb8 BUG: Do not copy permissions of files when making the copy in an install rule. If the source file was read-only, this prevents the subsequent set of the destination file's modification time, making the copied file always different in time-stamp than the original and always installing a new file with a new time stamp (but the same content) causing unnecessary downstream incremental rebuilds. As part of this fix, add an optional copyPermissions parameter to the SystemTools routines CopyFileIfDifferent, CopyFileAlways, CopyAFile and CopyADirectory. The copyPermissions parameter defaults to true to preserve the behavior of these routines for existing callers. 2008-12-18 10:43:24 -05:00
Brad King f8c0dc27b5 STYLE: Remove useless install generator typedefs
The cmInstall*Generator classes all derive from cmInstallGenerator which
provides the Indent typedef so they do not need to provide it
2008-12-18 10:06:09 -05:00
Brad King 62a9fc7e94 COMP: Restore fixes to generated lexer
The command argument lexer was recently regenerated which erased some
fixes that had been applied directly to the output.  This restores the
fixes and adds reminder notes in the generation instructions.
2008-12-18 09:58:06 -05:00
Brad King 8d4eda5781 BUG: Move previous parser bugfixes into input file
The command argument parser code is generated by bison.  This change
restores some fixes previously applied to the generated output that were
destroyed by regenerating the parser source.  This time the fixes have
been put in the input file so regenerating the parser will not destroy
them again.
2008-12-18 09:58:01 -05:00
Clinton Stimpson e382ec035e ENH: Remove Application category. See #8151. 2008-12-18 09:37:20 -05:00
Brad King 93920277f4 STYLE: Nightly Date Stamp 2008-12-18 00:04:10 -05:00
Brad King ae7f2b47b3 COMP: Fix unused yyunput warning in lexer
This adds the "nounput" option to the flex input file so that yyunput is
not generated.  The function is static but not used so some compilers
warn.
2008-12-17 09:33:18 -05:00
Brad King 3958b3e112 ENH: Teach find_package about more install dirs
We now search in

  <prefix>/<name>*/
  <prefix>/<name>*/(cmake|CMake)

when looking for package configuration files.  This is useful on Windows
since the Program Files folder is in CMAKE_SYSTEM_PREFIX_PATH.  These
paths are the Windows equivalent to the Apple convention application and
framework paths we already search.  See issue #8264.
2008-12-17 09:24:05 -05:00
Brad King 625ef26163 ENH: Allow most characters in ENV variable refs
The $ENV{VAR} syntax permits access to environment variables.  This
teaches CMake to recognize most characters in the VAR name since some
environments may have variables with non-C-identifier characters.
2008-12-17 08:24:35 -05:00
Brad King 093cfc22f1 STYLE: Nightly Date Stamp 2008-12-17 00:04:11 -05:00
Clinton Stimpson b0c8b15fb9 ENH: Improve performance with file completion. Fix for #8292. 2008-12-16 15:15:33 -05:00
Clinton Stimpson 64b377d707 ENH:
For bug #7191.
Improvements to the dialog that sets up the first configure.
Fixing the large size of it by breaking it up into a wizard.
Also incorporated suggestions from bug report.
2008-12-16 15:00:17 -05:00
Brad King 2d842b6798 BUG: find_package must push/pop policies
When the find_package command loads a <name>-version.cmake file to test
the package version it must prevent the version file from affecting
policy settings.  Therefore the policy settings must be pushed and
popped.
2008-12-16 09:23:41 -05:00
Brad King b14abe31a9 BUG: Fix component-name test on installation
Generated cmake_install.cmake script code used MATCHES to compare
component names.  This does not support characters considered special by
regular expression syntax in component names.  This change uses STREQUAL
instead.  See issue #8256.
2008-12-16 09:20:51 -05:00
Brad King 205fce61b6 ENH: Warn if build dir is too long for filesystem
When an object file directory is too deep to place an object file
without exceeding CMAKE_OBJECT_PATH_MAX, this issues a warning.
Previously we silently ignored the problem.  See issue #7860.
2008-12-16 09:15:18 -05:00
Brad King 3cf9265fa7 ENH: Refactor passing of max length object dir
When computing the maximum length full path to the build directory under
which object files will be placed, pass the actual path instead of just
its length.  This will be useful for error message generation.
2008-12-16 09:14:40 -05:00
Brad King 8ecd9ed768 STYLE: Nightly Date Stamp 2008-12-16 00:04:17 -05:00
Francois Bertel ef36d72c89 COMP:Fixed warnings. 2008-12-15 17:19:26 -05:00
Brad King e4325e7d9c BUG: Fix <CONFIG>_POSTFIX property/variable docs
The CMAKE_<CONFIG>_POSTFIX variable and <CONFIG>_POSTFIX property were
not documented.  This updates the CMAKE_DEBUG_POSTFIX and DEBUG_POSTFIX
documentation to refer to the more general variable/property.  It also
clarifies that the variable is used as the property default only for
non-executable targets.  See issue #7868.
2008-12-15 13:30:09 -05:00
Brad King 7b6ac0db83 STYLE: Nightly Date Stamp 2008-12-14 00:04:14 -05:00
Brad King 25c0c1c02e STYLE: Nightly Date Stamp 2008-12-12 00:00:50 -05:00
Brad King c795aa8ef2 STYLE: Nightly Date Stamp 2008-12-11 00:00:58 -05:00
David Cole 227c86d8cc STYLE: Fix line length style violations. 2008-12-10 10:50:07 -05:00
Brad King 73f5e13cf3 STYLE: Nightly Date Stamp 2008-12-10 00:01:18 -05:00
David Cole 16f35e189e COMP: Fix the ExternalProject test for Visual Studio 6. Visual Studio 6 *.dsp files cannot have hyphens in them. Add utility function GetVS6TargetName to replace hyphens with underscores when generating *.dsp file names. Use the function everywhere necessary in the VS6 generators. And, a workaround: VS6 uses ".\Debug" (for example) as an "$(IntDir)" value - strip any leading ".\" when processing a --config argument in the cmake --build handling code. 2008-12-09 16:07:10 -05:00
Brad King e51969ac49 ENH: Add useful search locations to find_package
This teaches find_package to search

  <prefix>/(share|lib)/cmake/<name>*/

for package configuration files.  Packages that do not already have
files in a <prefix>/lib/<name>* directory can use this location to avoid
cluttering the lib directory.
2008-12-09 14:07:19 -05:00
Brad King 4f5a8b9c0c STYLE: Remove old TODO comment in find_package
Versioning has been introduced to find_package, so the comment about it
is out of date.
2008-12-09 14:07:10 -05:00
Brad King ae28ec9f24 ENH: Preserve <pkg>_FIND_XXX vars in find_package
When the find_package command loads a module it sets several
<pkg>_FIND_XXX variables to communicate information about the command
invocation to the module.  This restores the original state of the
variables when the command returns.  This behavior is useful when a
find-module recursively calls find_package with NO_MODULE so that the
inner call does not change the values in the find-module.
2008-12-09 10:08:54 -05:00
Brad King 360d9465a2 STYLE: Nightly Date Stamp 2008-12-09 00:01:18 -05:00
Brad King 34f073549e STYLE: Nightly Date Stamp 2008-12-08 00:01:21 -05:00
Bill Hoffman 97392a754c STYLE: fix link length issues 2008-12-07 19:36:03 -05:00
Brad King 715788108c STYLE: Nightly Date Stamp 2008-12-07 00:01:25 -05:00
Brad King c65d3c63a7 STYLE: Nightly Date Stamp 2008-12-06 00:01:31 -05:00
Brad King 4da124e968 STYLE: Nightly Date Stamp 2008-12-05 00:01:40 -05:00
Bill Hoffman 7c2445212e BUG: fix cpu info string 2008-12-04 10:51:11 -05:00
Bill Hoffman 81515ba8a5 ENH: allow startup command to be optional 2008-12-04 09:09:55 -05:00
Bill Hoffman 68cf9e0a0d BUG: fix for bug #8216 2008-12-04 08:57:27 -05:00
Brad King e3ff95af21 STYLE: Nightly Date Stamp 2008-12-04 00:01:52 -05:00
Bill Hoffman a50cdcb5a6 BUG: fix for rc and vs6 2008-12-03 15:35:35 -05:00
Brad King e59d3bdaab STYLE: Nightly Date Stamp 2008-12-03 00:01:55 -05:00
Brad King 7ca9ea98da STYLE: Nightly Date Stamp 2008-12-02 00:02:00 -05:00
David Cole c37b45ee9f BUG: Do not require CMAKE_AR in the MSYS Makefiles generator when enabling language "NONE". 2008-12-01 14:41:47 -05:00
Brad King 1845925e8f STYLE: Nightly Date Stamp 2008-12-01 00:02:10 -05:00
Brad King 7a0aba382d STYLE: Nightly Date Stamp 2008-11-30 00:02:18 -05:00
Brad King d7a3a6a921 STYLE: Nightly Date Stamp 2008-11-29 00:05:08 -05:00