Commit Graph

9922 Commits

Author SHA1 Message Date
Brad King aa75ccefbe STYLE: Nightly Date Stamp 2009-06-21 00:01:03 -04:00
Brad King 18da042859 STYLE: Nightly Date Stamp 2009-06-20 00:01:02 -04:00
Brad King 1beb41a898 STYLE: Nightly Date Stamp 2009-06-19 00:01:37 -04:00
Brad King 3437b1342f STYLE: Nightly Date Stamp 2009-06-18 00:01:04 -04:00
Brad King 36366beb62 ENH: Improve CMP0012 doc and message formatting
This fixes the CMP0012 description to have a one-line summary in the
'brief' section and the rest of the explanation in the 'full' section.
It makes the warning message shorter and improves formatting of the
policy documentation, especially in the HTML pages.  The convention is
already used by all other policies.
2009-06-17 14:18:14 -04:00
Brad King 3c856405e4 ENH: Improve format of if() command messages
Errors and warnings from the if() command always display the argument
list given to the command followed by an explanation of the problem.
This moves the argument list into a pre-formatted block and follows it
with a paragraph-form explanation.  The result looks cleaner.
2009-06-17 14:18:08 -04:00
Brad King c790b1fabb ENH: Create CMP0013 to disallow duplicate dirs
In CMake 2.6.3 and below we silently accepted duplicate build
directories whose build files would then conflict.  At first this was
considured purely a bug that confused beginners but would not be used in
a real project.  In CMake 2.6.4 we explicitly made it an error.

However, some real projects took advantage of this as a "feature" and
got lucky that the subtle build errors it can cause did not occur.
Therefore we need a policy to deal with the case more gracefully.
See issue #9173.
2009-06-17 13:40:09 -04:00
Brad King f61f8e5383 STYLE: Nightly Date Stamp 2009-06-17 00:01:03 -04:00
Brad King 962bbbec95 BUG: Create an exe's implib output dir for VS 6
VS 6 forgets to create the output directory for an executable's import
library in case the exe dllexport-s symbols.  We work around this VS bug
by creating a pre-link event on the executable target to make the
directory.
2009-06-16 11:57:23 -04:00
Brad King 5129c23cba ENH: Refactor VS 6 build event generation
In cmLocalVisualStudio6Generator we generate pre-build, pre-link, and
post-build events into project files.  This refactors the generation
code for the three event types into a private EventWriter class to avoid
duplicate code.
2009-06-16 11:57:18 -04:00
Brad King 66189b0b79 ENH: Create exe implib dir in VS pre-link rule
This moves creation of an executable's import library directory in VS
projects from the pre-build step to the pre-link step.  It makes sense
to create the directory at the last moment.
2009-06-16 11:44:19 -04:00
Brad King 764ac9803d ENH: Generalize exe implib dir creation for VS
In VS 7,8,9 executable targets we generate a build event to create the
output directory for the import library in case the executable marks
symbols with dllexport (VS forgets to create this directory).  This
generalizes computation of the custom command line to support future use
with other VS versions.
2009-06-16 11:44:07 -04:00
Brad King 0f490cf025 STYLE: Nightly Date Stamp 2009-06-16 00:01:04 -04:00
Brad King 8fcde75e88 ENH: Simplify docs args for define_property
This teaches the define_property command signature to accept multiple
arguments after the BRIEF_DOCS and FULL_DOCS keywords.  We append the
arguments together, making specification of long documentation easier.
2009-06-15 16:12:27 -04:00
Bill Hoffman 0e85c8b6a1 STYLE: fix warning 2009-06-15 14:22:13 -04:00
Bill Hoffman 15ad6db170 BUG: fix crash when running ctest coverage for VTK 2009-06-15 13:51:07 -04:00
Ken Martin 3dadbdf3fd COMP: fix line length 2009-06-15 12:33:21 -04:00
Brad King f4b3bdc6be BUG: Create an exe's implib output dir for VS
If an executable marks symbols with __declspec(dllexport) then VS
creates an import library for it.  However, it forgets to create the
directory that will contain the import library if it is different from
the location of the executable.  We work around this VS bug by creating
a pre-build event on the executable target to make the directory.
2009-06-15 10:55:21 -04:00
Brad King d30923d631 STYLE: Nightly Date Stamp 2009-06-15 00:01:05 -04:00
Brad King 8cade78bea STYLE: Nightly Date Stamp 2009-06-14 00:01:01 -04:00
Brad King 70f6f173bd STYLE: Nightly Date Stamp 2009-06-13 00:01:04 -04:00
Brad King 219626a2be COMP: Do not compile VMS-specific code on non-VMS
This helps avoid fixing VMS-specific code for non-VMS compilers where it
isn't needed anyway.
2009-06-12 15:44:50 -04:00
Brad King 4a9dd4aad4 ENH: Refactor VS 7,8,9 build event generation
In cmLocalVisualStudio7Generator we generate pre-build, pre-link, and
post-build events into project files.  This refactors the generation
code for the three event types into a private EventWriter class to avoid
duplicate code.
2009-06-12 15:28:48 -04:00
Francois Bertel 17daa9398a COMP:Fixed warning with gcc 4.3.3: passing argument 1 of kwsysProcessSetVMSFeature discards qualifiers from pointer target type. 2009-06-12 13:33:35 -04:00
Ken Martin 133a778e2d ENH: clean up some help text 2009-06-12 13:25:50 -04:00
Ken Martin f50cf4f60d ENH: warning fix 2009-06-12 11:10:26 -04:00
Brad King e02d66e89e COMP: Block warnings in Borland system headers
In Release builds the Borland compiler warns about code in its own
system headers.  This blocks the warnings by disabling them where the
headers are included.
2009-06-12 11:05:02 -04:00
Brad King f5a86a83d3 ENH: Use KWSys String strcasecmp to parse Fortran
This replaces the Fortran dependency parser source's custom strcasecmp
implementation with one from KWSys String.  It removes duplicate code
and avoids a Borland warning about inlining functions with 'while'.
2009-06-12 10:46:25 -04:00
Brad King 74c385e702 COMP: Avoid double-initialization in KWSys String
The KWSys String implementation of strcasecmp initialized 'result'
immediately before assigning to it.  Borland produces a warning in this
case, so this commit removes the extra initialization.
2009-06-12 10:46:16 -04:00
Brad King 590a0c809e COMP: Remove useless assignment in Fortran lexer
The generated Fortran dependency scanning lexer includes an assignment
to a local variable that is unused.  Borland warns, so we remove the
assignment.
2009-06-12 10:46:03 -04:00
Ken Martin a73071ca17 ENH: modified the if command to address bug 9123 some 2009-06-12 10:07:05 -04:00
Brad King 7e03edf1df STYLE: Nightly Date Stamp 2009-06-12 00:01:02 -04:00
Bill Hoffman 8446a48054 ENH: use .exe on vms 2009-06-11 15:25:48 -04:00
Brad King 0d31c3aafb BUG: Do not create empty build-tree RPATH
The fix for issue #9130 appends ':' to the end of the build-tree RPATH
unconditionally.  This changes the fix to add ':' only when the RPATH is
not empty so that we do not create a build-tree RPATH with just ':'.  An
empty RPATH produces no string at all, so there is no chance of merging
with a symbol name anyway.
2009-06-11 14:57:47 -04:00
Brad King 8f5af6172a ENH: Disable the xmlrpc drop method by default
We've chosen to drop our default dependence on xmlrpc.  Thus we disable
the corresponding CTest submission method and remove the sources for
building xmlrpc locally.  Users can re-enable the method by setting the
CTEST_USE_XMLRPC option to use a system-installed xmlrpc library.
2009-06-11 11:24:56 -04:00
Brad King f0ab852000 COMP: Fix build with system-installed expat 2.0.1
In cmXMLParser::ReportXmlParseError we were accidentally passing a value
of type 'XML_Parser*' to expat methods instead of 'XML_Parser'.  It was
not caught because XML_Parser was just 'void*' in the cmexpat version.
Newer system-installed expat versions catch the error because XML_Parser
is now a pointer to a real type.  This correct the type.
2009-06-11 09:03:56 -04:00
Brad King 60bfa0ad3f STYLE: Nightly Date Stamp 2009-06-11 00:01:03 -04:00
Brad King d6dd3e91a4 BUG: Do not mangle symbols when editing RPATHs
In ELF binaries the .dynstr string table is used both for the RPATH
string and for program symbols.  If a symbol name happens to match the
end of the build-tree RPATH string the linker is allowed to merge the
symbols.

We must not allow this when the RPATH string will be replaced during
installation because it will mangle the symbol.  Therefore we always pad
the end of the build-tree RPATH with ':' if it will be replaced.  Tools
tend not to use ':' at the end of symbol names, so it is unlikely to
conflict.  See issue #9130.
2009-06-10 14:11:40 -04:00
Brad King 42c4a1d71f ENH: Document variable CMAKE_NO_BUILTIN_CHRPATH
This adds documentation for the variable which was previously missing.
See issue #9130.
2009-06-10 14:11:20 -04:00
Brad King 41b0f92c6a ENH: Enable basic OpenVMS platform support
This adds the Modules/Platform/OpenVMS.cmake platform file for OpenVMS.
We just use Unix-like rules to work with the GNV compiler front-end.

A problem with process execution currently prevents CMake link scripts
from working, so we avoid using them.
2009-06-10 13:04:04 -04:00
Brad King c8795101a4 ENH: Skip 'SHELL = /bin/sh' in Makefiles on VMS
This shell does not exist on VMS, so we leave it out.
2009-06-10 13:03:37 -04:00
Brad King 516add4d58 ENH: On VMS use _dir and _tmp, not .dir and .tmp
The VMS posix path emulation does not handle multiple '.' characters in
file names in all cases.  This avoids adding extra '.'s to file and
directory names for target directories and generated files.
2009-06-10 13:03:11 -04:00
Brad King fc537f05ba ENH: Teach KWSys SystemTools about VMS paths
This teaches ConvertToUnixSlashes to convert VMS paths into posix-style
paths.  We also set the DECC$FILENAME_UNIX_ONLY feature so the process
always sees posix-style paths on disk.
2009-06-10 13:02:48 -04:00
Brad King b5394e9600 BUG: Avoid std::unique algorithm on VMS
The Compaq compiler's std::unique algorithm followed by deletion of the
extra elements seems to crash.  For now we'll accept the duplicate
dependencies on this platform.
2009-06-10 13:02:18 -04:00
Brad King 312ca9670f ENH: Teach KWSys Process basic VMS support
This achieves basic process execution on OpenVMS.  We use work-arounds
for different fork()/exec() behavior and a lack of select().

VMS emulates fork/exec using setjmp/longjmp to evaluate the child and
parent return cases from fork.  Therefore both must be invoked from the
same function.

Since select() works only for sockets we use the BeOS-style polling
implementation.  However, non-blocking reads on empty pipes cannot be
distinguished easily from the last read on a closed pipe.  Therefore we
identify end of data by an empty read after the child terminates.
2009-06-10 11:48:34 -04:00
Brad King 1eec4fe6ad BUG: Fix non-select process impl without timeout
This avoids use of an uninitialized value in the KWSys ProcessUNIX
polling implementation when no timeout is given.
2009-06-10 11:46:21 -04:00
Brad King 776e21d1c7 COMP: Avoid String.c inclusion by Compaq templates
The Compaq compiler (on VMS) includes 'String.c' in source files that
use the stl string while looking for template definitions.  This was the
true cause of double-inclusion of the 'kwsysPrivate.h' header.  We work
around the problem by conditionally compiling the entire source file on
a condition only true when really building the source.
2009-06-10 11:46:06 -04:00
Brad King 7a839be972 STYLE: Nightly Date Stamp 2009-06-10 00:01:34 -04:00
Bill Hoffman fc9e6c6e5c STYLE: suppress warnings for borland 2009-06-09 15:58:52 -04:00
Bill Hoffman 89b431e8ac STYLE: suppress warnings for borland 2009-06-09 15:44:46 -04:00
Bill Hoffman b81f09e341 STYLE: suppress warnings for borland 2009-06-09 15:18:51 -04:00
Brad King 0dc49a840e STYLE: Nightly Date Stamp 2009-06-09 00:01:08 -04:00
Brad King fc025061ca STYLE: Nightly Date Stamp 2009-06-08 00:01:02 -04:00
Brad King 4c6945630c STYLE: Nightly Date Stamp 2009-06-07 00:01:03 -04:00
Brad King 43cd8555cc STYLE: Nightly Date Stamp 2009-06-06 00:01:02 -04:00
Dave Partyka cbc1938ee3 COMP: Hopefully fix hashmap on VS6, Thanks Brad K! 2009-06-05 14:59:47 -04:00
Bill Hoffman 0de79d4b2d ENH: fix warning on borland 2009-06-05 13:17:01 -04:00
Bill Hoffman fdff8eb300 ENH: move PutEnv to SystemTools 2009-06-05 12:01:30 -04:00
Brad King d5f8020391 STYLE: Nightly Date Stamp 2009-06-05 00:01:04 -04:00
Brad King 36288f41b5 STYLE: Nightly Date Stamp 2009-06-04 00:01:03 -04:00
Brad King d2b108150f BUG: Recognize .so shared libraries on HP-UX
HP-UX uses both .sl and .so as extensions for shared libraries.  This
teaches CMake to recognize .so shared libraries so they are treated
properly during link dependency analysis.
2009-06-03 15:08:30 -04:00
Brad King 1d3320f126 STYLE: Nightly Date Stamp 2009-06-03 00:01:04 -04:00
Brad King a8893fd64a STYLE: Nightly Date Stamp 2009-06-02 00:01:10 -04:00
Brad King 0067c3eb80 STYLE: Nightly Date Stamp 2009-06-01 00:01:02 -04:00
Brad King a193331016 STYLE: Nightly Date Stamp 2009-05-31 00:01:07 -04:00
Brad King 3f6aa94161 STYLE: Nightly Date Stamp 2009-05-30 00:01:02 -04:00
Brad King 2222148ce1 STYLE: Nightly Date Stamp 2009-05-29 00:01:03 -04:00
Brad King 6fcaaf46c4 STYLE: Nightly Date Stamp 2009-05-28 00:01:02 -04:00
Bill Hoffman bd1e91a460 BUG: fix for bug #8153 add purify suppression file and fix output to not be one big line 2009-05-27 11:14:08 -04:00
Bill Hoffman ca68d116e0 ENH: fix for building with VS 2010 make/nmake 2009-05-27 11:10:43 -04:00
Brad King b745f4457e STYLE: Nightly Date Stamp 2009-05-27 00:01:06 -04:00
Brad King 143bbaa2a9 STYLE: Nightly Date Stamp 2009-05-26 00:01:07 -04:00
Brad King 23f918d303 STYLE: Nightly Date Stamp 2009-05-25 00:01:07 -04:00
Brad King f56890f0dc STYLE: Nightly Date Stamp 2009-05-24 00:01:32 -04:00
Brad King 378aeaad58 STYLE: Nightly Date Stamp 2009-05-23 00:01:06 -04:00
Brad King 8f9b3c49ed STYLE: Nightly Date Stamp 2009-05-22 00:01:03 -04:00
Brad King 814858de7b STYLE: Nightly Date Stamp 2009-05-21 00:01:18 -04:00
Bill Hoffman 5634ca02f4 ENH: make this work for older versions of OSX 2009-05-20 09:50:20 -04:00
Brad King da21a4c4fb STYLE: Nightly Date Stamp 2009-05-20 00:01:08 -04:00
Bill Hoffman bb7230cc96 ENH: revert back because it does not build on older macs for now 2009-05-19 21:50:19 -04:00
Bill Hoffman 46a20bbd4c ENH: remove warning 2009-05-19 16:56:47 -04:00
Bill Hoffman 4220e7c62c ENH: make this build on other machines besides the mac 2009-05-19 16:46:24 -04:00
Bill Hoffman ee3d395fde ENH: fix system info for mac 2009-05-19 16:35:57 -04:00
Bill Hoffman d3d33a3549 ENH: fix system info for mac 2009-05-19 16:35:13 -04:00
Bill Hoffman 9c2dcf4836 BUG: fix for #0009051 CMake does not pass CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET when running TRY_COMPILE 2009-05-19 11:25:28 -04:00
Brad King 831ca4f57c STYLE: Nightly Date Stamp 2009-05-19 00:01:14 -04:00
Alexander Neundorf 97516244f5 STYLE: fix docs: it must replace "find_path" instead of "FIND_PATH" with
"find_file", otherwise the docs talk about find_path() instead of find_file
(patch from  Michael Wild, #9047)

Alex
2009-05-18 15:27:33 -04:00
Brad King 55c4cbbae9 BUG: Parse more bzr xml output encodings
The BZR xml output plugin can use some encodings that are not recognized
by expat, which leads to "Error parsing bzr log xml: unknown encoding".
This works around the problem by giving expat a mapping, and adds a
test.  Patch from Tom Vercauteren.  See issue #6857.
2009-05-18 10:34:35 -04:00
Brad King a40bca5398 STYLE: Nightly Date Stamp 2009-05-18 00:01:08 -04:00
Brad King 1eaa47dc16 STYLE: Nightly Date Stamp 2009-05-17 00:01:02 -04:00
Brad King 97d2606fc1 STYLE: Nightly Date Stamp 2009-05-16 00:01:02 -04:00
Brad King 2bb13f2ca5 ENH: Remove CTest public.kitware.com drop default
Previously CTest would drop dashboard submissions at public.kitware.com
on the PublicDashboard project if there was no configuration.  The
server no longer supports forwarding to cdash.org, so there is no point
in this default.  Furthermore, there should be no default at all because
it could leak information about proprietary projects that are not
configured correctly.
2009-05-15 15:39:43 -04:00
Brad King 6d357676d9 STYLE: Nightly Date Stamp 2009-05-15 00:01:03 -04:00
Brad King a524e07152 ENH: Teach CTest to handle Bazaar repositories
This creates cmCTestBZR to drive CTest Update handling on bzr-based work
trees.  Currently we always update to the head of the remote tracking
branch (bzr pull), so the nightly start time is ignored for Nightly
builds.  A later change will address this.  Patch from Tom Vercauteren.
See issue #6857.
2009-05-14 16:13:52 -04:00
Brad King ee43a12178 ENH: Make CMAKE_<LANG>_SIZEOF_DATA_PTR public
The variable was previously documented for internal-use only.  This
officially documents it for general use by projects.
2009-05-14 09:27:32 -04:00
Brad King 248bdadd94 STYLE: Simplify and document VMS workarounds
The kwsysPrivate header double-inclusion check hits a false positive on
VMS for an undetermined reason.  This simplifies the workaround and
documents it.
2009-05-14 09:27:02 -04:00
Brad King 317b3a0ef8 STYLE: Remove trailing whitespace 2009-05-14 09:26:47 -04:00
Brad King 66a92954ee STYLE: Nightly Date Stamp 2009-05-14 00:01:04 -04:00
Bill Hoffman 0a7ec1a4b6 BUG: fix for #9014, FATAL_ERROR not ending loops 2009-05-13 11:08:29 -04:00
Brad King cecfce23a5 BUG: Fix removal of read-only directories
Read-only directories must be given write permission before we can
remove files and subdirectories from them.
2009-05-13 10:30:33 -04:00
Brad King 39c7fc97f0 STYLE: Nightly Date Stamp 2009-05-13 00:01:07 -04:00
Brad King b3269b089c STYLE: Nightly Date Stamp 2009-05-12 00:01:09 -04:00
Brad King a045bd4c0d COMP: Avoid operator precedence warning
GCC warns that parens should be used for nested and/or operators.
2009-05-11 13:58:19 -04:00
Brad King 80c66c05e7 STYLE: Nightly Date Stamp 2009-05-11 00:01:05 -04:00
Alexander Neundorf ad194e659f STYLE: cacheStart is used only locally in the if-branch
Alex
2009-05-10 16:07:34 -04:00
Alexander Neundorf 2ab4e7df81 BUG: don't report changed compiler variables if the path to the compiler
differs only e.g. a double slash somewhere instead only one slash as
directory separator (#8890)

Alex
2009-05-10 05:29:10 -04:00
Brad King f114e68f7a STYLE: Nightly Date Stamp 2009-05-10 00:01:17 -04:00
Alexander Neundorf fdd93f0cbe STYLE: document CMAKE_INCLUDE_CURRENT_DIR
Alex
2009-05-09 17:25:21 -04:00
Brad King 9a3c5338fb STYLE: Nightly Date Stamp 2009-05-09 00:01:06 -04:00
Brad King 55e91d3e46 STYLE: Nightly Date Stamp 2009-05-08 00:01:02 -04:00
Bill Hoffman d2bfac93f3 ENH: add docs for command line ctest 2009-05-07 18:22:54 -04:00
Bill Hoffman 00c253847a BUG: 8898 fix date in ctest nightly time 2009-05-07 18:20:42 -04:00
Brad King 028c52841a STYLE: Nightly Date Stamp 2009-05-07 00:01:13 -04:00
Brad King c2cb8a213c STYLE: Nightly Date Stamp 2009-05-06 00:01:05 -04:00
Brad King e9f2c6f7d7 STYLE: Nightly Date Stamp 2009-05-05 00:01:03 -04:00
Brad King 1ce218afd3 STYLE: Nightly Date Stamp 2009-05-04 00:01:03 -04:00
Brad King 783a6cadc8 STYLE: Nightly Date Stamp 2009-05-03 00:01:03 -04:00
Brad King d8b1717492 STYLE: Nightly Date Stamp 2009-05-02 00:01:04 -04:00
Brad King 392b38cef7 ENH: Remove cmTarget internal type arguments
Internally cmTarget was passing the target type in several name
computation signatures to support computation of both shared and static
library names for one target.  We no longer need to compute both names,
so this change simplifies the internals by using the GetType method and
dropping the type from method signatures.
2009-05-01 10:39:44 -04:00
Brad King bcb9a479db ENH: Remove cmTarget::GetExecutableCleanNames
This method was redundant with GetExecutableNames.
2009-05-01 10:39:28 -04:00
Brad King 430cc2b4b7 ENH: Always imply CLEAN_DIRECT_OUTPUT target prop
This property was left from before CMake always linked using full path
library names for targets it builds.  In order to safely link with
"-lfoo" we needed to avoid having both shared and static libraries in
the build tree for targets that switch on BUILD_SHARED_LIBS.  This meant
cleaning both shared and static names before creating the library, which
led to the creation of CLEAN_DIRECT_OUTPUT to disable the behavior.

Now that we always link with a full path we do not need to clean old
library names left from an alternate setting of BUILD_SHARED_LIBS.  This
change removes the CLEAN_DIRECT_OUTPUT property and instead uses its
behavior always.  It removes some complexity from cmTarget internally.
2009-05-01 10:38:35 -04:00
Brad King 2740db5ede ENH: Allow more specification of target file names
This creates target properties ARCHIVE_OUTPUT_NAME, LIBRARY_OUTPUT_NAME,
and RUNTIME_OUTPUT_NAME, and per-configuration equivalent properties
ARCHIVE_OUTPUT_NAME_<CONFIG>, LIBRARY_OUTPUT_NAME_<CONFIG>, and
RUNTIME_OUTPUT_NAME_<CONFIG>.  They allow specification of target output
file names on a per-type, per-configuration basis.  For example, a .dll
and its .lib import library may have different base names.

For consistency and to avoid ambiguity, the old <CONFIG>_OUTPUT_NAME
property is now also available as OUTPUT_NAME_<CONFIG>.

See issue #8920.
2009-05-01 09:45:43 -04:00
Brad King 617eb981d4 ENH: Refactor target output file type computation
This creates method cmTarget::GetOutputTargetType to compute the output
file type 'ARCHIVE', 'LIBRARY', or 'RUNTIME' from the platform and
target type.  It factors out logic from the target output directory
computation code for later re-use.
2009-05-01 09:45:19 -04:00
Brad King 5f7ea11f97 STYLE: Nightly Date Stamp 2009-05-01 00:01:02 -04:00
Brad King 7159bacdd9 STYLE: Nightly Date Stamp 2009-04-30 00:01:10 -04:00
Brad King 01c669e643 COMP: Avoid unused arg warnings in cmFileCommand
The default cmFileCopier::ReportCopy implementation is empty, so we
should leave out the argument names.
2009-04-29 14:50:28 -04:00
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