Tru64's make(1) resolves relative paths in "include" directives with
respect to the includer. This is inconsistent with all other known make
tools. Note that this make tool treats the path literally so we cannot
use our standard FULL path code which escapes spaces. Instead qualify
the paths with $(CMAKE_BINARY_DIR) to avoid the problem.
The bootstrap script works under MSYS, so test it. Use a launcher batch
file since 'ctest --build-and-test' is a Windows program and will not
honor the shebang line in the script.
GCC places the vtable in the object implementing the first non-pure,
non-inline virtual method. Since the symbol is not weak on Tru64, make
the location unique by putting the destructor in a single object file.
The DynamicLoader::LibPrefix and DynamicLoader::LibExtension methods
previously hard-coded the module name components for each platform. Set
them from the CMAKE_SHARED_MODULE_PREFIX and CMAKE_SHARED_MODULE_SUFFIX
CMake variables instead. This ensures consistency in a program that
uses these methods to construct the file names for its own modules.
Even though this test is checking that the ctest running it can handle
test output without newlines we should run the just-built CMake binary.
This allows the MemCheck test mode to check the correct CMake.
See http://public.kitware.com/Bug/view.php?id=10346.
The proposed patch for the issue could not be applied as is
because the SOURCE_DIR always exists for an ExternalProject_Add
call by the time we get to the place to emit the potential error.
The fix is to emit the error only if the source dir is empty.
By which, I mean devoid of files and subdirectories. If
SOURCE_DIR is used by itself, without any DOWNLOAD_COMMAND
or repository info, then it implies that the SOURCE_DIR is ready
to build as-is without need for a download step. Clearly, if it
is empty, then it is not ready to build as is. So complain if
the SOURCE_DIR is empty.
Override CMAKE_DOC_DIR and CMAKE_DATA_DIR cache entries on Cygwin early
enough so the new values are used everywhere. Previously only some of
the uses were overridden. Also set CPACK_PACKAGE_VERSION to the whole
CMake_VERSION so that the Cygwin MANIFEST file goes in the proper path.
The warning appears everywhere we use static_cast to explicitly truncate
an integer width. It appears in the form
cc-3968 CC: WARNING File = ..., Line = ...
implicit conversion of a 64-bit integral type to a smaller
integral type (potential portability problem)
static_cast<...>(...);
^
which is strange because a "static_cast" is not implicit. It also
appears in system library code.