Commit Graph

189 Commits

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