Commit Graph

305 Commits

Author SHA1 Message Date
Brad King db0f26e852 BUG: Fixed @ONLY configuration to not try to parse ${} syntax at all. This fixes the original fix to bug#4393 and adds a test. 2007-06-06 16:20:02 -04:00
Alexander Neundorf 4878c00905 ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates an
"imported" executable target. This can then be used e.g. with
ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for
"imported" targets, and FindTarget() now takes an additional argument bool
useImportedTargets to specify whether you also want to search in the
imported targets or only in the "normal" targets.

Alex
2007-05-22 10:24:59 -04:00
Brad King 9a5b4eba97 BUG: All variable accesses should produce watch callbacks, including IF(DEFINED <var>) ones. Instead we define a new access type for IF(DEFINED) so that the error does not show up for backward compatibility variables. 2007-05-17 17:40:59 -04:00
Brad King b8928b0c8e BUG: Do not complain about missing watched variables when they are accessd with IF(DEFINED VAR). 2007-05-17 15:12:13 -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
Ken Martin c53b26baf2 ENH: some more cleanup 2007-03-13 15:18:27 -04:00
Ken Martin b99129d2d8 ENH: some code cleanup 2007-03-12 10:26:59 -04:00
Ken Martin 27379d7b08 ENH: make properties a bit more formal with documentation and chaining 2006-12-07 09:45:32 -05:00
Bill Hoffman ccb77b65c6 ENH: unify version stuff, get rid of it out of cmake and cmMakefile and only use cmVersion 2006-11-29 15:59:16 -05:00
Brad King c11cf31c9b ENH: Adding SYSTEM option to INCLUDE_DIRECTORIES command. This addresses bug #3462. 2006-10-05 08:55:59 -04:00
Brad King 5a6b0792cd ENH: Added COMMENT option to ADD_CUSTOM_TARGET. This addresses bug#3461. 2006-10-04 18:10:30 -04:00
Brad King 523075ded5 BUG: Do not replace @VAR@ syntax in list files. This addresses bug #2722. 2006-10-04 14:37:42 -04:00
Brad King 1d9f287af7 ENH: Added NOT_IN_ALL option for ADD_LIBRARY and ADD_EXECUTABLE to avoid building the targets by default. 2006-10-02 11:14:00 -04:00
Brad King 7d2de52c1a ENH: Cleaned up signature of cmMakefile::AddUtilityCommand. It is not valid to have an output from a utility rule and no calls to the method asked for an output anyway. The argument has been removed. 2006-09-28 13:55:26 -04:00
Brad King d01b6f1281 ENH: Added VERBATIM option to ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET commands. This option enables full escaping of custom command arguments on all platforms. See bug#3786. 2006-09-28 11:30:49 -04:00
Andy Cedilnik fbdac25f81 ENH: Add a copy constructor to copy the values 2006-07-09 13:19:36 -04:00
Andy Cedilnik 99f4edb4e4 ENH: DIsplay the list file stack when displaying errors 2006-06-22 15:31:19 -04:00
Ken Martin 47c7108111 STYLE: fix line length 2006-05-12 12:29:09 -04:00
Bill Hoffman 25d4127e2d ENH: fix .. in the path of subdirs 2006-04-20 15:49:56 -04:00
Ken Martin 535acdc7a0 ENH: some performance optimizations 2006-04-11 12:51:20 -04:00
Brad King d5719f22c1 ENH: Added support for multiple outputs generated by a single custom command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds. 2006-04-11 11:06:19 -04:00
Brad King b613cf0be8 BUG: Fixed typo in new cmake-rerun code. 2006-04-11 10:04:55 -04:00
Bill Hoffman 8c06f8e294 ENH: add support for re-running cmake if the cmakefiles change 2006-04-10 13:53:00 -04:00
Andy Cedilnik ee1975570e ENH: Allow blocking of writing into the source tree 2006-03-22 14:40:36 -05:00
Ken Martin 10efe3b079 ENH: added some new functionality 2006-03-22 14:06:52 -05:00
Andy Cedilnik 3806c1050d ENH: Remove things from bootstrap 2006-03-22 09:58:11 -05:00
Ken Martin 4102949bf9 STYLE: minor comment cleanups 2006-03-16 10:53:14 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 6b47b28867 ENH: fix line length style stuff 2006-03-10 11:13:15 -05:00
Bill Hoffman 0db4cb0d96 ENH: removed unused methods after find changes 2006-03-02 15:03:36 -05:00
Brad King 96f0266228 ENH: Created new install script generation framework. The INSTALL command creates the generators which are later used by cmLocalGenerator to create the cmake_install.cmake files. A new target installation interface is provided by the INSTALL command which fixes several problems with the INSTALL_TARGETS command. See bug#2691. Bugs 1481 and 1695 are addressed by these changes. 2006-02-19 15:25:27 -05:00
Brad King b8a33fb424 ENH: Added INSTALL command as a placeholder for a future generic install specification interface. Currently it supports only a SCRIPT option specifying a script to run during the install stage. 2006-02-10 13:54:36 -05:00
Bill Hoffman 347c5f4b46 ENH: add working directory support 2006-02-08 10:58:36 -05:00
Brad King 938890757a ENH: Improved support for user-configured search paths. Paths given in the CMAKE_LIBRARY_PATH cmake variable are searched first, then those in the CMAKE_LIBRARY_PATH environment variable, then those listed in the call to the FIND_LIBRARY command and finally those listed in the PATH environment variable. The support is similar for finding include files with FIND_PATH, but the variable is CMAKE_INCLUDE_PATH. 2006-01-27 18:20:55 -05:00
Bill Hoffman 2c73d2e0f3 ENH: add new cmakedefine01 feature from bug report 2603 2006-01-03 16:40:51 -05:00
Andy Cedilnik bebc745824 ENH: Add set and get test propety command 2005-07-31 11:51:42 -04:00
Bill Hoffman aa47caab2d FIX: apply patch from bug# 1965 2005-07-13 11:21:30 -04:00
Ken Martin c5bfdf6917 ENH: cleaned up some old methods and vars 2005-07-07 11:44:36 -04:00
Ken Martin 369308ca76 ENH: make LOCATION an computed property of the target and get rid of a bunch of const junk 2005-06-22 09:06:46 -04:00
Andy Cedilnik 1bbccc5bef ENH: Improve handling of escaped characters 2005-06-17 15:50:08 -04:00
Brad King 65e2c18d73 ENH: Enabling ability for CMAKE_MINIMUM_REQUIRED version to include patch level. Submitted by Alexander Neundorf. 2005-06-17 09:49:06 -04:00
Andy Cedilnik f7ddfbe1fd ENH: Add extra argument 2005-06-16 16:33:24 -04:00
Andy Cedilnik d395b563ed ENH: Improve internal test handling by creating a test class. Command cmEnableTesting now only sets CMAKE_TESTING_ENABLED and cmAddTest only adds a test to the list. The actual test files are written by local generator. This way we can at some point in the future replace DartTestfile with some XML file 2005-04-24 15:59:51 -04:00
Bill Hoffman 1004073942 ENH: performance improvements 2005-04-12 13:27:07 -04:00
Andy Cedilnik 86cebea79a ENH: More ctest changes and move SetupTest to superclass 2005-04-01 15:48:46 -05:00
Ken Martin 62969492b0 ENH: removed GetParentProjects 2005-03-29 15:34:27 -05:00
Ken Martin 345cf04012 ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings 2005-03-18 10:41:41 -05:00
Ken Martin 791aa6052b ENH: add support for out of source source 2005-03-14 11:29:15 -05:00
Ken Martin 3ff6722934 ENH: cleanup by removing all the olf local generate junk that i not longer needed 2005-03-10 13:39:38 -05:00
Brad King 39af9ee1e4 ENH: Updated implementation of custom commands. Multiple command lines are now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues. 2005-02-22 10:32:44 -05:00
Bill Hoffman cb73410ccb ENH: more tests are passing 2005-02-16 16:35:32 -05:00
Brad King 1d1bd31933 ENH: Added GetComplainRegularExpression method. 2005-02-07 15:09:22 -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
Bill Hoffman 891c273062 ENH: remove warning 2004-08-27 09:55:41 -04:00
Bill Hoffman 731369ef9c ENH: try to initialize all languages at the same time 2004-08-27 08:41:07 -04:00
Bill Hoffman 9655299f08 ENH: initial fortran support 2004-08-06 14:51:41 -04:00
Brad King b6da1d1271 ENH: Added support for special variables CMAKE_CURRENT_LIST_FILE and CMAKE_CURRENT_LIST_LINE that evaluate to the file name and line number in which they appear. This implements the feature request from bug 1012. 2004-08-04 10:45:11 -04:00
Andy Cedilnik 3031467e33 ENH: Implement additional make clean files as a directory property instead of cmake variable 2004-05-20 16:56:34 -04:00
Andy Cedilnik e09e1679ab ENH: Add method to get definition even if it does not exists 2004-04-27 11:30:31 -04:00
Andy Cedilnik aff8c7bcd6 ENH: Add GET/SET_DIRECTORY_PROPERTY/PROPERTIES commands so that we can change include directories and get all sorts of things. Closes Bug #25 - Get_CMAKE_PROPERTIES 2004-04-23 16:20:36 -04:00
Bill Hoffman 8b0b749a11 ENH: add SUBDIR PREORDER and fix clean for non-relative paths 2004-04-23 12:52:48 -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 504d0bc3b3 ENH: ADD REMOVE_DEFINITION command. Fix feature request: Bug #182 - Add opposite to ADD_DEFINITIONS 2004-04-15 13:58:10 -04:00
Bill Hoffman ddb815c125 ENH: add new subdirectory exclude from top option 2004-03-09 16:28:44 -05:00
Andy Cedilnik f93b1e6d48 ENH: Try to remove warning 2004-03-09 07:50:45 -05:00
Andy Cedilnik 3f752ea4cd ENH: Move implementation of configure_file to cmMakefile, so that other classes can use it 2004-03-08 19:05:04 -05:00
Brad King 1dd718457f ENH: Moved variable and #cmakedefine replacement from cmConfigureFileCommand.cxx to a ConfigureString method on cmMakefile. This will give other commands access to the configuration code. 2004-03-03 18:18:47 -05:00
Andy Cedilnik b1a7421840 ENH: Styart working on bundles support and abstract WIN32_EXECUTABLE 2004-02-28 18:59:19 -05:00
Bill Hoffman 5ccfaefb48 ENH: generate a sln and dsw file for each sub project in a project 2003-11-26 14:29:53 -05:00
Ken Martin 072db6ad70 removed redundent includes 2003-08-10 18:30:54 -04:00
Andy Cedilnik 96d561aabc ENH: Add option to retrieve list of macros. Close Bug #25 - Get_CMAKE_PROPERTIES 2003-08-06 18:54:13 -04:00
Ken Martin e315bff47b performance improvements 2003-06-24 15:23:34 -04:00
Ken Martin 61a3e4fb80 more custom command 2003-06-05 16:45:06 -04:00
Ken Martin ba68f771b3 yikes added new custom command support 2003-06-03 10:30:23 -04:00
Andy Cedilnik ce750180ba Add method which returns a list of all variables 2003-03-06 11:19:28 -05:00
Bill Hoffman ae5a80c795 spelling errors 2003-02-14 09:54:15 -05:00
Brad King 1fe42129d4 ENH: Centralized setting of CMake version number to top-level CMake listfile. 2003-02-13 21:57:05 -05:00
Bill Hoffman c4fa5d1fdf ENH: add a new command that allows exports of library dependencies from a project to a file 2003-01-20 16:59:02 -05:00
Andy Cedilnik 5147742a83 Make GetCMakeInstance private and clean cxx file 2003-01-14 09:53:13 -05:00
Andy Cedilnik 829f8382e0 Add option of watching variables 2003-01-08 12:59:52 -05:00
Ken Martin 85549bf496 update version 2003-01-06 09:39:38 -05:00
Ken Martin e90d2dd9f8 updated version 2003-01-06 09:36:27 -05:00
Brad King 54541bd40a ENH: Improved filename/line number reporting in error message. Macro invocations now chain up the error message. 2002-12-12 11:36:28 -05:00
Brad King 4888c088ae ENH: Moved ExpandListVariables out of individual commands. Argument evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside. 2002-12-11 18:13:33 -05:00
Andy Cedilnik 3893ee72d2 Add comment support, so that you can see in build process what the custom command does 2002-12-10 16:47:37 -05:00
Ken Martin 9e526f797a removed cmMakefile depend from cmSystemTools 2002-12-02 15:59:59 -05:00
Ken Martin 20b7e6b222 ENH: space fixes and add a status option to message command 2002-11-13 15:59:40 -05:00
Brad King 1f6a3c67b1 ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs. 2002-10-23 18:03:27 -04:00
Andy Cedilnik a518fed4e3 Try to improve source group interface 2002-10-04 18:16:13 -04:00
Andy Cedilnik 202600f95a Add GetLocal on cmMakefile and on local builds do not perform tests 2002-09-20 15:01:00 -04:00
Andy Cedilnik 157e2b4ac3 Add option of TRY_COMPILE to store the output of compilation so that if the output fails you can display it or store it in the file 2002-09-20 13:15:56 -04:00
Ken Martin 610ff11cf3 now Try compile can include CMAKE_FLAGS 2002-09-18 11:37:40 -04:00
Brad King aa29bbc326 ENH: Added RemoveDefinition method. 2002-09-18 10:39:41 -04:00
Ken Martin a4ca3229ff renamed GenerateMakefile to ConfigureFinalPass 2002-09-15 08:52:24 -04:00
Ken Martin bea21587cf updated makefile moved commands into cmake and fixed try compile 2002-09-10 16:52:39 -04:00
Ken Martin 25ff4552b3 new arch 2002-09-06 13:06:23 -04:00
Ken Martin d0be2896d7 changed cache manager and registered generators to no longer be singletons 2002-08-28 14:51:10 -04:00
Ken Martin 499bd45d4d removed shared lib support 2002-08-23 16:13:34 -04:00
Ken Martin 9f870d3efb minor bug 2002-08-21 13:16:07 -04:00
Ken Martin 6158aa7fd6 dll support 2002-08-21 12:01:55 -04:00
Ken Martin 32ad30e883 better error handling with if statements 2002-07-10 11:38:38 -04:00
Ken Martin 2a7e4539e6 fixed warning 2002-07-02 08:24:36 -04:00
Ken Martin 44a7cd55ff removed all source lists from the system and made them vectors. Also appended _CMAKE_PATH to the end of the automatic cache entries for executables and libraries. Odds of all these changes working are slim but cmake builds and passes all its tests. VTK40 starts building 2002-06-27 15:57:09 -04:00
Ken Martin 11cff6ef6a updated rev 2002-06-05 13:30:54 -04:00
Bill Hoffman a80153b5cb make it backwards compatible with old cmake 2002-05-02 15:56:13 -04:00
Bill Hoffman 27fe57b716 ENH: change LINK_LIBRARY to add to targets 2002-05-02 13:17:10 -04:00
Amitha Perera 099436db26 ENH: Make the LinkLibraries command contribute dependencies towards AddLibraries. 2002-05-01 16:33:27 -04:00
Amitha Perera 1f8df8585e ENH: Add library dependency analysis. 2002-05-01 14:00:21 -04:00
Bill Hoffman 4ea0f6b949 ENH: add enable language support for PROJECT command, this means that a C only project can be built with cmake, even without a cxx compiler 2002-04-02 15:43:23 -05:00
Bill Hoffman 8b3b49a010 ENH: major change, the cmMakefile now contains a master list of cmSourceFile objects, the source lists reference the list via pointers, also you can now set properties on a file, like compile flags, abstract, etc. 2002-03-29 10:06:30 -05:00
Will Schroeder a6a43d5320 ENH:Updated copyright 2002-01-21 15:30:43 -05:00
Brad King 4688198996 ERR: Missing forward declaration of cmMakeDepend added. 2002-01-17 10:48:37 -05:00
Ken Martin 48f77f9de1 next release 2002-01-15 15:50:35 -05:00
Ken Martin d41b42a019 next release 2002-01-15 15:46:34 -05:00
Ken Martin 79d9bd8a59 added release verison to cmMakefile 2002-01-02 16:44:44 -05:00
Brad King fd37e46eb3 ENH: Added option to IF command to test if a command exists. Syntax is IF(COMMAND name-of-command). 2001-12-18 09:39:26 -05:00
Brad King ee31c3e0a4 ENH: SUBDIR_DEPENDS command now does nothing. The parallel build functionality is now automatic. Dependencies are setup to force the same build order as a single threaded build, but multiple files in the same directory can be built simultaneously. Also fixed bug with inheriting CMakeLists.txt files when a directory level is skipped. 2001-12-10 11:03:44 -05:00
Ken Martin 95fa88b7bc version rev 2001-12-07 16:06:08 -05:00
Ken Martin ab3b0c04aa release 10 2001-12-07 16:01:32 -05:00
Ken Martin cf8003f03f up version 2001-12-05 12:07:34 -05:00
Ken Martin d4bb11cd8b up version 2001-12-05 11:59:18 -05:00
Sebastien Barre ef74458b34 Add optional BEFORE param to INCLUDE_DIRECTORIES so that include dirs can be specified before the actual include dirs 2001-11-02 22:32:39 -05:00
Bill Hoffman 091e95f26d ENH: add an option to configure file command that allows for only expansion of at variables and not dollar variables 2001-10-30 14:05:07 -05:00
Bill Hoffman 1c5c899fd7 add dependency for configure files and use short path in WIN32 cmake test 2001-10-26 15:42:02 -04:00
Ken Martin c9caf2390c version 2001-10-01 13:36:27 -04:00
Ken Martin 8e505ebf53 version 2001-10-01 13:35:44 -04:00
Bill Hoffman baa28efd10 ENH: change InitialPass to take a const reference to the argument string, to avoid changes to the file cache 2001-09-20 15:08:30 -04:00
Ken Martin 1bf6afaabf version rev to 95 2001-09-19 14:20:53 -04:00
Ken Martin ccc1c3d50a version rev to 94 2001-09-19 14:20:37 -04:00
Ken Martin 0fe42a9857 various windows fixes 2001-09-10 15:11:15 -04:00
Bill Hoffman cc5c1fa6f7 ENH: separate command from its arguments in the custom command. This allows the generator on windows to change the slashes for just the command 2001-09-04 16:07:54 -04:00
John Biddiscombe 0645a50061 ENH: ExpandVariables functions return a char * for convenience 2001-09-01 16:12:52 -04:00
Ken Martin 22025945c8 version rev 2001-08-30 16:19:46 -04:00
Ken Martin 4798e61fa0 version rev 2001-08-30 16:19:04 -04:00
Brad King 222199b3cd ENH: Added a const version of GetLinkLibraries(). 2001-08-29 10:47:01 -04:00
Yves Starreveld 247c1640da Changes to allow MODULE type target for a shared library 2001-08-28 18:02:59 -04:00
Bill Hoffman f709e5588e ENH: change expand variables to use GetDefinition 2001-08-27 14:44:15 -04:00
Bill Hoffman a4f40c31f1 ENH: add dump documentation test 2001-08-23 17:40:07 -04:00
Bill Hoffman ddd5a7d729 ENH: change all maps of string to be maps of cmStdString, to reduce symbol length in object files. 2001-08-22 11:58:17 -04:00
Bill Hoffman 032106c337 BUG: shorten length of symbols 2001-08-22 11:26:54 -04:00
Ken Martin 0b471134c3 now creates output directories 2001-08-10 15:54:19 -04:00
Ken Martin c71a860978 updated version 2001-08-09 11:09:18 -04:00
Ken Martin d0c306058c updated version 2001-08-09 11:08:35 -04:00
Bill Hoffman db1303aa7d ENH: big change, only allow commands access to the cache via the cmMakefile class and GetDefinition, also the cmMakefile is the only way for commands to add to the cache. Also, some changes to configure.in that check for for scoping 2001-08-08 11:54:46 -04:00
Brad King 8a03ccda07 ENH: Added SUBDIR_DEPENDS command and corresponding support code. This command allows specification that a set of subdirectories be built before a particular directory. 2001-08-01 16:14:16 -04:00
Brad King ddec29c52d BUG: Changed include and link directory paths in cmMakefile back to std::vector because there is an order dependency. Only cmMakefile::AddIncludeDirectory and cmMakefile::AddLinkDirectory should be called to add directories to the paths. They make sure the paths are unique as they are inserted. 2001-07-30 11:34:03 -04:00
Ian Scott b24861d895 Removed the Uniquification of the include and link directory list in FinalPass,
and achieved the same effect by makein m_LinkDirectores and m_IncludeDirectories
a set rather than vector
2001-07-30 07:18:38 -04:00
Ian Scott 4878ed3d29 MAkefile now strips duplicate directores from the libraries and include paths 2001-07-27 13:06:05 -04:00
Ken Martin f8f4560ab4 fixed warnings 2001-07-26 08:36:54 -04:00
Bill Hoffman a5eac44d18 ENH: rework GUI with configure/OK/Cancel 2001-07-25 18:30:27 -04:00