Commit Graph

9675 Commits

Author SHA1 Message Date
Brad King d3679610c6 COMP: Quiet aggressive Borland warnings in KWSys
This disables Borland warning 8027 while compiling KWSys source files.
It provides no useful information.
2009-06-22 14:19:22 -04:00
Brad King d445275ed0 COMP: Remove useless variable assignment
This removes an assignment whose result is never used, thus quieting a
warning from Borland.
2009-06-22 14:19:17 -04:00
Brad King d05a2baf6c STYLE: Nightly Date Stamp 2009-06-22 00:01:03 -04:00
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