Commit Graph

9696 Commits

Author SHA1 Message Date
Brad King 7b527a6585 BUG: Remove '-d<now' from 'cvs log' commands
When CTest runs 'cvs log' to get revision information for updated files,
we were passing '-d<now'.  The option seems useless since revisions
cannot be created in the future, and can lose revisions if the client
machine clock is behind the server.
2009-04-29 14:20:40 -04:00
Brad King d91c5b1a07 COMP: Fix nested class member access
Nested classes have no special access to other members of their
enclosing class.  In cmFileCopier the nested class MatchRule must use
MatchProperties, so we grant friendship to it.
2009-04-29 13:57:19 -04:00
Brad King 222abaad5b COMP: Fix non-virtual destructor warning
This gives cmFileCopier a virtual destructor since it has virtual
methods.  While we never actually delete through a base pointer (or
dynamically at all), the compiler doesn't know and warns anyway.
2009-04-29 13:33:05 -04:00
Brad King c58ca24286 ENH: Create file(COPY) command signature
The file(INSTALL) command has long been undocumented and used only to
implement install() scripts.  We now document it and provide a similar
file(COPY) signature which is useful in general-purpose scripts.  It
provides the capabilities of install(DIRECTORY) and install(FILES) but
operates immediately instead of contributing to install scripts.
2009-04-29 13:13:29 -04:00
Brad King b6cb117346 ENH: Teach file(INSTALL) relative paths
This teaches the undocumented file(INSTALL) command to deal with
relative paths.  Relative input file paths are evaluated with respect to
the current source directory.  Relative output file paths are evaluated
with respect to the current binary directory.

While this command is currently used only in cmake_install.cmake scripts
(in -P script mode), this cleans up its interface in preparation for a
documented signature.
2009-04-29 13:13:08 -04:00
Brad King 6aaa7d45bf ENH: Refactor file(INSTALL) implementation
The undocumented file(INSTALL) is implemented by a cmFileInstaller class
inside cmFileCommand.  This refactors the class to split out code not
specific to installation into a cmFileCopier base class.
2009-04-29 13:12:58 -04:00
Brad King 97263b6cdd ENH: Send all file installations through one path
This creates a single cmFileInstaller method to dispatch installation of
symlinks, directories, and files.  The change removes duplicate tests of
input file type and makes the decision more consistent.
2009-04-29 08:47:13 -04:00
Brad King bc6eec18dc ENH: Better error on file perm or time failure
This improves the error message produced during installation when CMake
cannot set file modification time or permissions.
2009-04-29 08:47:04 -04:00
Brad King f180a834bf BUG: Error when install dir cannot be created
This teaches the undocumented file(INSTALL) command to report an error
when it cannot create the destination directory.
2009-04-29 08:46:56 -04:00
Brad King dc0621ba5a ENH: Simplify CMAKE_INSTALL_ALWAYS implementation
This simplifies cmFileInstaller internally by storing the 'always' mark
as an instance variable instead of passing it through all method
signatures.
2009-04-29 08:46:36 -04:00
Brad King 8d685184f3 ENH: Simplify construction of cmFileInstaller
This cleans up the cmFileInstaller constructor signature.
2009-04-29 08:46:21 -04:00
Brad King 77f85db5d7 STYLE: Nightly Date Stamp 2009-04-29 00:01:04 -04:00
Brad King 03d8b8ad57 BUG: Fix required permissions check again
While copying a directory the destination must have owner rwx
permissions.  This corrects our check, this time with correct operator
precedence using parenthesis.
2009-04-28 08:19:44 -04:00
Brad King 9384790d04 STYLE: Nightly Date Stamp 2009-04-28 00:01:03 -04:00
Brad King da993b64ce ENH: Remove unused PROPERTIES from file(INSTALL)
The undocumented file(INSTALL) command used to support a PROPERTIES
option, but no install code still uses it.  This removes the option.
2009-04-27 13:20:57 -04:00
Brad King 0178268901 BUG: Fix required permissions check for dir copy
While copying a directory the destination must have owner rwx
permissions.  This corrects our check.
2009-04-27 13:20:47 -04:00
Brad King e128583cb4 STYLE: Nightly Date Stamp 2009-04-27 00:01:02 -04:00
Brad King 861cd084f3 STYLE: Nightly Date Stamp 2009-04-26 00:01:03 -04:00
Brad King 79fb689e2e STYLE: Nightly Date Stamp 2009-04-25 00:01:05 -04:00
Bill Hoffman ae95f656f3 ENH: vms fix 2009-04-24 11:44:42 -04:00
Brad King 708d1cf1ee ENH: Support more preprocessor values in VS6
Previously we rejected all preprocessor definition values containing
spaces for the VS6 IDE generator.  In fact VS6 does support spaces but
not in combination with '"', '$', or ';', and only if we use the sytnax
'-DNAME="value with spaces"' instead of '-D"NAME=value with spaces"'.
Now we support all definition values that do not have one of these
invalid pairs.  See issue #8779.
2009-04-24 11:18:06 -04:00
Brad King 70b2f59c3f STYLE: Nightly Date Stamp 2009-04-24 00:01:04 -04:00
Bill Hoffman 7fc99c94d4 ENH: check in almost building VMS stuff with VMSBuild directory since the bootstrap script will not work on VMS 2009-04-23 11:09:47 -04:00
Brad King f353df7ffc STYLE: Nightly Date Stamp 2009-04-23 00:01:05 -04:00
Brad King e8e3080ebe COMP: Fix class reference for HP aCC 2009-04-22 10:22:25 -04:00
Brad King 9c17cbeb44 ENH: Teach CTest to handle git repositories
This creates cmCTestGIT to drive CTest Update handling on git-based work
trees.  Currently we always update to the head of the remote tracking
branch (git pull), so the nightly start time is ignored for Nightly
builds.  A later change will address this.  See issue #6994.
2009-04-22 09:19:06 -04:00
Brad King d25289ad92 ENH: Factor global-VC parts out of cmCTestSVN
This factors parts of the svn update implementation that are useful for
any globally-versioning vcs tool into cmCTestGlobalVC.  It will allow
the code to be shared among the support classes for most vcs tools.
2009-04-22 09:18:19 -04:00
Brad King efe07c4e0a COMP: Fix calls to superclass methods for Borland
The superclass of cmSystemTools is cmsys::SystemTools, which should be
referencable by just SystemTools from inside the class.  Borland C++
does not seem to support this, so we use cmSystemTools instead.
2009-04-22 09:11:06 -04:00
Brad King b1005a0e5e STYLE: Nightly Date Stamp 2009-04-22 00:01:11 -04:00
Alexander Neundorf ce6849f057 ENH: also recognize rxvt-256color as a color terminal (#8913, patch from Deewiant)
Alex
2009-04-21 18:23:02 -04:00
Brad King 13e454f8d3 BUG: Avoid infinite loop at directory tree root
The system tools GetParentDirectory method no longer removes the root
path component.  This fixes cmSystemTools::FileExistsInParentDirectories
to not infinitely loop at when GetParentDirectory stops at the root.
2009-04-21 11:37:09 -04:00
Brad King 714d2fc04b ENH: Remove obscure method from KWSys SystemTools
This removes SystemTools::FileExistsInParentDirectories from KWSys since
it is a special-purpose method that is not generally useful.
2009-04-21 11:36:59 -04:00
Brad King 7bb8678fc6 STYLE: Nightly Date Stamp 2009-04-21 00:01:06 -04:00
Brad King 20f4fdee33 BUG: Fix SystemTools::IsSubDirectory on bad input
When SystemTools::GetParentDirectory was fixed to never remove the root
path component from a full path we violated an assumption made by
IsSubDirectory that eventually GetParentDirectory returns an empty
string.  This led to an infinite loop if the potential parent directory
is empty, so we explicitly avoid that case.
2009-04-20 08:42:05 -04:00
Brad King 102697e5d0 STYLE: Nightly Date Stamp 2009-04-20 00:01:09 -04:00
Alexander Neundorf bc9703b695 STYLE: fix typos in the docs
Alex
2009-04-19 12:48:30 -04:00
Brad King 289ce0b80a STYLE: Nightly Date Stamp 2009-04-19 00:01:03 -04:00
Brad King 7929462a39 STYLE: Nightly Date Stamp 2009-04-18 00:01:14 -04:00
Bill Hoffman be7824c369 ENH: make sure CTEST_CURL_OPTIONS work from script mode 2009-04-17 14:44:01 -04:00
Brad King 3e0db72aaa STYLE: Nightly Date Stamp 2009-04-17 00:01:04 -04:00
Clinton Stimpson a17bf54af7 BUG: Path lengths in combo box for binary directory was forcing a minimum size
on the main window.  Fixed that.
2009-04-16 12:25:15 -04:00
Brad King 0d5b456c29 STYLE: Nightly Date Stamp 2009-04-16 00:01:10 -04:00
Brad King 3824f54c17 BUG: Replace brittle GetParentDirectory impl
The previous change to this method broke cases where the input path does
not exist.  The SystemTools::GetParentDirectory method is redundant with
the more robust SystemTools::GetFilenamePath.  This replaces its
implementation to just call GetFilenamePath.
2009-04-15 13:03:33 -04:00
Brad King 1ed7f381f1 COMP: Fix BOOL to bool conversion warning
The cmSystemTools::RenameFile method returns type bool, but its
implementation on Windows returns the result of an API function that
returns BOOL.  This change avoids the compiler warning.
2009-04-15 11:00:03 -04:00
Yumin Yuan f3035ff78d BUG: SystemTools::GetParentDirectory() will crash if "/" is passed in as argement. Valid check is added to make sure the input argment exists, and if "/" is passed in, empty string will be returned. 2009-04-15 10:45:29 -04:00
Brad King aba3d56c92 ENH: Create command line api "cmake -E rename"
This extends the "-E" command line mode with a "rename old new"
signature.  The new command atomically renames a file or directory
within a single disk volume.
2009-04-15 09:58:33 -04:00
Brad King 0d92350bb6 ENH: Create file(RENAME) command mode
This creates command "file(RENAME <oldname> <newname>)" to rename a file
or directory within a single disk volume.
2009-04-15 09:58:13 -04:00
Brad King d3363beb2f ENH: Move RenameFile to cmSystemTools
This moves the cmGeneratedFileStream::RenameFile method implementation
into cmSystemTools.  It works only within a single filesystem volume,
but is atomic when the operating system permits.
2009-04-15 09:57:57 -04:00
Brad King 6218a1a786 STYLE: Nightly Date Stamp 2009-04-15 00:01:09 -04:00
Brad King 19d11e2a1f ENH: Skip KWSys name maros in case of identity
All KWSys C symbol names begin with the KWSYS_NAMESPACE defined at
configuration time.  For ease of editing we write canonical names with
the prefix 'kwsys' and use macros to map them to the configured prefix
at preprocessing time.  In the case of standalone KWSys, the prefix is
'kwsys', so the macros were previously defined to their own names.

We now skip defining the macros in the identity case so that the final
symbol names are never themselves macros.  This will allow the symbols
to be further transformed behind the scenes to help linkers in special
cases on some platforms.
2009-04-14 09:35:56 -04:00
Brad King 286a136adb STYLE: Nightly Date Stamp 2009-04-14 00:01:04 -04:00
Brad King 172d07fca9 STYLE: Nightly Date Stamp 2009-04-13 00:01:15 -04:00
Brad King 9a884dd3f4 STYLE: Nightly Date Stamp 2009-04-12 00:01:04 -04:00
Bill Hoffman 682e15184a ENH: remove warning and improve message 2009-04-11 09:29:27 -04:00
Brad King c723625f6a STYLE: Nightly Date Stamp 2009-04-11 00:01:04 -04:00
Bill Hoffman d75513c9fa ENH: remove cerr call 2009-04-10 13:00:27 -04:00
Bill Hoffman 4ec691a9d1 ENH: add ability to control ssl cert checking 2009-04-10 12:15:03 -04:00
Brad King 3c0e239346 STYLE: Nightly Date Stamp 2009-04-10 00:01:09 -04:00
Brad King dfd95e100d STYLE: Nightly Date Stamp 2009-04-09 00:01:02 -04:00
Brad King d05e98f8d7 ENH: Allow IMPORTED_IMPLIB w/o IMPORTED_LOCATION
Linking to a Windows shared library (.dll) requires only its import
library (.lib).  This teaches CMake to recognize SHARED IMPORTED library
targets that set only IMPORTED_IMPLIB and not IMPORTED_LOCATION.
2009-04-08 16:29:04 -04:00
Brad King 5886d10334 BUG: Fix imported target config guess
When an IMPORTED target provides no generic configuration and no match
for a desired configuration then we choose any available configuration.
This change corrects the choice when the first listed available
configuration does not really have a location.
2009-04-08 16:28:55 -04:00
Brad King d72743928e STYLE: Nightly Date Stamp 2009-04-08 00:01:05 -04:00
David Cole f6828c391d BUG: Fix invalid array access discovered during investigation of issue #7832. 2009-04-07 15:13:07 -04:00
Brad King 36e9a6ed81 STYLE: Nightly Date Stamp 2009-04-07 00:01:06 -04:00
Brad King ae284cc5c8 BUG: Fix parsing of linux 2.6 /proc/meminfo format
Previously KWSys SystemInformation parsed this file assuming a strict
order and set of fields, but the order is not reliable.  This
generalizes the implementation to support any order and extra fields.
2009-04-06 14:55:54 -04:00
Brad King 85bffd3eeb BUG: Lookup transitive link deps in depender scope
The transitive link dependencies of a linked target must be followed in
its own scope, not in the scope of the original target that depends on
it.  This is necessary since imported targets do not have global scope.
See issue #8843.
2009-04-06 11:10:37 -04:00
Mathieu Malaterre c9949f97a7 BUG: comment out faulty seekp which make kwsys::*stringstream fails on platform with no std::*stringstream implementation 2009-04-06 03:39:42 -04:00
Brad King 7855f988d4 STYLE: Nightly Date Stamp 2009-04-06 00:01:08 -04:00
Mathieu Malaterre 1ab71112c2 ENH: hopefully seekp is the call making kwsys::stringstream behaves oddly on sunos 2009-04-05 06:55:52 -04:00
Brad King 434bd99dc7 STYLE: Nightly Date Stamp 2009-04-05 00:01:12 -04:00
Brad King 4a8d3019cd STYLE: Nightly Date Stamp 2009-04-04 00:01:08 -04:00
David Cole 42c033ccd6 BUG: Fix issue #8759 - add support for setting dmg volume name and compression type by CPack variables. Also add custom .DS_Store and background image support. Thanks to Mike Arthur for the patches. 2009-04-03 13:12:53 -04:00
David Cole 601764feed BUG: Fix documentation deficiency noted in issue #7885. Thanks to Philip Lowman for the gist of the patch. 2009-04-03 11:41:33 -04:00
Brad King 17ea632e93 STYLE: Nightly Date Stamp 2009-04-03 00:01:04 -04:00
Mathieu Malaterre 31c4a269b0 ENH: trying to reproduce issue on sunos 2009-04-02 06:12:53 -04:00
Brad King fd7656f7c3 STYLE: Nightly Date Stamp 2009-04-02 00:01:04 -04:00
Brad King 5982224a73 ENH: Clarify VERBATIM option documentation
The previous wording of the VERBATIM option documentation in the
add_custom_command and add_custom_target commands was confusing.  It
could be interpreted as the opposite of what the option means (no
escaping instead of escaping).  This clarifies the documentation to
explicitly state that it escapes.
2009-04-01 10:31:41 -04:00
Brad King 475e1d78cb STYLE: Nightly Date Stamp 2009-04-01 00:01:08 -04:00
Bill Hoffman 4c3718d7b6 ENH: use 0 not FALSE 2009-03-31 15:30:36 -04:00
Bill Hoffman 1f0835b5eb ENH: add submit via cp mode 2009-03-31 15:24:50 -04:00
Brad King 6f4554982d STYLE: Nightly Date Stamp 2009-03-31 00:01:04 -04:00
Clinton Stimpson 79a3644e80 BUG: Fix inconsistency with lowercase drive letters on Windows. 2009-03-30 16:34:28 -04:00
Clinton Stimpson 39f2d825fc ENH: Add version info to about dialog, including Qt version. 2009-03-30 10:56:43 -04:00
Mathieu Malaterre 3a34b35dec COMP: missing string.h header for strlen. 2009-03-30 08:27:44 -04:00
Brad King 31d03e8399 ENH: Document scope of add_custom_command outputs
This explicitly states the scope of add_custom_command rules in
the documentation of add_custom_command and add_custom_target.
See issue #8815.
2009-03-30 08:27:28 -04:00
Mathieu Malaterre 318bfab8c1 ENH: remote debugging of sunos 2009-03-30 04:10:37 -04:00
Brad King 1bd0b15145 STYLE: Nightly Date Stamp 2009-03-30 00:01:04 -04:00
Brad King 3489950746 STYLE: Nightly Date Stamp 2009-03-29 00:01:05 -04:00
Bill Hoffman fb24a4c881 STYLE: fix line lenght 2009-03-28 13:02:29 -04:00
Brad King 7e8ad26e5a STYLE: Nightly Date Stamp 2009-03-28 00:01:04 -04:00
Bill Hoffman 17f327b5da BUG: fix for #8686 add some more compiler flags 2009-03-27 12:33:17 -04:00
Bill Hoffman a9bda84ba8 ENH: LIBPATH is not required for cl to work 2009-03-27 11:18:58 -04:00
Brad King 27598a53c9 STYLE: Nightly Date Stamp 2009-03-27 00:01:05 -04:00
Clinton Stimpson ff09eacf5c BUG: Don't return checkable flag for item when in the middle of configure/generate. 2009-03-26 11:42:37 -04:00
Brad King 9b41f200ad STYLE: Nightly Date Stamp 2009-03-26 00:01:07 -04:00
Brad King 5f4686920d BUG: Fix CMAKE_CURRENT_LIST_FILE in macros
The value of CMAKE_CURRENT_LIST_FILE is supposed to be the list file
currently being executed.  Before macros were introduced this was always
the context of the argument referencing the variable.

Our original implementation of macros replaced the context of command
arguments inside the macro with that of the arguments of the calling
context.  This worked recursively, but only worked when macros had at
least one argument.  Furthermore, it caused parsing errors of the
arguments to report the wrong location (calling context instead of line
with error).

The commit "Improve context for errors in macros" fixed the latter bug
by keeping the lexical context of command arguments in macros.  It broke
evaluation of CMAKE_CURRENT_LIST_FILE because the calling context was no
longer preserved in the argument referencing the variable.  However,
since our list file processing now maintains the proper value of
CMAKE_CURRENT_LIST_FILE with dynamic scope we no longer need the context
of the argument and can just evaluate the variable normally.
2009-03-25 10:37:04 -04:00
Brad King 5efdefbc27 STYLE: Nightly Date Stamp 2009-03-25 00:01:06 -04:00
Brad King db4390ea7c STYLE: Nightly Date Stamp 2009-03-24 00:01:03 -04:00
Brad King 4085454658 ENH: Support preprocessor def values in VS6
The add_definitions() command and COMPILE_DEFINITIONS dir/tgt/src
properties support preprocessor definitions with values.  Previously
values were not supported in the VS6 generator even though the native
tool supports them.  It is only values with spaces that VS6 does not
support.  This enables support and instead complains only for values
with spaces.  See issue #8779.
2009-03-23 14:48:09 -04:00
Brad King 10a91d8467 STYLE: Nightly Date Stamp 2009-03-23 00:01:35 -04:00
Brad King acabe5debb STYLE: Nightly Date Stamp 2009-03-22 00:01:04 -04:00
Brad King 8f5a4c431c STYLE: Nightly Date Stamp 2009-03-21 00:01:03 -04:00
Brad King d66436e2e4 BUG: Fix return value of ctest_update
The CTest version control refactoring broke the value returned for the
ctest_update command's RETURN_VALUE argument.  The value is supposed to
be the number of files updated, but the refactoring accidentally made it
the number of locally modified files after the update.
2009-03-20 14:19:56 -04:00
Brad King 1ce28d1db8 STYLE: Nightly Date Stamp 2009-03-20 00:01:05 -04:00
Francois Bertel ad4a2fd697 COMP:Fixed warnings with gcc 4.3.2. 2009-03-19 22:48:05 -04:00
Francois Bertel 1a13469a26 COMP:Try to fix error on HP. 2009-03-19 11:48:50 -04:00
Brad King 6d02ee34c9 ENH: Mention CMAKE_* variables in RPATH properties
The RPATH target properties are initialized by CMAKE_<prop> variables at
target creation time.  This notes the feature in the property
documentation.  It is already noted in the variable documentation.
2009-03-19 10:53:51 -04:00
Francois Bertel c8f9ee6b74 COMP:try to fix error on qnx-V3.3.5-gcc_ntox86. 2009-03-19 10:03:36 -04:00
Francois Bertel a638a2f8a0 COMP:Fixed warnings. 2009-03-19 09:20:40 -04:00
Francois Bertel 675b76d931 COMP:Fixed VS 64-bit warning C4267 line 432 of RegularExpression.cxx 2009-03-19 09:09:33 -04:00
Brad King b74c0a03e5 STYLE: Nightly Date Stamp 2009-03-19 00:01:07 -04:00
Francois Bertel 431c456cf5 COMP:Fixed warnings. 2009-03-18 08:50:55 -04:00
Francois Bertel 1fb58e3bf4 STYLE:Empty commit just add information about rev 1.15: the reason is that long is 64-bit on gcc on Linux because it uses the LP64 data model whereas long is 32-bit on VS 64-bit because it uses the LLP64 model (ref: http://en.wikipedia.org/wiki/64-bit#64-bit_data_models ) 2009-03-18 07:57:28 -04:00
Francois Bertel 489df7836e COMP:Fix warning on VS 64bit. Don't why gcc 4.3.2 didn't catch this one on a 64bit machine with -Wconversion on. 2009-03-18 07:32:12 -04:00
Brad King 4066abc7f3 STYLE: Nightly Date Stamp 2009-03-18 00:01:03 -04:00
Brad King b59d0a4d13 BUG: Allow more shell ops in custom commands
This extends the set of common shell operators to include "||", "&&",
"1>", and "2>".  See issue #6868.
2009-03-17 15:11:33 -04:00
Brad King ecb0f3af55 ENH: New foreach(<var> IN ...) mode
This creates a new mode of the foreach command which allows precise
iteration even over empty elements.  This mode may be safely extended
with more keyword arguments in the future.  The cost now is possibly
breaking scripts that iterate over a list of items beginning with 'IN',
but there is no other way to extend the syntax in a readable way.
2009-03-17 15:10:15 -04:00
Francois Bertel ee00616289 COMP:Fixed warnings. 2009-03-17 10:48:24 -04:00
Brad King 94853b493a STYLE: Nightly Date Stamp 2009-03-17 00:01:07 -04:00
Francois Bertel 257937f2bd COMP:Try to fix compile error with qnx gcc. 2009-03-16 17:38:17 -04:00
Francois Bertel d0b32b42a1 COMP:Fixed gcc 4.3.2 warning with -O1 and above: ignoring return value of read'), declared with attribute warn_unused_result 2009-03-16 17:13:14 -04:00
Brad King 493f88ce55 ENH: Allow projects to disable per-rule echo lines
This creates global property RULE_MESSAGES which can be set to disbale
per-rule progress and action reporting.  On Windows, these reports may
cause a noticable delay due to the cost of starting extra processes.
This feature will allow scripted builds to avoid the cost since they do
not need detailed information anyway.  This replaces the RULE_PROGRESS
property created earlier as it is more complete.  See issue #8726.
2009-03-16 16:55:58 -04:00
Brad King 49dec94f54 STYLE: Separate unrelated logic
This separates unrelated uses of a library-type switch into separate
switches.  An upcoming commit will conditionally enter one of the
switches.
2009-03-16 16:55:53 -04:00
Brad King 2f651c2e59 ENH: Allow projects to disable per-rule progress
This creates global property RULE_PROGRESS which can be set to disbale
per-rule progress reporting.  On Windows, progress reports may cause a
noticable delay due to the cost of starting an extra process.  This
feature will allow scripted builds to avoid the cost since they do not
need detailed progress anyway.  See issue #8726.
2009-03-16 16:22:19 -04:00
Brad King 741ae600c4 ENH: Factor out makefile progress rule commands
This factors duplicate progress rule code into a common method.
2009-03-16 16:22:13 -04:00
Francois Bertel 7b9b56d80e COMP:Fixed warnings. 2009-03-16 15:02:25 -04:00
Brad King 921f3a1ac2 BUG: Do not automatically set HEADER_FILE_ONLY
Long ago the native build system generators needed HEADER_FILE_ONLY to
be set on header files to stop them from building.  The modern
generators correctly handle headers without the help of this property.
This removes automatic setting of the property so that it can be used
reliably as an indicator of project author intention.  It fixes VS IDE
project files to show header files normally instead of excluded (broken
by the fix for issue #7845).
2009-03-16 14:30:24 -04:00
Brad King 147d6f3101 ENH: Remove unused code from cmMakeDepend
This class is the old-style dependency scanner.  It is needed only to
implement the output_required_files command.  This change removes some
code not needed for that purpose, including a reference to the
HEADER_FILE_ONLY property.
2009-03-16 14:30:19 -04:00
Brad King 9862f383d0 ENH: Add NAME mode to ADD_TEST command
This creates command mode add_test(NAME ...).  This signature is
extensible with more keyword arguments later.  The main purpose is to
enable automatic replacement of target names with built target file
locations.  A side effect of this feature is support for tests that only
run under specific configurations.
2009-03-16 10:51:30 -04:00
Brad King 606e6ff9cd ENH: Refactor storage of test command lines
We used to separate the command executable from its argument vector.
It is simpler to just store the whole command line in one vector.
2009-03-16 10:42:40 -04:00
Brad King 66d69f864a ENH: Refactor generation of CTestTestfile content
This moves code which generates ADD_TEST and SET_TESTS_PROPERTIES calls
into CTestTestfile.cmake files out of cmLocalGenerator and into a
cmTestGenerator class.  This will allow more advanced generation without
cluttering cmLocalGenerator.  The cmTestGenerator class derives from
cmScriptGenerator to get support for per-configuration script
generation (not yet enabled).
2009-03-16 10:40:46 -04:00
Brad King e67f5138b8 ENH: Refactor cmInstallGenerator for re-use
A new cmScriptGenerator base class factors out the non-install-specific
part of cmInstallGenerator.  This will be useful for other generators
that want per-configuration functionality.
2009-03-16 10:39:56 -04:00
Brad King e30835345a STYLE: Nightly Date Stamp 2009-03-16 00:01:05 -04:00
Brad King fa325c1fdc STYLE: Nightly Date Stamp 2009-03-15 00:01:08 -04:00
Brad King e4eb90c875 STYLE: Nightly Date Stamp 2009-03-14 00:01:05 -04:00
Alexander Neundorf f40f867be6 ENH: don't enforce VERBOSE Makefiles, but set the env. var VERBOSE to 1 in
when make is executed from within Eclipse. This way when building from the
command line one can build also in non-verbose mode.

Alex
2009-03-13 17:04:57 -04:00
Alexander Neundorf cbb7a509e8 ENH: when using the Eclipse project generator, run gcc so that it tells us
its system include directories. These are catched in CMakeSystemSpecificInformation.cmake
(only with the Eclipse generator) and then written by the Eclipse generator
in the Eclipse project file. This way Eclipse can find the standard headers
(#7585)
Not sure CMakeSystemSpecificInformation.cmake is the best place to do this.

Alex
2009-03-13 16:52:58 -04:00
Alexander Neundorf 4a23e05237 STYLE: add line breaks to the documentation for CMAKE_MATCH_(0..9),
otherwise one might miss this information

Alex
2009-03-13 14:58:13 -04:00
Brad King 5cde305b99 BUG: Document internal cache property MODIFIED
All cmake-defined properties should be documented, even if they are
internal.  This fixes the DocTest when CMAKE_STRICT is enabled.
2009-03-13 10:53:53 -04:00
Brad King 5e49dc4346 BUG: Fix cache properties for CMAKE_STRICT build
All cmPropertyMap instances must have CMakeInstance set.  This teaches
cmCacheManager to set it on cache entries.
2009-03-13 10:53:47 -04:00
Brad King c6d0043e2a STYLE: Nightly Date Stamp 2009-03-13 00:01:06 -04:00
Alexander Neundorf 3fe6b3ce37 BUG: fix #8704, sometimes crash if include_directories() is called with a whitespace string
Alex
2009-03-12 19:24:27 -04:00
Alexander Neundorf 5174fbd390 STYLE: document NONE for disabling any languages, slightly change wording of
the rest of the documentation, so it is more similar to ENABLE_LANGUAGE() (#8718)

Alex
2009-03-12 18:43:17 -04:00
Bill Hoffman 0a65ee8d95 ENH: allow for https submission if ctest is built with a curl that supports it 2009-03-12 14:54:00 -04:00
Brad King d96e7e0e5a COMP: Do not use void returns
VS 6 does not support the C++ void returns feature.  This removes an
accidental use of it.
2009-03-12 13:11:48 -04:00
Clinton Stimpson c54f47635c ENH: Add support for showing combo box for choosing from a list of strings that a cache property can have. 2009-03-12 11:19:27 -04:00
Brad King dd7b48c9c3 ENH: Define STRINGS cache entry property
This property defines a list of values for a cache entry of type STRING.
A CMake GUI may optionally use a drop-down selection widget for the
entry instead of a generic text entry field.  We do not enforce that the
value of the entry match one of the strings listed.
2009-03-12 10:52:40 -04:00
Brad King 1b43bea91c ENH: Refactor cache entry writing and reading
This factors out duplicated code into reusable methods, thus simplifying
writing and reading of cache entry help strings, keys, values, and
properties.
2009-03-12 10:49:05 -04:00
Brad King 0460e31e67 STYLE: Nightly Date Stamp 2009-03-12 00:01:07 -04:00
Brad King 589b4265a6 BUG: Do not produce empty coverage log files
This moves the filtering of source files to before the production of
coverage log files in order to avoid producing a CoverageLog-*.xml file
for 100 filtered-out files.  The change greatly reduces the number of
submitted coverage files when using label filters.
2009-03-11 13:31:40 -04:00
Brad King 5bc17136a3 BUG: Do not carry over file list between coverage
When performing multiple ctest_coverage() commands in a single CTest
instance we need to clear the list of CoverageLog-*.xml files for
submission.  Otherwise if the current coverage run produces fewer log
files than the previous run CTest will attempt to submit non-existing
files.
2009-03-11 13:31:33 -04:00
Brad King f3e713ba65 BUG: Avoid duplicate CTest coverage submission
This teaches ctest_coverage() to remove any existing CoverageLog-*.xml
when it creates new coverage results.  Otherwise the next ctest_submit()
may submit old coverage log files which unnecessarily.
2009-03-11 12:03:47 -04:00
Brad King b4997c3020 STYLE: Nightly Date Stamp 2009-03-11 00:01:03 -04:00
Alexander Neundorf 5700deb16a ENH: only check for the existance of a header file if:
-the original file is a C/C++ implementation file
-the header file is not already part of the sources

Alex
2009-03-10 17:34:18 -04:00
Brad King 32258b44bc ENH: Document CACHE entry properties
This adds a property documentation section for CACHE properties.
We document the ADVANCED, HELPSTRING, TYPE, and VALUE properties.
2009-03-10 11:11:15 -04:00
Brad King e5e91d6179 ENH: Teach set/get_property about CACHE properties
This adds the CACHE option to set_property and get_property commands.
This allows full control over cache entry information, so advanced users
can tweak their project cache as desired.  The set_property command
allows only pre-defined CACHE properties to be set since others would
not persist anyway.
2009-03-10 11:10:59 -04:00
Brad King ca9fb4826f ENH: Use cmPropertyMap for cache properties
This re-implements cache entry property storage in cmCacheManager to use
cmPropertyMap so it can share the standard property implementation.
2009-03-10 11:10:42 -04:00
Brad King effd6d6e0b STYLE: Nightly Date Stamp 2009-03-10 00:01:05 -04:00
Brad King 21fc04efaf BUG: Fix get_property result for bad property
When a property does not exist we are supposed to return an empty value.
Previously if a property did not exist we just left the value of the
output variable unchanged.  This teaches CMake to remove the definition
of the output variable in this case.
2009-03-09 17:57:12 -04:00
Brad King 1d96c943e0 ENH: Efficiently filter CTest coverage by label
This teaches CTest to process coverage information only for object files
in targets containing labels of interest.  This change also improves
loading of global coverage information by globbing only in each target
support directory instead of the entire build tree.
2009-03-09 12:19:56 -04:00
Brad King a86e81c358 ENH: Generate a central list of target directories
This generalizes the previous CMakeFiles/LabelFiles.txt created at the
top of the build tree to a CMakeFiles/TargetDirectories.txt file.  It
lists the target support directories for all targets in the project.
Labels can still be loaded by looking for Labels.txt files in each
target directory.
2009-03-09 12:19:27 -04:00
Brad King b9323d2dd6 STYLE: Nightly Date Stamp 2009-03-09 00:01:04 -04:00
Alexander Neundorf 363c4e422d ENH: automatically add headers of implementation file to the codeblocks project file
Alex
2009-03-08 15:33:58 -04:00
Brad King 038827c5da STYLE: Nightly Date Stamp 2009-03-08 00:01:03 -05:00
Brad King 55760e9994 STYLE: Nightly Date Stamp 2009-03-07 00:01:04 -05:00
Brad King b04c37c700 BUG: Fix message(SEND_ERROR) to continue
During testing of the new message() signatures I mistakenly concluded
that SEND_ERROR stops processing.  The corresponding commit enforced
this wrong behavior.  This restores the correct behavior and fixes the
documentation accordingly.
2009-03-06 12:06:43 -05:00
Brad King ca3b93d9c6 ENH: Teach message() how to display warnings
This adds message(WARNING) and message(AUTHOR_WARNING) command modes and
fully documents the command behavior in all modes.
2009-03-06 10:04:06 -05:00
Brad King 62702551db BUG: Fix man-page preformatted text paragraphing
Man page preformatted text needs an extra newline after the ending
marker to create a paragraph break.  This bug was introduced by the
patch from issue #7797 to place explicit ".nf" and ".fi" markers around
preformatted blocks.
2009-03-06 10:01:14 -05:00
Brad King 2123b432d9 ENH: Teach file(REMOVE) how to use relative paths
This teaches the command to interpret relative paths with respect to the
location of the invoking CMakeLists.txt file.  The convention is already
used by most commands and won't change the behavior in script mode.
2009-03-06 09:14:57 -05:00
Brad King 73bea67fd3 STYLE: Nightly Date Stamp 2009-03-06 00:01:03 -05:00
Brad King 98c51ff6dc ENH: Overhaul CMake version numbering
This moves the version numbers into an isolated configured header so
that not all of CMake needs to rebuild when the version changes.

Previously we had spaces, dashes and/or the word 'patch' randomly chosen
before the patch number.  Now we always report version numbers in the
traditional format "<major>.<minor>.<patch>[-rc<rc>]".

We still use odd minor numbers for development versions.  Now we also
use the CCYYMMDD date as the patch number of development versions, thus
allowing tests for exact CMake versions.
2009-03-05 15:17:07 -05:00
Brad King 83f39ba41b STYLE: Remove unused cmake::CacheVersionMatches
This remove the method completely since nothing uses it.
2009-03-05 13:57:10 -05:00
Brad King dcd1c5cd8a BUG: Initialize ctest_coverage command ivar
This initializes the LabelsMentioned ivar in cmCTestCoverageCommand.
2009-03-05 10:17:42 -05:00
Brad King 46c3541392 STYLE: Nightly Date Stamp 2009-03-05 00:01:04 -05:00
Brad King 170febac52 ENH: Cleanup cmake --build interface.
This cleans up the 'cmake --build' command-line interface:
  - Rename --clean to --clean-first to better describe it.
  - Replace --extra-options with a -- separator to simplify passing of
    multiple native build tool options.
  - Document the options in the main CMake man page description of the
    --build option, and shares this with the usage message.
  - Require --build to be the first argument when present.
  - Move implementation into cmakemain where it belongs.
2009-03-04 15:39:27 -05:00
Brad King d35651fb6c ENH: Extend GG::Build method for pre-parsed args
This adds an argument to the cmGlobalGenerator::Build method to pass a
vector of arguments for the native build tool programatically.
2009-03-04 15:38:47 -05:00
Bill Hoffman e7f16fcb1b BUG: make sure error condition is reset before loading scripts 2009-03-04 11:24:57 -05:00
Brad King c0e0180f28 STYLE: Nightly Date Stamp 2009-03-04 00:01:02 -05:00
Brad King 123e9618b1 STYLE: Nightly Date Stamp 2009-03-03 00:01:02 -05:00
Brad King 82e9291629 BUG: Avoid encoding invalid XML chars in CTest
CTest encodes test and tool output in XML for dashboard submission.
This fixes the XML encoding implementation to not encode an invalid
character and instead put a human-readable tag in its place.
See issue #8647.
2009-03-02 16:27:50 -05:00
Brad King ed5e4d8be2 BUG: Gracefully handle broken version symlinks
This teaches the helper commands 'cmake -E cmake_symlink_executable' and
'cmake -E cmake_symlink_library' to remove broken symlinks before
creating a symlink and report an error when the symlink cannot be
created.  See issue #8654.
2009-03-02 16:02:19 -05:00
Brad King 91a8569648 ENH: Teach ctest_coverage to filter with LABELS
This teaches ctest_coverage() to report only coverage of files labeled
with at least one label given by a new LABELS option.
2009-03-02 15:33:18 -05:00
Brad King 3078fef81c BUG: Fix coverage label reports for Bullseye
This teaches CTest to report Labels elements in the Coverage.xml file
for Bullseye coverage results.
2009-03-02 15:33:03 -05:00
Brad King c4596605df BUG: Fix coverage handler initialization
This resets coverage handler internal state on initialization so that
multiple coverage runs are independent.
2009-03-02 15:32:59 -05:00
Brad King 3838ec7d9f BUG: Hack for issue #8647 2009-03-02 09:59:14 -05:00
Brad King 1e6b109fed STYLE: Nightly Date Stamp 2009-03-02 00:01:05 -05:00
Brad King 8ddec12021 STYLE: Nightly Date Stamp 2009-03-01 00:01:06 -05:00
Brad King de3a686a62 STYLE: Nightly Date Stamp 2009-02-28 00:01:08 -05:00
Bill Hoffman 3043ddf144 BUG: #8611 add pass fail reasons into log file 2009-02-27 16:28:07 -05:00
Brad King b41c8fe23e BUG: Pass shared library export symbol in DEFINES
The <target>_EXPORTS macro defined for object files when built in a
shared library <target> should be put in the <DEFINES> make rule
replacement and not <FLAGS>.  Also, it should honor the platform
variable CMAKE_<LANG>_DEFINE_FLAG.  See issue #8107.
2009-02-27 12:59:52 -05:00
Brad King 1d3308156e ENH: Enforce unique binary directories
The second argument of add_subdirectory must name a unique binary
directory or the build files will clobber each other.  This enforces
uniqueness with an error message.
2009-02-27 11:23:14 -05:00
Brad King 99b37665c9 STYLE: Nightly Date Stamp 2009-02-27 00:01:02 -05:00
Brad King 3829be4ca6 ENH: Refactor initial checkout into cmCTestVC
This adds cmCTestVC::InitialCheckout and uses it in cmCTestUpdateHandler
to run the initial checkout command.  The new implementation logs the
command in the update log consistently with the rest of the new update
implementation.
2009-02-26 09:22:32 -05:00
Brad King 8c3290b4a3 BUG: Use new include dir suppresson for all gens
This fixes CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to be used for all
generators instead of just those that construct their own compiler
command lines directly.  See issue #8598.
2009-02-26 09:16:16 -05:00
Brad King 3498a8c668 ENH: Simplify reverse cmLocalGenerator::Convert
It does not make sense to call the reverse Convert signature (for remote
paths corresponding to CMake-managed directories) with NONE or FULL
since they have no path.  Patch from Modestas Vainius.  See issue #7779.
2009-02-26 08:49:10 -05:00
Brad King 338d37ee5a STYLE: Nightly Date Stamp 2009-02-26 00:01:04 -05:00
Brad King 7dbacb94f4 COMP: Fix cmCTestVC member access for HP compiler
The HP C++ compiler needs some help to allow access to some member
classes of cmCTestVC.
2009-02-25 15:45:14 -05:00
Brad King 80282b749f ENH: Rewrite CTest Update implementation
This adds a new VCS update implementation to the cmCTestVC hierarchy and
removes it from cmCTestUpdateHandler.  The new implementation has the
following advantages:

  - Factorized implementation instead of monolithic function
  - Logs vcs tool output as it is parsed (less memory, inline messages)
  - Uses one global svn log instead of one log per file
  - Reports changes on cvs branches (instead of latest trunk change)
  - Generates simpler Update.xml (only one Directory element per dir)

Shared components of the new implementation appear in cmCTestVC and may
be re-used by subclasses for other VCS tools in the future.
2009-02-25 14:42:45 -05:00
Brad King cb788e8f6d ENH: Re-enable system include dir suppression
This creates variable CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to
specify implicit include directories on a per-language basis.  This
replaces the previous platform-wide variable.  It is necessary to
avoid explicit specification of -I/usr/include on some compilers
(such as HP aCC) because:

  1.) It may break ordering among system include directories defined
      internally by the compiler, thus getting wrong system headers.
  2.) It tells the compiler to treat the system include directory
      as a user include directory, enabling warnings in the headers.

See issue #8598.
2009-02-25 11:44:46 -05:00
Brad King 261600bd09 COMP: Fix cmCTestVC char[]->string Borland warning
The Borland compiler warns about returning a char[] from a function with
return type std::string without an explicit construction.
2009-02-25 09:20:26 -05:00
Brad King 8c88787b8b STYLE: Nightly Date Stamp 2009-02-25 00:01:19 -05:00
Bill Hoffman 3b73cdc89f ENH: add a CDash measured value showing the reason for passed and failed tests based on regular expressions 2009-02-24 17:23:51 -05:00
Brad King b5db18e723 ENH: Added cmXMLParser::FindAttribute method
This method will help subclasses look for element attributes in their
StartElement methods.
2009-02-24 15:43:49 -05:00
Brad King d033f0d2d1 ENH: Allow cmXMLParser subclasses to report errors
This tells cmXMLParser to report error messages through virtual method
cmXMLParser::ReportError so that subclasses can override the default
report.
2009-02-24 15:43:37 -05:00
Brad King 506e745c37 ENH: Teach cmCTestSVN to load repo/tree relation
This teaches cmCTestSVN::NoteNewRevision to save the repository URL
checked out in the work tree, the repository root, and the path below
the root to reach the full URL.
2009-02-24 15:43:25 -05:00
Brad King 3f4064f7ac ENH: Add cmCTest::DecodeURL method
This new method decodes the "percent-encoding" used in URL syntax.
2009-02-24 15:43:06 -05:00
Brad King 39f8b91125 BUG: Remove implicit include dir suppression
We used to suppress generation of -I/usr/include (and on OSX also
-I/usr/local/include).  This behavior seems to cause more trouble than
it's worth, so I'm removing it until someone encounters the original
problem it fixed.  See issue #8598.
2009-02-24 15:37:09 -05:00
Brad King 66f2edbe63 BUG: Fix Fortran implicit dependency include path
The previous change to Source/cmDependsFortran.cxx while refactoring
implicit dependency scanning configuration rules completely broke
loading of the include file search path while scanning Fortran
dependencies.  This adds the line that should have been added during the
previous change to load the include path correctly.
2009-02-24 14:32:25 -05:00
Brad King de3dedb4ea ENH: Factor out VCS work tree revision checks
This moves checks of the work tree revision before and after update from
cmCTestUpdateHandler::ProcessHandler into the cmCTestVC hierarchy.
2009-02-24 12:52:36 -05:00
Brad King d76bc78a12 ENH: Factor out nightly start time computation
Move generation of the nightly start time string from
cmCTestUpdateHandler::ProcessHandler into cmCTestVC.
2009-02-24 12:50:48 -05:00
Brad King fdd0d2a32b ENH: Factor out svn work tree cleanup
This removes work tree cleanup from cmCTestUpdateHandler and adds an
interface for it in cmCTestVC with an implementation in cmCTestSVN.
2009-02-24 12:50:15 -05:00
Brad King 4e4f2a3a10 ENH: Create cmCTestVC::RunChild and parse helpers
This method will help VCS tool subclasses run child processes and log
the output while parsing it.
2009-02-24 12:49:57 -05:00
Brad King 1595b8e69e ENH: Add install(DIRECTORY) option 'OPTIONAL'
This adds the OPTIONAL option to the install(DIRECTORY) command.  It
tells the installation rule that it is not an error if the source
directory does not exist.  See issue #8394.
2009-02-24 11:41:40 -05:00
Brad King a79f8cd4c1 ENH: Refactor install(DIRECTORY) argument parsing
We previously 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-02-24 11:41:00 -05:00
Brad King 5a7ac0def1 COMP: cmProcessTools::OutputParser virtual dtor
This class has virtual methods and therefore should have a virtual
destructor.
2009-02-24 11:08:38 -05:00
Brad King 1936499250 ENH: Create cmProcessTools to parse child output
This class provides a RunProcess method to run a child process and send
its output to an abstract parsing interface.  This also provides a
simple line parser and logger implementing the parsing interface.
2009-02-24 10:40:18 -05:00
Brad King 6bdc2b5d99 ENH: Add cmCTestCVS and cmCTestSVN
These cmCTestVC subclasses will implement interaction with CVS and SVN
tools.
2009-02-24 10:39:55 -05:00
Brad King 1b8ea27bd1 ENH: Create cmCTestVC for VCS interaction
This creates cmCTestVC, the base for a forthcoming class hierarchy to
interact with version control systems.
2009-02-24 10:39:28 -05:00
David Cole 60a46ca76e STYLE: Fix line length violation. 2009-02-24 09:34:03 -05:00
Brad King 0d66aa3915 ENH: Factor out VCS tool detection
In cmCTestUpdateHandler, this factors out version control tool detection
from the monolithic cmCTestUpdateHandler::ProcessHandler to separate
methods.  This also places priority on detection of the tool managing
the source tree since using any other tool will cause errors.
2009-02-24 09:09:43 -05:00
Brad King 844df75676 ENH: Factor out initial checkout method
This moves the initial checkout code from the monolithic
cmCTestUpdateHandler::ProcessHandler to a separate method
cmCTestUpdateHandler::InitialCheckout.
2009-02-24 09:09:14 -05:00
Brad King 0458da3ba9 STYLE: Nightly Date Stamp 2009-02-24 00:01:07 -05:00
Brad King a6c0784489 ENH: Refactor quoting of VCS tool command
Previously we pre-quoted the command line tool path.  This avoids it by
quoting the command everywhere it is used, thus preserving access to the
original, unquoted command.
2009-02-23 15:59:39 -05:00
David Cole c148714b82 ENH: Add license file presentation to the Drag-N-Drop dmg file CPack generator. Fixes issue #8442. Thanks to Clinton Stimpson for the patch. 2009-02-23 13:25:18 -05:00
Brad King 9185f36b06 STYLE: Nightly Date Stamp 2009-02-23 00:01:08 -05:00
Brad King 089896ae0a STYLE: Nightly Date Stamp 2009-02-22 00:01:06 -05:00
Bill Hoffman 71577b1d00 BUG: make sure the gui still runs... 2009-02-21 14:38:35 -05:00
Bill Hoffman 9cd850c4c7 BUG: make sure an x server is not required for the build 2009-02-21 14:23:32 -05:00
Brad King 06a61c8518 STYLE: Nightly Date Stamp 2009-02-21 00:01:02 -05:00
Brad King 31e652059a ENH: Document APPEND option in ctest_* commands
This adds documentation of the APPEND option to the configure, build,
test, memcheck, and coverage commands.  The docs leave specific
semantics for the dashboard server to define.
2009-02-20 15:51:03 -05:00
Brad King ab1b9b45ff ENH: Improve ctest_* command documentation
This corrects the terse documentation and adds detail to the full
documentation of some commands.  It also normalizes the layout of the
documentation string endings to make adding lines easier.
2009-02-20 15:50:57 -05:00
Brad King 17dc49c013 ENH: More documentation for ctest_submit command
This clarifies the terse documentation and lists valid values for PARTS.
2009-02-20 15:50:15 -05:00
Brad King f04fed206f ENH: Clarify docs of old *_OUTPUT_PATH vars
This clarifies the documentation of EXECUTABLE_OUTPUT_PATH and
LIBRARY_OUTPUT_PATH to sound less like deprecation.
2009-02-20 14:03:41 -05:00
David Cole c6051d7ad0 STYLE: Fix style line-too-long violations. 2009-02-20 10:14:40 -05:00
Brad King 20da2cbe03 STYLE: Nightly Date Stamp 2009-02-20 00:01:05 -05:00
Bill Hoffman 756cb547f3 BUG: fix xcode depend issue and add a test for it 2009-02-19 11:51:24 -05:00
David Cole 6e87aa49e6 BUG: Fix issue #8253 - handle xib file extension in Xcode projects so that double clicking on xib files opens them up in Interface Builder. Thanks to baron_roberts for the patch. 2009-02-19 11:20:09 -05:00
David Cole 1bf669207b BUG: A little bit more refactoring from BundleGenerator to DragNDropGenerator. See issue #8556. Thanks for Clinton Stimpson for the patch. 2009-02-19 10:39:08 -05:00
Bill Hoffman 65c1511814 BUG: fix depend bug again for Xcode 2009-02-19 10:31:16 -05:00
Brad King 9d177237a7 STYLE: Nightly Date Stamp 2009-02-19 00:01:05 -05:00
Bill Hoffman f535cf99ed BUG: use the top level project name for the xcode depend helper directory names 2009-02-18 12:09:20 -05:00
Brad King e266c37730 STYLE: Nightly Date Stamp 2009-02-18 00:01:04 -05:00
Brad King ab629e28f3 BUG: Do not use 'char' type as array subscript
This converts uses of 'char' as an array subscript to 'unsigned char' to
heed the warning from gcc.  The subscript must be an unsigned type to
avoid indexing before the beginning of the array.  This change avoids a
potential crash if input text contains a byte value beyond 0x7f.
2009-02-17 11:53:57 -05:00
Brad King 57a1d0093e ENH: Remove generation of unused Update.xml parts
This removes generation of some Update.xml content that is not used by
any Dart1, Dart2, or CDash servers:
  - Revisions elements
  - Directory attribute of File elements
  - File elements within Author elements
The content was generated only because the original Dart1 Tcl client
generated it, but the content was never used.
2009-02-17 11:37:18 -05:00
Brad King 832459c392 STYLE: Nightly Date Stamp 2009-02-17 00:01:06 -05:00
Ken Martin ad25cf8d17 ENH: fix style 2009-02-16 13:56:04 -05:00
Bill Hoffman 50ec299708 ENH: change name for start menu entry 2009-02-16 11:17:54 -05:00
Brad King 1b499f0019 BUG: Fix svn update logic for modified files
The main svn update parsing loop in cmCTestUpdateHandler previously had
a logic error because the variable 'res' was not reset for each
iteration.  For a locally modified file it would report the update info
for the previous non-modified file, or nothing if there was no previous
file.  This fixes the logic by setting variable 'res' in both control
paths for each iteration.  See issue #8168.
2009-02-16 10:01:43 -05:00
Brad King 354f7eb9ab STYLE: Fix spelling in cmCTestUpdateHandler
This renames the variable 'numModiefied' to 'numModified' to fix its
spelling.  It also renames 'modifiedOrConflict' to 'notLocallyModified'
to describe its purpose (rather than the opposite of its purpose).
See issue #8168.
2009-02-16 10:00:58 -05:00
Brad King 727cae7806 STYLE: Nightly Date Stamp 2009-02-16 00:01:03 -05:00
Brad King 8d99166070 STYLE: Nightly Date Stamp 2009-02-15 00:01:04 -05:00
Brad King 65ad22901d STYLE: Nightly Date Stamp 2009-02-14 00:01:03 -05:00
Bill Hoffman f24e8e9d2a ENH: take cmake-gui out of beta 2009-02-13 16:28:10 -05:00
Brad King b44026f74a ENH: Optionally label KWSys targets and tests
This provides an API for parent projects to use to specify values to be
set in the LABELS properties of KWSys libraries, executables, and tests.
2009-02-13 15:49:52 -05:00
Brad King 6d8b207867 ENH: Add KWSys header files to library targets
This adds the configured KWSys header files to the library targets that
implement their APIs so that they show up in IDE project files.
2009-02-13 15:49:47 -05:00
Brad King 70b1ed2548 ENH: Teach CTest to put labels in coverage results
This teaches CTest to include source file labels in coverage dashboard
submissions.  The labels for each source are the union of the LABELS
property from the source file and all the targets in which it is built.
2009-02-13 15:17:06 -05:00
Brad King 5be7846277 STYLE: Remove unused variable 2009-02-13 15:16:58 -05:00
Brad King a0359d3c15 BUG: Fix CTEST_USE_LAUNCHERS in dashboard scripts
Since CTest does not currently load configuration settings computed at
CMake Configure time while running dashboard scripts, the ctest_build
command must honor the CTEST_USE_LAUNCHERS option directly.
2009-02-13 11:49:31 -05:00
Brad King dc69ed8e99 STYLE: Add TODO comment about CTest configuration
Currently CTest does not load configuration settings computed at CMake
Configure time when running a dashboard script.  This adds a comment
describing refactoring that might help resolve the problem.
2009-02-13 11:49:26 -05:00
Brad King a26481f9fb STYLE: Nightly Date Stamp 2009-02-13 00:01:04 -05:00
Brad King 7590ad17ad BUG: Fix logic of LabelFiles.txt generation
This fixes a dumb logic error which causes generation of LabelFiles.txt
to try to open the file once for every target with labels.
2009-02-12 13:25:15 -05:00
Brad King 7435355ec8 ENH: Report file names relative to source dir
This teaches cmCTestLaunch to report source files that lie under the top
source directory relative to the top.
2009-02-12 13:00:22 -05:00
Ken Martin 4f369610f5 ENH: fix documentation and add docs on parenthetical expressions 2009-02-12 12:50:12 -05:00
Bill Hoffman 3d0e241498 BUG: #8496 add support for system info on haiku 2009-02-12 10:08:15 -05:00
Brad King fa9e93f712 BUG: Do not drop build fragments with same time
When we collect Build.xml fragments generated by 'ctest --launch', this
lexicographically orders fragments with the same time stamp on disk
instead of incorrectly dropping duplicates.
2009-02-12 10:01:39 -05:00
Brad King 47e8ee71dd STYLE: Nightly Date Stamp 2009-02-12 00:01:03 -05:00
Brad King 7497fd575d ENH: Teach CTest dashboard builds to use launchers
This defines a 'UseLaunchers' CTest configuration option.  When enabled,
CTest skips log scraping from the Build step output.  Instead it defines
the environment variable CTEST_LAUNCH_LOGS to a log directory during the
build.  After the build it looks for error-*.xml and warning-*.xml files
containing fragments for inclusion in Build.xml and submission.

This is useful in conjuction with 'ctest --launch' and the RULE_LAUNCH_*
properties to get reliable, highly-granular build failure reports.
2009-02-11 15:18:08 -05:00
Brad King b42b6a7f60 COMP: Do not use modern empty init list syntax
cmCTestLaunch first used an empty initializer list to zero-initialize a
buffer, but this is not supported on older compilers.  Instead we avoid
the need for initialization altogether.
2009-02-11 11:57:24 -05:00
Brad King 0847d825b3 ENH: Create internal 'ctest --launch' tool
This creates an undocumented 'ctest --launch' mode.  It launches a
specified command and optionally records a failure in an xml fragment.
We will optionally use this in CTest's Build stage to record per-rule
build failure information when using Makefile generators.
2009-02-11 11:31:25 -05:00
Brad King 52692cccaa STYLE: Nightly Date Stamp 2009-02-11 00:01:04 -05:00
Bill Hoffman 32dbc4acf8 ENH: fix fix for unc paths 2009-02-10 17:25:20 -05:00
Bill Hoffman efad72a9a3 ENH: add label global property to ctest scripts 2009-02-10 16:08:40 -05:00
Bill Hoffman 4e710a9ebe ENH: add the ability to run tests by labels 2009-02-10 14:24:24 -05:00
Bill Hoffman 70363cbf8f BUG: partial fix for 8056 -W now works with -j 2009-02-10 14:19:50 -05:00
Brad King 15c52e9891 ENH: Add rule substitutions useful for launchers
This defines make rule substitutions <LANGUAGE>, <TARGET_NAME>,
<TARGET_TYPE>, and <OUTPUT>.  They will be useful for RULE_LAUNCH_*
property values.
2009-02-10 08:52:07 -05:00
Brad King b604b98c56 ENH: Define RULE_LAUNCH_* properties
This defines global, directory, and target properties
RULE_LAUNCH_COMPILE, RULE_LAUNCH_LINK, and RULE_LAUNCH_CUSTOM.  Their
values specify 'launcher' command lines which are prefixed to compile,
link, and custom build rules by Makefile generators.
2009-02-10 08:51:15 -05:00
Brad King c895d9f2e0 ENH: Give target in which custom commands build
This gives the cmTarget instance for which custom command rules are
being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands.
It will be useful in the future.
2009-02-10 08:50:33 -05:00
Brad King 13f9bb646d ENH: Define target and source property LABELS
This creates a new LABELS property for targets and source files.  We
write the labels of each target and its source files in target-specific
locations in the build tree for future use.
2009-02-10 08:50:21 -05:00
Brad King d0ed46e3d6 ENH: Define target-specific support directories
This creates method cmTarget::GetSupportDirectory to compute a
target-specific support directory in the build tree.  It uses the
"CMakeFiles/<name>.dir" convention already used by the Makefile
generators.  The method will be useful for any code that needs to
generate per-target information into the build tree for use by CMake
tools that do not run at generate time.
2009-02-10 08:50:09 -05:00
Brad King ffba5b14ae STYLE: Nightly Date Stamp 2009-02-10 00:01:03 -05:00
Alexander Neundorf f27a2ca363 COMP: remove unused variable TargetSourceFileCount, it seems it is unused since version 1.88 of cmGlobalUnixMakefileGenerator3.cxx
patch by Daniel DOT Teske AT Nokia DOT com

Alex
2009-02-09 16:45:18 -05:00
Brad King 6ed916795d BUG: Work around broken GetLongPathName case
On Windows the GetLongPathName API function does not work on some
filesystems even if the file exists.  In this case we should just use
the original long path name and not the GetShortPathName result.
See issue #8480.
2009-02-09 16:45:15 -05:00
Alexander Neundorf bd92bec66c STYLE: fix two typos in the comments, patch from Daniel DOT Teske AT Nokia DOT com, QtCreator developer
Alex
2009-02-09 16:36:56 -05:00
Brad King ae873d4a89 ENH: Add get_filename_component(... REALPATH)
This patch from Philip Lowman creates a REALPATH mode in the
get_filename_component command.  It is like ABSOLUTE, but will also
resolve symlinks (which ABSOLUTE once did but was broken long ago).
See issue #8423.
2009-02-09 09:23:55 -05:00
Brad King ca096a4596 BUG: Fix GetRealPath when realpath fails
This patch from Philip Lowman teaches SystemTools::GetRealPath to deal
with paths that do not exist by dealing with the case that realpath
returns NULL.  See issue #8423.
2009-02-09 09:23:13 -05:00
Bill Hoffman 67ddd0c837 BUG: fix for 0008378, lists with FILEPATH and UNC //server/path fail 2009-02-09 08:25:55 -05:00
Brad King 37428e32aa STYLE: Nightly Date Stamp 2009-02-09 00:01:14 -05:00
Brad King 4c2ff835bb STYLE: Nightly Date Stamp 2009-02-08 00:01:05 -05:00
Brad King 640fd4a528 STYLE: Nightly Date Stamp 2009-02-07 00:01:08 -05:00
Brad King f35c0c2a17 BUG: Fix OS X FW symlink byproduct dependencies
When testing whether to re-run CMake, a byproduct may be a symlink.  If
so, the existence of the link is important rather than the link's
target.  See issue #8465.
2009-02-06 11:49:00 -05:00
Brad King 2282748907 BUG: Fix OS X AppBundle/FW byproducts dependencies
App Bundle and Framework directories, symlinks, and Info.plist files we
create during generation are byproducts, not outputs.  We should re-run
CMake only when they are missing, not when they are old.
See issue #8465.
2009-02-06 11:18:56 -05:00
Brad King 81601796a6 COMP: Avoid parameter/member shadow in cmXMLSafe
A cmXMLSafe constructor named its parameter 'str' which shadowed the
name of the 'str' method.  This renames the parameter to avoid the
conflict warning.
2009-02-06 09:08:02 -05:00
Brad King 67671ac400 BUG: Do not re-generate after a AppBundle build
A previous change accidentally added the MacOS content directory and
Info.plist files created for MACOSX_BUNDLE executables to the list of
CMake input files.  This causes CMake to re-generate the project too
often.  These items should be added to the list of CMake output files.
2009-02-06 09:03:27 -05:00
Brad King 16fe328dfc BUG: Alternative fix to bug #8423
The patch used to fix this bug used SystemTools::GetRealPath which works
only for existing files.  It broke the case of using the command
get_filename_component for a non-existing file.  Also, it changed
long-standing behavior in a possibly incompatible way even for existing
files.  This reverts the original fix and instead updates the
documentation to be consistent with the behavior.
2009-02-06 08:33:52 -05:00
Brad King 0499ca66aa ENH: Clarify cmake_policy(VERSION) documentation
The previous documentation could be interpreted as setting policies
newer than the given version to OLD instead of unset.  This clarifies
it.
2009-02-06 08:15:05 -05:00
Brad King 8dfb99c660 STYLE: Nightly Date Stamp 2009-02-06 00:01:04 -05:00
Brad King 63d718e9f2 COMP: Avoid warning about signed-char comparison
On some compilers 'char' is signed and is therefore always equal to or
less than 0x7f.  In order to avoid the compiler warning we perform the
comparison with an unsigned char type.
2009-02-05 17:09:28 -05:00
Brad King dc13914cd6 ENH: Create cmXMLSafe to help escapes in XML
This class provides easy syntax to efficiently insert blocks of data
into XML documents with proper escapes.  It replaces the old
cmCTest::MakeXMLSafe and cmSystemTools::MakeXMLSafe methods which
allocated extra memory instead of directly streaming the data.
2009-02-05 16:31:37 -05:00
Brad King f16a471576 STYLE: Nightly Date Stamp 2009-02-05 00:01:12 -05:00
Brad King d18ae05da1 ENH: Re-order generation of build summary and xml
This moves the error/warning count summary printed by
cmCTestBuildHandler to after Build.xml is generated.  Later we will
compute the counts during generation of the xml.
2009-02-04 14:34:25 -05:00
Brad King 5f65e04ea2 ENH: Refactor Build.xml generation
This divides cmCTestBuildHandler::GenerateDartBuildOutput into three
methods to generate the header, content, and footer components of
Build.xml files.  It will allow the content generation to be replaced
later.
2009-02-04 14:34:12 -05:00
David Cole c6d499aba5 COMP: Iterator version of std::set not available with vs6 implementation of STL. Use explicit iteration to insert individual elements one at a time. Sigh. 2009-02-04 12:38:03 -05:00
Brad King a27e9ca4a2 BUG: Fix old-style install to prefix top
The old install_files, install_programs, and install_targets commands
used to permit installation to the top of the prefix by specifying
destination '/'.  This was broken in 2.6.0 to 2.6.2 by changes to
enforce valid destinations that did not account for this case.  This
change fixes the case by converting the install destination to '.' which
is the new-style way to specify the top of the installation prefix.
2009-02-04 10:34:10 -05:00
Brad King 2d662e0083 STYLE: Nightly Date Stamp 2009-02-04 00:01:12 -05:00
David Cole 6f88b29121 ENH: Add FILES arg to the ctest_submit command. BUG: Propagate the IsCDash setting properly to the ctest configuration during a submit. Also, do not propagate TriggerSite for projects submitting to CDash. No triggers are necessary with CDash. 2009-02-03 11:52:54 -05:00
Bill Hoffman a1d7f82d68 ENH: fix dynamic loading on haiku 2009-02-03 11:27:08 -05:00
Brad King feafe2abee STYLE: Nightly Date Stamp 2009-02-03 00:01:13 -05:00
Brad King 084e5a5e9e BUG: Fix preprocess and assembly rule expansion
The recent change to avoid expanding rule variables in informational and
'cd' commands broke the logical order in generation of preprocess and
assembly rules.  This corrects the order.
2009-02-02 14:36:53 -05:00
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