David Cole
bd1935dcd1
ENH: Improve FILE GLOB_RECURSE handling of symlinks with a new CMake policy. 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.
2008-09-11 14:34:04 -04:00
David Cole
ccf603f0c2
ENH: Add the RECURSE_SYMLINKS_OFF flag to the FILE GLOB_RECURSE command. Exposes the recently added kwsys capability that prevents recursing through symlinks to CMake scripts.
2008-08-23 13:33:13 -04:00
Brad King
8063dd293e
ENH: Inform user when RPATH or RUNPATH is removed
2008-08-14 09:53:26 -04:00
Brad King
757875df91
ENH: Inform user when RPATH is set during installation.
...
- Original patch from Alex.
- Modified to print only when RPATH is actually set.
2008-05-27 10:22:03 -04:00
Brad King
b9ede3c86d
BUG: Fix previous change to file(STRINGS) command.
...
- Previous change added form-feed as a string terminator.
- Instead it should just be recognized as a valid string character.
2008-05-17 11:42:11 -04:00
Brad King
0c6ba12efd
ENH: Teach Fortran compiler identification about the Portland Group compiler (PGI).
2008-05-16 17:50:24 -04:00
Brad King
1381aab4b7
BUG: Remove check for files written by file(WRITE) being loaded.
...
- 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.
2008-04-30 13:42:40 -04:00
Brad King
fdc3bfff7c
ENH: Improve RPATH behavior during installation.
...
- 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
2008-04-14 15:02:44 -04:00
Brad King
c408760a8a
ENH: Improve error message when installation file(CHRPATH) cannot change the RPATH.
2008-04-07 10:55:52 -04:00
Bill Hoffman
45ce11a075
ENH: install the mac application bundle into /Applications directly with no enclosing folder
2008-04-04 16:02:50 -04:00
Sebastien Barre
cddb1346b7
BUG: the directory the FILE DOWNLOAD command is writing to might not exist.
2008-03-13 09:28:26 -04:00
Brad King
d732de4a8a
ENH: Cleanup builtin chrpath support
...
- 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
2008-03-02 14:35:23 -05:00
Brad King
34c76d4304
ENH: Use builtin chrpath instead of relinking ELF targets
...
- 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
2008-03-01 12:51:07 -05:00
Bill Hoffman
001d7fa348
ENH: add more information to message
2008-02-18 15:42:55 -05:00
Bill Hoffman
0bfad2946d
ENH: make sure files are binary for download and make status a pair of value string
2008-02-07 13:26:16 -05:00
Bill Hoffman
a752fc5e85
ENH: remove debug print stuff
2008-02-06 09:46:58 -05:00
Bill Hoffman
7dfcc3fc12
ENH: add DOWNLOAD option to FILE command
2008-02-06 09:35:02 -05:00
Ken Martin
0e69d38004
ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class
2008-01-23 10:28:26 -05:00
Alexander Neundorf
9f2790d3e7
BUG: with cmake 2.4 INSTALL_FILES() with no files was accepted by cmake,
...
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
2008-01-07 14:52:45 -05:00
Brad King
4e514a5e00
BUG: File installation should overwrite the destination if the file times 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.
2008-01-04 14:22:57 -05:00
Brad King
c61a3b6fe9
STYLE: Fix line-too-long.
2008-01-03 09:40:38 -05:00
Alexander Neundorf
b6918bd9a4
COMP: fix build on Windows with gcc, patch from Maik Beckmann
...
Alex
2008-01-03 04:19:30 -05:00
Alexander Neundorf
7b54af713d
ENH: add the keywords OFFSET and HEX to the FILE() command, using OFFSET an
...
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
2008-01-02 16:46:38 -05:00
Brad King
60bf0531b0
ENH: Added FILES_MATCHING option to INSTALL(DIRECTORY). This will help install a tree of header files while ignoring non-headers.
2008-01-02 15:17:56 -05:00
Brad King
a2b2742543
ENH: During file installation treat the source file as a dependency of the 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.
2007-10-05 09:46:28 -04:00
Alexander Neundorf
55303d6dd2
STYLE: fix line lengths
...
Alex
2007-07-20 08:36:16 -04:00
Brad King
e25dd3b903
COMP: Remove unused argument.
2007-07-02 16:04:15 -04:00
Brad King
7f29f8966d
ENH: Further cleanup of installation script generation. The per-component 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.
2007-07-02 14:56:57 -04:00
Brad King
c0d3ab2d2b
BUG: Need to compute the correct versioned name for executables on cygwin. This addresses bug#5238.
2007-06-27 16:10:39 -04:00
Alexander Neundorf
b956fc2406
STYLE: remove out commented code
...
Alex
2007-06-07 13:51:17 -04:00
Alexander Neundorf
55f11b348b
ENH: add option to FILE(STRINGS NO_HEX_CONVERSION) to disable automatic
...
conversion of hex and srec files to binary.
Without this automatic conversion, everywhere where a compiled file is parsed for strings the
a file(HEX2BIN somefile binfile) command has to be added otherwise it will
not work for these compilers. I tried this with DetermineCompiler and
CheckTypeSize and nobody will do this except the users who work with such
compilers. For them it will break if they don't add this conversion command
in all these places.
If FILE(STRINGS) is used with a text file, it
will in most cases still work as expected, since it will only convert hex
and srec files. If a user actually wants to get text out of hex files, he
knows what he's doing and will see the hint in the documentation.
Anyway, it should work without having to create a temporary file, will work
on this later.
Alex
2007-05-25 16:46:50 -04:00
Alexander Neundorf
f4eb541880
ENH: make the compiler id detection work, even if the output file name of
...
the compiler is completely unknown and even if it produces intel hex or
motorola s-record files, with test
Alex
2007-05-25 15:22:22 -04:00
Brad King
4259c7c1e4
COMP: Fix for borland now that components list check is const.
2007-05-19 09:55:18 -04:00
Alexander Neundorf
aee311a89d
STYLE: fix line lengths
...
Alex
2007-05-18 08:49:06 -04:00
Alexander Neundorf
61d3444f93
ENH: merge CMake-CrossCompileBasic to HEAD
...
-add a RESULT_VARIABLE to INCLUDE()
-add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain
-have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system)
-use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to
run the executables if they have a different suffix because they are
probably crosscompiled, but nevertheless it should be able to find them
-make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE
-support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.)
-move ranlib on OSX from the file command to a command in executed in cmake_install.cmake
-add support for stripping during install in cmake_install.cmake
-split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools
-remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms
-create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these
-add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a
list of directories which will be prepended to all search directories, right
now as a cmake variable, turning it into a global cmake property may need
some more work
-remove cmTestTestHandler::TryExecutable(), it's unused
-split cmFileCommand::HandleInstall() into slightly smaller functions
Alex
2007-05-17 13:20:44 -04:00
Brad King
6697979aaf
COMP: Avoid warning.
2007-04-26 09:56:04 -04:00
Brad King
0fb689973e
ENH: Added FILE(STRINGS) command.
2007-04-25 17:22:07 -04:00
Brad King
a017333d9a
ENH: Added option CMAKE_INSTALL_SO_NO_EXE on linux to choose whether the default permissions for shared libraries include the executable bit. This is necessary to support the conflicting policies of Debian and Fedora. These changes address bug#4805.
2007-04-10 11:22:15 -04:00
Brad King
e105c7fedc
BUG: Preserve symlinks during installation. This addresses bug#4384.
2007-03-12 14:15:25 -04:00
Ken Martin
fdbe20cf8b
COMP: fix warnings
2007-03-02 10:48:58 -05:00
Ken Martin
d223fc64ad
COMP: fix a compiel warning
2007-03-01 16:23:06 -05:00
Ken Martin
f8c982cf78
ENH: added LIMIT on file read
2007-03-01 15:53:09 -05:00
Brad King
27a67fb72f
ENH: Add support to INSTALL(DIRECTORY) to install an empty directory. This addresses bug#3572.
2006-08-29 15:04:29 -04:00
Brad King
2b602ea738
COMP: Need to use cmsys_stl when in CMake code, not kwsys_stl.
2006-08-27 13:15:39 -04:00
Brad King
b4e1de7886
BUG: Avoid putting double-slashes in fromFile during installation. Also added regex debugging copy of the expression in string form.
2006-08-25 12:11:21 -04:00
Brad King
c99dcc30be
BUG: Directory installation pattern matching should be case insensitive on some platforms.
2006-08-21 17:47:51 -04:00
Brad King
bed79f6c6b
ENH: Implemented INSTALL(DIRECTORY) command and added a test. Re-organized cmFileCommand's implementation of FILE(INSTALL) a bit to help out. This addresses bug#1694 and partially addresses bug#2691.
2006-08-21 16:55:03 -04:00
Brad King
ba9c97ccec
BUG: RENAME option should be allowd for INSTALL(PROGRAMS) too.
2006-08-21 10:49:17 -04:00
Brad King
0525d8be58
BUG: Bundle installation needs all file permissions to be preserved from the build tree.
2006-08-17 15:42:38 -04:00
Brad King
8a72d43c17
ENH: Started implementing INSTALL(DIRECTORY) command mode. This is not yet finished so it is undocumented and there is no test. These changes also separate the notions of file and directory permissions.
2006-08-17 14:48:54 -04:00
Brad King
b642ffa7a8
ENH: Fix directory installation to properly deal with trailing slash names (using the rsync convention for whether the last directory name is included in naming the destination directory).
2006-08-17 12:07:51 -04:00
Bill Hoffman
8033e32203
ENH: fix crash when glob has wrong number of arguments
2006-06-27 09:56:21 -04:00
Brad King
932e3524fc
ENH: Changing shared library versioned file names on OSX to conform to that platform's convention.
2006-06-05 13:45:43 -04:00
Bill Hoffman
d3691460f5
ENH: fix error message
2006-05-11 15:50:42 -04:00
Ken Martin
2af4710525
STYLE: fix line length
2006-05-10 15:46:45 -04:00
Brad King
50a0f71120
ENH: Added CONFIGURATIONS option to INSTALL command to allow per-configuration install rules.
2006-05-05 14:57:19 -04:00
Brad King
a317715407
ENH: Added option to not use copy-if-different when installing.
2006-05-05 10:38:41 -04:00
Brad King
84f672155c
BUG: Using the source-file permissions by default for installation is somewhat unpredictable because users can extract source code with almost any permissions (umask). Changing the default to use 644 for files and 755 for programs. No release has documented the old behavior so we do not need compatibility.
2006-04-18 10:30:56 -04:00
Andy Cedilnik
4709c76f0f
ENH: More cleanups and add stgz header script, so it does not have to be hard-coded. Also, the user can overwrite it
2006-04-18 08:25:24 -04:00
Brad King
ac242e319b
BUG: Fixed install rules to use copy-if-different.
2006-04-13 22:57:14 -04:00
Bill Hoffman
6c13d60ec6
ENH: handle single path
2006-04-10 13:47:19 -04:00
Bill Hoffman
24f08322be
ENH: add path conversion stuff and rm SYSTEM_PATH
2006-04-05 07:46:32 -04:00
Bill Hoffman
c98d15e8a3
ENH: fix warning, and remove debug code
2006-04-03 15:59:43 -04:00
Brad King
08b14163ee
ENH: Added named component installation implementation. Installation behavior should be unchanged unless -DCOMPONENT=<name> is specified when cmake_install.cmake is invoked.
2006-03-30 13:33:48 -05:00
Bill Hoffman
3cf3fc510f
ENH: make sure framework search order is correct
2006-03-30 11:55:19 -05:00
Andy Cedilnik
ed5f95cf23
ENH: Add proper support for installing bundles
2006-03-28 13:16:15 -05:00
Andy Cedilnik
ee1975570e
ENH: Allow blocking of writing into the source tree
2006-03-22 14:40:36 -05:00
Andy Cedilnik
d41f97a5e6
ENH: Add relative tag and add test for relative tag
2006-03-21 16:03:19 -05:00
Andy Cedilnik
15d7dd9937
ENH: Remove cmGlob and use glob from kwsys
2006-03-21 12:54:31 -05:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -05:00
Bill Hoffman
ac432c7e7c
ENH: add a new FILE SYSTEM_PATH that allows you to read a environment variable with a path in it.
2006-03-10 16:53:04 -05:00
Bill Hoffman
4c5ba06fa1
ENH: use a cmake script to do the clean step, this allows for large numbers of files to be removed without making the command line too long
2006-03-09 14:30:35 -05:00
Brad King
19f5d128e8
BUG: Most platforms other than Linux seem to require executable permissions on their shared libraries.
2006-03-07 10:05:30 -05:00
Brad King
a2e136fd17
ENH: Added PERMISSIONS and RENAME options to the INSTALL command's FILES and PROGRAMS mode, and corresponding support to FILE(INSTALL). Default permissions for shared libraries on non-Windows/non-OSX platforms no longer has the execute bit set.
2006-03-03 18:44:32 -05:00
Brad King
3ca9ef09b7
BUG: Fixed optional file install support for multi-configuration generators.
2006-02-19 19:29:30 -05:00
Brad King
b6fd3b7bb1
BUG: Install location full-path test for windows needs to account for both lower case and upper case drive letters.
2006-02-19 13:08:17 -05:00
Brad King
cd3c98d032
ENH: Clarified error message.
2006-02-18 16:36:50 -05:00
Brad King
079826d367
COMP: Removed unused variables.
2006-01-13 19:35:16 -05:00
Brad King
22c62c9e65
BUG: Sweeping changes to cleanup computation of target names. This should
...
fix many bugs related to target names being computed inconsistently.
- Centralized computation of a target's file name to a method in
cmTarget. Now that global knowledge is always available the
*_CMAKE_PATH cache variables are no longer needed.
- Centralized computation of link library command lines and link
directory search order.
- Moved computation of link directories needed to link CMake targets
to be after evaluation of linking dependencies.
This also removed alot of duplicate code in which each version had its
own bugs.
This commit is surrounded by the tags
CMake-TargetNameCentralization1-pre
and
CMake-TargetNameCentralization1-post
so make the large set of changes easy to identify.
2006-01-13 18:18:32 -05:00
Andy Cedilnik
6e5cdd6de7
ENH: Add regular string replace (not regex), and relative path command. Also add tests
2005-10-17 09:10:20 -04:00
Bill Hoffman
f8c259b443
BUG: try to fix qt problems
2005-09-10 10:33:10 -04:00
Bill Hoffman
621c84f9e0
make sure correct path type is used
2005-08-23 10:24:01 -04:00
Brad King
d392acb4e6
ENH: Added versioned executable support. This partially addresses bug#2143. Also made OUTPUT_NAME work when installing executables.
2005-08-17 16:11:18 -04:00
Bill Hoffman
a13713818c
ENH: if Xcode21 is installed then create 21 compatible project files
2005-07-19 16:40:44 -04:00
Andy Cedilnik
c4db8aba73
STYLE: Fix typos
2005-07-06 15:51:11 -04:00
Andy Cedilnik
04bb427d1f
BUG: Handle restrictive permissions
2005-03-07 13:51:18 -05:00
Bill Hoffman
785b0dc012
ENH: all tests are passing for XCode
2005-02-18 13:32:51 -05:00
Andy Cedilnik
56234aed4b
PERF: Remove several classes from the bootstrap and so making bootstrap smaller and faster
2004-10-27 10:47:14 -04:00
Brad King
491bebefa2
BUG: Fix crash when CMAKE_DEBUG_POSTFIX is not set.
2004-08-31 10:41:08 -04:00
Brad King
b8917c7e6c
BUG: Fixed generation of installation manifest to account for library versioning symlinks. Also removed DESTDIR prefix from generated manifest.
2004-07-02 14:09:53 -04:00
Andy Cedilnik
04a8572b99
BUG: If the destination is the same as source, do not copy file. Fixes Bug #956 - make install broken
2004-07-02 11:51:30 -04:00
Andy Cedilnik
35033f248d
ERR: Fix typo
2004-06-30 08:59:52 -04:00
Andy Cedilnik
43d380e0d8
ENH: Better handling of debug postfix and fix the test
2004-06-29 09:23:27 -04:00
Andy Cedilnik
ed0999c9d1
ERR: Fix visual studio install
2004-06-28 16:39:51 -04:00
Andy Cedilnik
f9b43b9212
BUG: Implement installing of shared library versioning and add test for the whole thing
2004-06-28 14:40:17 -04:00
Andy Cedilnik
b55d109864
BUG: Put all files to manifest
2004-04-21 11:42:50 -04:00
Andy Cedilnik
55a71ba572
ENH: Add check for infinite loops. Make sure that files written using WRITE_FILE and FILE WRITE are not used as input files. Fixes Bug #678 - WRITE_FILE and FILE(WRITE...) lead to infinite loops
2004-04-18 14:41:46 -04:00
Andy Cedilnik
99feab3528
ENH: When installing project, write manifest
2004-03-28 17:59:46 -05:00
Andy Cedilnik
c44d0ef733
ENH: Add DESTDIR support
2004-02-12 21:44:24 -05:00
Andy Cedilnik
9c744cfe35
ENH: Handle script mode
2004-02-06 15:18:55 -05:00
Andy Cedilnik
e6de1efcb8
ENH: Fix support for debug postfix
2004-02-03 11:23:39 -05:00
Andy Cedilnik
038abb867e
ENH: Add support for install postfix
2004-02-03 10:53:41 -05:00
Andy Cedilnik
4be80e728a
ERR: Remove warning about unused variable
2004-01-28 08:11:09 -05:00
Andy Cedilnik
d13e30f3ae
ENH: Make install on windows seems to work now
2004-01-27 12:37:30 -05:00
Andy Cedilnik
127872e820
ERR: Fix build on Mingw. Looks like Mingw is more like visual studio... Thanks Fred Wheeler
2004-01-27 09:53:33 -05:00
Andy Cedilnik
f33c01b98a
ERR: And yet another set of constants for file permissions
2004-01-27 09:05:31 -05:00
Andy Cedilnik
5c8c6fa3da
ENH: Several windows bugs and fixes
2004-01-26 16:24:35 -05:00
Andy Cedilnik
dae3e140ae
ENH: Add unix style install in file command
2004-01-26 16:05:58 -05:00
Andy Cedilnik
11e212bfc2
ENH: Remove extra new line after the written string
2003-07-17 14:56:17 -04:00
Andy Cedilnik
274535d366
ENH: Recurse subdirectories
2003-07-14 09:15:13 -04:00
Andy Cedilnik
d0964a349e
ENH: Add MAKE_DIRECTORY and modify documentation
2003-07-08 16:33:29 -04:00
Andy Cedilnik
db77d2e019
ENH: Add globbing to FILE command
2003-07-08 14:18:17 -04:00
Andy Cedilnik
372d2cbea9
ENH: Start working on a general file manipulation command
2003-07-07 17:47:17 -04:00