Commit Graph

89 Commits

Author SHA1 Message Date
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