| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
It seems that
while(i=file.get(), file)
iterates one character too much on HP-UX, let's see whether
while(file.get(c))
works, at least this is given as example on http://h30097.www3.hp.com/cplus/ifstream_3c__std.htm
Alex
|
|
|
|
| |
Alex
|
|
|
|
|
| |
The default cmFileCopier::ReportCopy implementation is empty, so we
should leave out the argument names.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This improves the error message produced during installation when CMake
cannot set file modification time or permissions.
|
|
|
|
|
| |
This teaches the undocumented file(INSTALL) command to report an error
when it cannot create the destination directory.
|
|
|
|
|
|
| |
This simplifies cmFileInstaller internally by storing the 'always' mark
as an instance variable instead of passing it through all method
signatures.
|
|
|
|
| |
This cleans up the cmFileInstaller constructor signature.
|
|
|
|
|
|
| |
While copying a directory the destination must have owner rwx
permissions. This corrects our check, this time with correct operator
precedence using parenthesis.
|
|
|
|
|
| |
The undocumented file(INSTALL) command used to support a PROPERTIES
option, but no install code still uses it. This removes the option.
|
|
|
|
|
| |
While copying a directory the destination must have owner rwx
permissions. This corrects our check.
|
|
|
|
|
| |
This creates command "file(RENAME <oldname> <newname>)" to rename a file
or directory within a single disk volume.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This new command will be used by generated installation scripts to
determine whether an already-installed export file has changed.
|
|
|
|
|
|
|
|
|
| |
When CMake 2.4 generates the build tree for CMake itself it asks the
built CMake to install itself using the rules that 2.4 generated. Since
the install rules use undocumented commands that are not compatible from
2.4 to 2.6 we need a special case to avoid failure. This sets a special
indicator variable in the install rules that enables a compatibility
hack to support the old install rule format.
|
|
|
|
|
|
| |
The internal file(INSTALL) command argument parsing used several
booleans with at most one set to true at a time to track argument
parsing state. This refactors it to use one enumeration.
|
|
|
|
| |
rule. If the source file was read-only, this prevents the subsequent set of the destination file's modification time, making the copied file always different in time-stamp than the original and always installing a new file with a new time stamp (but the same content) causing unnecessary downstream incremental rebuilds. As part of this fix, add an optional copyPermissions parameter to the SystemTools routines CopyFileIfDifferent, CopyFileAlways, CopyAFile and CopyADirectory. The copyPermissions parameter defaults to true to preserve the behavior of these routines for existing callers.
|
|
|
|
| |
CMP0009 establishes NEW default behavior of not recursing through symlinks. OLD default behavior or explicit FOLLOW_SYMLINKS argument to FILE GLOB_RECURSE will still recurse through symlinks.
|
|
|
|
| |
Exposes the recently added kwsys capability that prevents recursing through symlinks to CMake scripts.
|
| |
|
|
|
|
|
| |
- Original patch from Alex.
- Modified to print only when RPATH is actually set.
|
|
|
|
|
| |
- Previous change added form-feed as a string terminator.
- Instead it should just be recognized as a valid string character.
|
|
|
|
| |
(PGI).
|
|
|
|
|
|
|
|
|
|
|
|
| |
- CMake 1.8 and below did not do the check but could get in
infinite loops due to the local generate step.
- CMake 2.0 added the check but failed to perform it in directories
with no targets (see bug #678).
- CMake 2.2 removed the local generate which fixed the problem but
did not remove the check.
- Between CMake 2.4 and 2.6.0rc6 the check was fixed to work even
when no targets appear in a directory (see bug #6923).
- Bottom line: the check is no longer needed.
|
|
|
|
|
|
|
| |
- If new RPATH is empty then remove the entry completely
- Preserve file modification time so installation is not repeated
- If installed file already exists remove it if its RPATH
does not match that expected
|
|
|
|
| |
RPATH.
|
|
|
|
| |
enclosing folder
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Move computation of extended build-tree rpath
to cmComputeLinkInformation
- Only enable the extended build-tree rpath if
the target will be installed
- Generalize the interface of file(CHRPATH)
- When changing the rpath on installation only
replace the part generated by CMake because
the native tools (ex SunCC on Linux) might have
added their own part to the rpath
|
|
|
|
|
|
|
|
|
|
| |
- Add cmSystemTools::ChangeRPath method
- Add undocumented file(CHRPATH) command
- When installing use file(CHRPATH) to change the rpath
instead of relinking
- Remove CMAKE_CHRPATH lookup from CMakeFindBinUtils
- Remove CMAKE_USE_CHRPATH option since this should
always work
|
| |
|
|
|
|
| |
string
|
| |
|
| |
|
|
|
|
| |
invocation signature to be able to return extra informaiton via the cmExecutionStatus class
|
|
|
|
|
|
|
|
|
|
| |
with cmake cvs without this patch an invalid cmake_install.cmake script was
generated in this case, it failed with an error if no files were given. So
just do nothing if no files are listed to make it compatible.
http://lists.kde.org/?l=kde-commits&m=119965185114478&w=2
Alex
|
|
|
|
| |
differ at all rather than only if the source file is newer. Users expect installation to overwrite destination files. This addresses the re-opening of bug#3349.
|
| |
|
|
|
|
| |
Alex
|
|
|
|
|
|
|
|
|
| |
offset can be specified where the reading starts, and using HEX the data can
be converted into a hex string, so binary data can be compared with text
functions
-add docs for LIMIT, OFFSET and HEX
Alex
|
|
|
|
| |
install a tree of header files while ignoring non-headers.
|
|
|
|
| |
installed file. Install the file only if the destination is older than the source. Set the file times on the installed file to match those of the source file. This should greatly improve the speed of repeated installations because it removes the comparison of file contents. This addresses bug#3349.
|
|
|
|
| |
Alex
|
| |
|
|
|
|
| |
and per-configuration testing is now done in cmake code instead of in the FILE(INSTALL) command. The generation of the cmake code to do these tests is centralized in cmInstallGenerator. Old-style shared library versioning and component/config support code has been removed from FILE(INSTALL). This commit is surrounded by the tags CMake-InstallGeneratorCleanup2-pre and CMake-InstallGeneratorCleanup2-post.
|