Commit Graph

75 Commits

Author SHA1 Message Date
Brad King 98c51ff6dc ENH: Overhaul CMake version numbering
This moves the version numbers into an isolated configured header so
that not all of CMake needs to rebuild when the version changes.

Previously we had spaces, dashes and/or the word 'patch' randomly chosen
before the patch number.  Now we always report version numbers in the
traditional format "<major>.<minor>.<patch>[-rc<rc>]".

We still use odd minor numbers for development versions.  Now we also
use the CCYYMMDD date as the patch number of development versions, thus
allowing tests for exact CMake versions.
2009-03-05 15:17:07 -05:00
Brad King ae873d4a89 ENH: Add get_filename_component(... REALPATH)
This patch from Philip Lowman creates a REALPATH mode in the
get_filename_component command.  It is like ABSOLUTE, but will also
resolve symlinks (which ABSOLUTE once did but was broken long ago).
See issue #8423.
2009-02-09 09:23:55 -05:00
Brad King 16fe328dfc BUG: Alternative fix to bug #8423
The patch used to fix this bug used SystemTools::GetRealPath which works
only for existing files.  It broke the case of using the command
get_filename_component for a non-existing file.  Also, it changed
long-standing behavior in a possibly incompatible way even for existing
files.  This reverts the original fix and instead updates the
documentation to be consistent with the behavior.
2009-02-06 08:33:52 -05:00
Bill Hoffman 4b5cabed0e ENH: add missing file 2009-01-29 11:57:42 -05:00
Bill Hoffman 33c296a44e BUG: fix for #8423 2009-01-29 11:39:03 -05:00
David Cole 86ded1ba58 ENH: Activate GetPrerequisites code on Linux. Thanks to Mike Arthur for finishing it off. 2008-10-24 11:39:10 -04:00
David Cole 2fb00f28be PERF: Test takes too long when recursing for executable files and when doing recursive prerequisite analysis. Put it back the way it was. Add another test later to do the recursive prerequisite analysis. 2008-09-09 12:48:58 -04:00
Bill Hoffman 1a3502d66a BUG: fix test to work with new restrictions that cross compiling must be on 2008-09-08 20:21:35 -04:00
David Cole 6f8bdd276c ENH: Add BundleUtilities.cmake and supporting changes to GetPrerequisites.cmake. Function copy_and_fixup_bundle in BundleUtilities helps to make standalone bundle applications on the Mac by pulling in prerequisite non-system libraries and frameworks as needed. Uses otool and install_name_tool to do analysis and fixups. Project-specific hooks for deciding where to embed libraries and for resolving item names into full path file names are also provided. 2008-09-06 12:20:07 -04:00
Brad King fdb17d604c ENH: Add test for new find_* command HINTS option. 2008-06-09 15:09:14 -04:00
Brad King 9c8185494b BUG: Fix CMake.FindBase test to normalize paths before comparing.
- Previously the find_* commands did not normalize the search paths
  - The recent refactoring enabled such normalization
  - The FindBase test must also normalize before comparing paths
2008-06-08 11:41:16 -04:00
Sebastien Barre f64d3d0b77 ENH: add REMOVE_DUPLICATES subcommand to LIST command (and test). Remove duplicates from a list (keep the ordering) 2008-03-12 17:02:10 -04:00
David Cole a4e0edd4e8 ENH: Add script GetPrerequisites.cmake to help analyze what shared libraries executable files depend on. Primary uses are to determine what shared libraries should be copied into Mac OSX bundle applications to create standalone bundles apps and to determine what shared library files need to be installed for an executable to run on any platform. Requires native platform tools dumpbin, otool and ldd to generate results. 2008-03-04 08:18:34 -05:00
Alexander Neundorf 2f23ecdb8a ENH: change LIST(CONTAINS ...) TO LIST(FIND ...), which returns the index
and which is more useful, because then you can also access the item behind
the one you were looking, useful for writing macros with optional keywords
with parameters

Alex
2007-08-15 10:26:50 -04:00
Alexander Neundorf c8010cd7fb ENH: add LIST(CONTAINS ...) patch from "Miguel A. Figueroa-Villanueva, miguelf (AT) ieee.org
added tests for LIST(CONTAINS, SORT, REVERSE)

Alex
2007-07-12 11:56:45 -04:00
Alexander Neundorf 930bb0cd37 ENH: remove support for presetting CMAKE_SYSTEM_INFO_FILE,
CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE, CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE,
CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE and CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE

Instead of presetting these variables to arbitrary filenames, users should
set up CMAKE_SYSTEM_NAME and the compilers correctly and also create a
Platform/ directory so these files will all follow the official cmake style,
which should make it easier to understand and debug project which have their
own platform/toolchain support files.

-remove support for a suffix to MS crosscompilers, since this is not (yet)
supported by cmake and might confuse users

Alex
2007-07-02 13:29:36 -04:00
Bill Hoffman c8067b3904 ENH: fix it 2007-06-06 13:43:46 -04:00
Bill Hoffman b4f4a06102 ENH: use lower case for file compare on windows 2007-06-06 13:32:01 -04:00
Alexander Neundorf eed7c8dec1 ENH: always provide CMAKE_SYSTEM_XXX() and MAKE_HOST_SYSTEM_XXX() variables,
so when cross compiling the build host platform can be tested

Alex
2007-05-29 11:36:07 -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
Andy Cedilnik f9f1ccadb3 ENH: Add variable watch command 2007-04-11 15:13:05 -04:00
Andy Cedilnik ed1ea24cef ENH: Fix INSERT to allow inserting to empty list 2006-05-15 10:14:16 -04:00
Andy Cedilnik cb2a9be622 ENH: Change REMOVE and REMOVE_ITEM to REMOVE_AT and REMOVE_ITEM 2006-05-15 09:57:49 -04:00
Andy Cedilnik 3b92585cf0 ENH: Remove some errors, fix append to work on nonexisting lists 2006-05-15 09:25:06 -04:00
Andy Cedilnik f87271d0ea ENH: Add initial implementation of the list command 2006-02-10 14:11:12 -05:00