Commit Graph

246 Commits

Author SHA1 Message Date
Brad King 0506e37499 Merge topic 'cleanup-unused-variable-check'
a4335a6 Fix unused cache warning after multiple configure iterations
a75ebe3 Refine unused cache variable warning
2011-03-31 13:22:54 -04:00
Brad King a75ebe3ea4 Refine unused cache variable warning
List all unused variables in one warning.  Cleanup implementation to run
the check exactly once at the end of generation.
2011-03-24 09:45:33 -04:00
Brad King 6250c7324f Merge topic 'fix-2828-more-info-in-script-mode'
a58ace6 Fix KWStyle line-too-long complaint (#2828)
106958c Add CMAKE_ARGC and CMAKE_ARGV0..N-1 variables (#2828)
94d1684 Add CMAKE_SCRIPT_MODE_FILE variable (#2828)
2011-02-22 14:32:48 -05:00
Brad King 45efcc8fa6 Merge topic 'disallow-funny-path-names'
8704525 Reject directory names containing '=' (#11689)
2011-02-22 14:31:07 -05:00
David Cole 106958c047 Add CMAKE_ARGC and CMAKE_ARGV0..N-1 variables (#2828)
For now, these variables are only available in -P script mode.
2011-02-02 21:19:01 -05:00
Brad King 8704525f20 Reject directory names containing '=' (#11689)
Some characters are not well-supported by native build systems.  Reject
paths containing such characters before even trying to configure a
project.
2011-01-14 10:03:22 -05:00
Ben Boeckel 8354413463 Add method to unwatch a manual variable 2011-01-13 17:58:04 -05:00
Brad King ad25a968b9 Merge branch 'ImprovedDotSupport2' into dev/strict-mode
Conflicts:
	Source/cmake.cxx
2010-12-17 10:32:01 -05:00
Ben Boeckel c18c977ce8 When checking for variables, specify a reason
Allow reasons to begiven for checking for unused variables.
2010-11-15 10:32:15 -05:00
Alex Neundorf 84ce612c65 Move the code for generating dot-files into separate class cmGraphVizWriter
Alex
2010-11-09 21:37:51 +01:00
Alex Neundorf a60b09927d Generate separate dot files for each target, and a big one with everything.
The big all-in-one file is basically unusable for e.g. kdelibs, it contains
around 1000 nodes and the created image is huuuuge !
Too big actually to be displayable or viewable or comprehensable.

Alex
2010-10-31 17:40:46 +01:00
Alex Neundorf 487bd571d5 Properly insert all targets, also those which don't link to anything.
Alex
2010-10-31 16:23:40 +01:00
Alex Neundorf de2b2bf9ef Move the code for collecting targets and libraries into separate functions
Found bug: targets which don't link to anything don't get inserted in
the dot file.

Alex
2010-10-31 15:58:18 +01:00
Ben Boeckel a267b99cd6 Fix line lengths 2010-10-06 15:00:52 -04:00
Ben Boeckel 5aa535bdcb Add argument to arg parsing to not set directories
Argument parsing sets the source/build directories, but they may have
been (meaningfully) set before hand. Let's not overwrite them.
2010-10-05 13:44:28 -04:00
Ben Boeckel 33c63b19ab Add a method to put a watch for variables 2010-09-22 12:46:16 -04:00
Ben Boeckel d784e6af4d Run the unused variables check on the final pass 2010-09-02 11:29:05 -04:00
Ben Boeckel 74997000c8 Add a flag to warn about system files 2010-09-01 13:09:08 -04:00
Ben Boeckel fff9f6d6f7 Rename flags again and use variablewatch for cli 2010-09-01 13:09:08 -04:00
Ben Boeckel 4ff03402fc Rename find-unused to warn-unused 2010-09-01 13:08:14 -04:00
Ben Boeckel d7999e9b29 Rename strict-mode to warn-uninitialized 2010-09-01 13:08:14 -04:00
Ben Boeckel d3e8eb5041 Add flags to detect unused variables 2010-09-01 13:08:14 -04:00
Bill Hoffman f794d589a4 Make --strict-mode option, and integrate with cmake-gui 2010-09-01 13:08:14 -04:00
Brad King 1d91bc64aa Remove unused DumpDocumentation code
The DumpDocumentation executable and some supporting code and tests were
completely unused by CMake.  Generation of documentation is done by the
individual executables with --help* options.  In this commit we simply
remove the unused code, executable, and test.
2009-12-08 09:38:36 -05:00
Brad King 22cbfefb76 Factor out "cmake -E cmake_symlink_*" code
We factor the implementation of

   cmake -E cmake_symlink_library
   cmake -E cmake_symlink_executable

out of cmake::ExecuteCMakeCommand into methods

   cmake::SymlinkLibrary
   cmake::SymlinkExecutable

plus a helper method cmake::SymlinkInternal.
2009-10-21 13:10:24 -04:00
Brad King 96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King 83f39ba41b STYLE: Remove unused cmake::CacheVersionMatches
This remove the method completely since nothing uses it.
2009-03-05 13:57:10 -05:00
Brad King 170febac52 ENH: Cleanup cmake --build interface.
This cleans up the 'cmake --build' command-line interface:
  - Rename --clean to --clean-first to better describe it.
  - Replace --extra-options with a -- separator to simplify passing of
    multiple native build tool options.
  - Document the options in the main CMake man page description of the
    --build option, and shares this with the usage message.
  - Require --build to be the first argument when present.
  - Move implementation into cmakemain where it belongs.
2009-03-04 15:39:27 -05:00
Bill Hoffman 1777bb502a BUG: 4244, add a --build option to cmake that can build projects configured by CMake 2008-10-15 13:56:07 -04:00
Brad King 3c5cf1bb8c ENH: Allow a custom list of debug configurations
Create a DEBUG_CONFIGURATIONS global property as a way for projects to
specify which configuration names are considered to be 'debug'
configurations.
2008-09-04 17:34:25 -04:00
Bill Hoffman 6f31b0dfbd ENH: add a --trace option 2008-07-31 10:33:25 -04:00
Bill Hoffman 08b95e9cd8 BUG: fix for bug 7222 manifest:no not working for makefiles 2008-06-20 16:25:02 -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
Alexander Neundorf 6292341841 ENH: make it possible to disable debug output again
Alex
2008-04-02 17:29:25 -04:00
Bill Hoffman e5f96bd7ad ENH: make sure gui no-dev workis 2008-03-29 13:16:02 -04:00
Bill Hoffman cf94182624 ENH: remove dangerous access to ivar that should not be used 2008-03-28 15:59:18 -04:00
Bill Hoffman 6d0845f2f8 ENH: make sure -Wno-dev sticks so make rebuild_cache will work 2008-03-22 10:24:06 -04:00
Brad King f7f03347a6 ENH: Improve new error/warning message generation
- Add cmListFileBacktrace to record stack traces
  - Move main IssueMessage method to the cmake class instance
    (make the backtrace an explicit argument)
  - Change cmMakefile::IssueMessage to construct a backtrace
    and call the cmake instance version
  - Record a backtrace at the point a target is created
    (useful later for messages issued by generators)
2008-03-13 13:48:57 -04:00
Bill Hoffman 5ab6c0f0ed ENH: remove abort calls and replace with an IssueMessage INTERANL_ERROR, better to not crash on the end user. 2008-03-12 21:06:32 -04:00
Bill Hoffman 8bf388109d ENH: make sure properties are re-set on each configure 2008-03-12 17:02:30 -04:00
Bill Hoffman fc26c1459c ENH: add ability to suppress dev warnings to gui code 2008-03-11 22:50:35 -04:00
Brad King fdf169be3a BUG: Fixes to VS8/VS9 project regeneration rules
- ZERO_CHECK should check all stamps in case
    of parallel build (fixes complex test failure)
  - ZERO_CHECK should not appear when
    CMAKE_SUPPRESS_REGENERATION is on (fixes bug 6490)
2008-03-11 17:25:49 -04:00
Bill Hoffman b5cebc00f7 ENH: fix -Wno-dev for ccmake 2008-03-11 16:02:10 -04:00
Bill Hoffman dc9245df6c ENH: add enum to IssueMessage 2008-03-11 10:29:56 -04:00
Ken Martin d47a5951ed ENH: add --help-policies and --help-policy command line options 2008-03-04 09:16:33 -05:00
Ken Martin d49ef18f8a ENH: add first cut and policies still need to add the doc support 2008-03-01 15:20:35 -05:00
Bill Hoffman 3fa087c8ab ENH: fix make edit_cache for cmake-gui 2008-02-12 09:49:42 -05:00
Brad King caca9b8065 ENH: Add AppendProperty methods for use by C++ code in CMake. Simplify implementation of SET_PROPERTY command by using them. 2008-01-17 18:13:55 -05:00
Bill Hoffman b479c6a8a9 ENH: add ability to have manifest files and incremental linking with make and nmake 2008-01-01 15:13:41 -05:00
Brad King 9f61e2a235 ENH: Centralized and globalized computation of CMake program locations. This eliminates startup paths that failed to produce this information. 2007-12-13 17:56:50 -05:00
Bill Hoffman fd33bf93a5 ENH: fix for bug 6102, allow users to change the compiler 2007-12-13 15:54:29 -05:00
Brad King 3b59c7b97a ENH: Added call to StopBuild VS macro when projects fail to regenerate during a build. 2007-11-19 13:45:16 -05:00
Brad King 34c882a9f8 ENH: Allow VS 7 project Rebuild and Solution Rebuild to work without re-running CMake for every project during the rebuild. 2007-11-10 08:15:13 -05:00
Ken Martin 433a914910 ENH: different way of testing properties 2007-11-06 14:16:00 -05:00
Ken Martin f72d666a7b ENH: add ability to get documentaiton of a property from a script 2007-10-24 14:43:10 -04:00
Ken Martin 6cdf032505 ENH: change to make the documentation class more generic, about halfway there, also provides secitons for Variables now 2007-10-22 12:49:09 -04:00
Ken Martin 35e13b11f3 BUG: revert doc changes since VS7 cannot compile them, will implement them in a different manner 2007-10-09 14:35:25 -04:00
Ken Martin 18ce24c748 ENH: make documentation entries actually store their data 2007-10-09 09:55:42 -04:00
Alexander Neundorf d6a0c330bc ENH: deb generator can now generate deb packages
-remove the unscriptable commands also from the cpack cmake
-use CPACK_PACKAGE_CONTACT in CMakeCPack.cmake, it's used in the nsis and
the deb generator
-make set_properties() scriptable
-use a non-const char array for adding the python modules

Alex
2007-07-27 08:59:59 -04:00
Alexander Neundorf 55303d6dd2 STYLE: fix line lengths
Alex
2007-07-20 08:36:16 -04:00
Alexander Neundorf 9f16292b6a STYLE: sort the property documentation into
global/directory/target/test/sourcefile and variable sections

Alex
2007-07-11 15:53:58 -04:00
Alexander Neundorf f8261ff9f7 STYLE: change global cmake variable CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS
to the first global cmake property TARGET_SUPPORTS_SHARED_LIBS

Alex
2007-06-26 13:05:27 -04:00
Ken Martin 0b9644910d ENH: added the ability to document variables and cached_variables 2007-06-25 10:34:21 -04:00
Alexander Neundorf 1d9889c5d3 ENH: put compatibility commands in extra section and prepare for creating
separate man pages for properties, modules, commands and compatibility
commands

Alex
2007-06-22 08:44:51 -04:00
Alexander Neundorf 9d4f3a0686 STYLE: remove duplicate non-const accessors GetLocalGenerator(int) and
GetLocaGenerators(cmLocalGenerators) from cmGlobalGenerator(). Now there is
one const accessor which is even faster since it returns a reference
(instead of copying a vector)
-more const to ensure that this the returned local generators don't actually
get modified
-removed duplicated code in GetCTestCommand() and GetCPackCommand()
-added some const accessors

Alex
2007-06-15 10:10:24 -04:00
Alexander Neundorf 6e28861c18 ENH: remove non/scriptable cmake commands from the script handler in ctest,
as discussed with David. This also gives a better ctest man page with just
the commands you should actually use in ctest scripts.
Until now these commands were more or less executed, but e.g. add_executable() didn't create an executable, project() failed with an
error. Now you get an error instantly if using one of these commands.

Alex
2007-06-12 10:56:40 -04:00
Alexander Neundorf 0ddc9f62e5 ENH: add cmExternalMakefileProjectGenerator, which should make it easier to
write generators for IDE projects, which use already existing makefiles
(current the kdevelop generator)
-first stept of the export interface, iniitial export() command
-more replacements for the FIND_XXX docs

Alex
2007-06-08 11:57:16 -04:00
Alexander Neundorf 003654670b ENH: -U for removing variables now uses globbing expressions
-cmCacheManager: now also variables with type UNINITIALIZED are saved in
CMakeCache.txt, these are the vars defined using -DFOO=foo but without type

Alex
2007-06-04 13:48:11 -04:00
Alexander Neundorf 0be0283f30 BUG: also put a variable into the cache when defined using -D if no type is
given, then STRING is used. Also add command line option -U as suggested for
undefining cache variables. This fixes #4896 and #4264.

Alex
2007-06-01 14:16:46 -04:00
Brad King f944711917 STYLE: Fixed comment for Generate() method. 2007-05-28 12:23:32 -04:00
Ken Martin 31a700188b ENH: added --system-information option to CMake 2007-02-27 10:10:10 -05: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
Andy Cedilnik 897a2a9029 ENH: Cleanup of install component list. There was already the list in the global generator. Use that one 2006-10-31 14:28:48 -05:00
Andy Cedilnik 7ded253013 ENH: Add support for displaying the list of components 2006-10-30 15:59:54 -05:00
Bill Hoffman 017cec95ad ENH: do not print a call stack if the user does a message error unless --debug-output is used 2006-10-06 11:11:59 -04:00
Brad King 0bbcb49f65 ENH: Added generation of link rules into script files executed by a cmake -E command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells. 2006-06-15 16:17:11 -04:00
Ken Martin 6071052835 ENH: fix linelength 2006-06-15 11:51:51 -04:00
Ken Martin 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 2006-06-14 12:28:32 -04:00
Ken Martin bf5ed9b27b STYLE: fix line length 2006-05-12 14:36:39 -04:00
Brad King 4494c29078 ENH: Enabling color makefile support using cmsysTerminal_cfprintf. Support for color is automatically detected when messages are printed. Also made color scheme more readable on both black and white backgrounds. This option can be enabled by setting CMAKE_COLOR_MAKEFILE to true in the project. 2006-04-26 21:31:39 -04: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
Andy Cedilnik bc4e5581ee ENH: Add support for exporting graphviz of the project dependencies 2006-03-03 14:24:31 -05:00
Andy Cedilnik 3d9610feec COMP: More fixes for non makefile generators and global targets 2006-02-24 18:15:35 -05:00
Andy Cedilnik f1fb182270 ENH: Add accessors for CTest and CPack 2006-02-23 10:00:44 -05:00
Andy Cedilnik a51dfefe79 ENH: Optimize performance by caching stat results 2005-10-12 13:51:15 -04:00
Brad King c59d56f653 BUG: Corrected and updated documentation of the -P option, -C option, GET_TARGET_PROPERTY command, and GET_SOURCE_FILE_PROPERTY command. 2005-09-21 13:31:43 -04:00
Bill Hoffman 9062e6d922 ENH: fix for bug 1866, make -G,-D -C options allow for space between arg and value 2005-07-19 17:16:23 -04:00
Andy Cedilnik 69ca8776a8 ENH: Start adding the code that will truncate output logs 2005-07-02 22:25:43 -04:00
Andy Cedilnik 9a7dec33a3 ENH: Before running configre, remove all macros. Also, backup the command names. Also, make command names case insensitive 2005-06-16 14:56:15 -04:00
Andy Cedilnik 24a5c0a72e ENH: Save command that macro overwrites 2005-06-14 12:48:59 -04:00
Ken Martin e559aa11ac ENH: added support for forcing recomputation of depends 2005-06-10 10:45:08 -04:00
Andy Cedilnik e4af567bd2 ENH: Make AddCMakePath public 2005-05-02 15:51:12 -04: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 81bbae1fb2 ENH: Added build system integrity check to cmLocalUnixMakefileGenerator2. This now uses a special --check-build-system flag to cmake which replaces --check-rerun. Integrity of dependencies is also checked during generation. 2004-10-29 16:50:46 -04: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 6bc6466be3 ENH: Added --check-rerun option to allow a runtime check of whether a new generate should really be done. 2004-10-15 09:24:44 -04:00
Ken Martin 1066af4527 ENH: Mathieus support for path conversions 2004-10-04 12:31:09 -04:00
Andy Cedilnik 957ddc4195 ENH: Move PreLoad.cmake code to public method so that ccmake and CMakeSetup can call it 2004-08-17 15:36:08 -04:00
Andy Cedilnik 34115a5989 BUG: Fix resolving of infinite loops while CMakeSetup/ccmake still running 2004-04-26 11:23:06 -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
Bill Hoffman 222e9a2876 BUG: fix put/get env problems 2004-01-26 13:32:46 -05:00
Bill Hoffman 09ba0a0a31 BUG: keep more of the case information 2003-12-23 15:01:10 -05:00
Andy Cedilnik ac2859aaa3 ENH: Start includding the scripting support 2003-10-29 09:45:26 -05:00
Ken Martin 072db6ad70 removed redundent includes 2003-08-10 18:30:54 -04:00
Brad King 1e077d436e ENH#61: cmake and ccmake now support passing the path to a CMakeCache.txt file as an argument. Its settings will be loaded. 2003-08-05 16:36:15 -04:00
Andy Cedilnik c7f1198a00 ENH: Add accessor for the list of commands 2003-08-03 20:47:44 -04:00
Brad King 958987c27f ERR: Removed duplicate generator documentation.e 2003-07-10 23:22:09 -04:00
Brad King c080627957 ENH: Added CMAKE_STANDARD_INTRODUCTION macro defining standard documentation for inclusion in every binary's documentation. 2003-07-10 23:14:49 -04:00
Brad King e5ed57ec18 ENH: Registered global generators are now kept in a table in the cmake instance. Added support for documentation with a Generators section. 2003-07-07 21:52:10 -04:00
Andy Cedilnik 1e09bc5dde ENH: Abstract pre configure check in a separate method 2003-05-29 11:14:05 -04:00
Andy Cedilnik 2b0f71f100 ERR: Run should return a value 2003-04-30 07:32:30 -04:00
Andy Cedilnik e72535fda7 ENH: Add additional optional argument to Run. If it is true, it will only set paths and load cache. It will not do configure and gfenerate 2003-04-29 10:04:05 -04:00
Brad King a5ea72df88 ENH: Improved documentation. Also modified behavior of "cmake" to not configure a project in the current directory unless . is given. 2003-04-02 22:48:12 -05:00
Brad King 1f55680332 ENH: Added cmDocumentation class to generate various forms of documentation. Each executable will be able to generate its own documentation. 2003-02-14 10:53:37 -05:00
Ken Martin 05955d6403 fix bug in env settings 2003-01-09 12:18:22 -05:00
Andy Cedilnik 829f8382e0 Add option of watching variables 2003-01-08 12:59:52 -05:00
Bill Hoffman 1e8914ada8 BUG: fix get make command problems. 2002-12-04 10:57:22 -05:00
Bill Hoffman 2905d39689 ENH: check to make sure cmake matches the cmake used to generate the cache 2002-11-13 15:20:20 -05:00
Andy Cedilnik 7274abe460 Revert back 2002-11-07 09:04:20 -05:00
Andy Cedilnik 3d4a2fdc52 In certain cases, try to guess the source directory, so that you can run cmake or ccmake without specifying source dir 2002-11-06 12:04:24 -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
Ken Martin c751d2ebff added progress 2002-09-26 15:14:20 -04:00
Ken Martin 973cf550cb updated comments 2002-09-17 14:12:03 -04:00
Ken Martin 2a68d21e85 cleaned up some of the cmake interface 2002-09-17 13:59:58 -04:00
Ken Martin ee592e9b98 some fixes for try compile 2002-09-13 13:48:14 -04:00
Ken Martin 2aea6d528e added a flag if a cmake is in try compile 2002-09-12 11:08:06 -04:00
Ken Martin 9149cdd078 moved commands into cmake 2002-09-10 16:51:29 -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
Bill Hoffman 3f36d23421 BUG: add explicit clean up of the cachemanager at exit of programs, so dll destruction is not a problem. 2002-08-23 13:46:32 -04:00
Ken Martin 15b2d2f2a6 support for plugins 2002-08-21 11:59:52 -04:00
Brad King a1a05a5fbc BUG: CMake crashed if it failed to find its own executable. Also added better error messages when this occurs. 2002-06-27 09:35:21 -04:00
Ken Martin 350f09ae6d removed ccommand use cmake now 2002-06-03 13:08:52 -04:00
Ken Martin ccbc8a3c8a remobed bootstrap 2002-05-28 08:56:39 -04:00
Ken Martin 1052a6700f added initial attempt to support win32 bootstrapping 2002-05-15 17:23:09 -04:00
Will Schroeder a6a43d5320 ENH:Updated copyright 2002-01-21 15:30:43 -05:00
Amitha Perera b2085d7e9d Rolling back symbolic path changes until it works on Windows. 2002-01-07 15:49:07 -05:00
Amitha Perera 2fa6a0eb44 ENH: Add an invocation that maintains symbolic paths to the source and binary trees, mainly for systems with automounted network drives.
ENH: CollapseFullPath() no longer adds a trailing "/" to directory paths.
2002-01-06 14:59:16 -05:00
Bill Hoffman f7fae15d39 ENH: add command line arguments to set cache entries 2001-11-20 17:51:03 -05:00
Bill Hoffman d204791e45 ENH: integrate borland support 2001-09-06 17:28:24 -04:00
Bill Hoffman a5eac44d18 ENH: rework GUI with configure/OK/Cancel 2001-07-25 18:30:27 -04:00
Bill Hoffman 4179c991f4 ENH: change MFC gui to use cmake class 2001-05-30 15:28:55 -04:00
Ken Martin 72bc7951be new command 2001-05-18 15:25:08 -04:00