Commit Graph

205 Commits

Author SHA1 Message Date
David Cole 2619d76556 Merge topic 'warn-funny-path-names'
c8ef643 Allow directory names containing '=' and warn if necessary (#12934)
2012-02-07 15:35:32 -05:00
Brad King c8ef6430e0 Allow directory names containing '=' and warn if necessary (#12934)
The approach taken by commit 8704525f (Reject directory names containing
'=', 2011-01-14) was perhaps too heavy-handed for avoiding the obscure
cases when '=' in the path fails due to limitations of Make syntax.
Only two CMake tests:

  LinkDirectory
  OutOfSource

fail when the path contains '=' and they cover obscure cases.  Instead
of rejecting such paths outright just warn when the problem may occur.
2012-02-06 09:40:42 -05:00
David Cole 28cba226b3 Merge topic 'UsingCMakeLikePkgConfig2'
59238dc Fix --find-package mode on Cygwin, where enable_language(RC) is called
98472e4 Require the current cmake version in --find-package mode
a6ccf3c Use $(CXXFLAGS) and $(LDFLAGS) in the --find-package test Makefile
4386918 Fix line length
7d69310 Only enable the test when using GNU make
3011149 Make the test harder by always having a space in the include dirs
ab57ff6 Make the --find-package test harder
626fc71 Much improved test, should now be executed on all UNIXes
ec6982d Disable any STATUS output in --find-package mode
e552ae7 Dont check for -isysroot and -mmacosx-version on OSX in --find-package mode
e589589 Rename helper macros print_compile_flags() to set_compile_flags_var()
aecfc1f Fix test on OpenBSD with BSD make
6bb4ca3 The makefile for the test was kindof wrong
fd15b5e Only run the test if we are using a makefile generator under UNIX
9fc87c6 Add a test for the new --find-package mode
d3ae0ff Improve documentation for --find-package mode
bf07375 Add a cmake.m4 for using cmake in autoconf projects instead of pkgconfig
b0e3578 Use the file-utility to test for 64bit if there is no /usr/lib64
53edfb2 Better support for lib64 and Debian multiarch
b8fdaa1 Fix copyright notice in new CMakeFindPackageMode.cmake
7690edf Replace cmake::GetScriptMode() with GetWorkingMode()
e4f603b Implement find-package mode of cmake
a91d662 Add find-package mode, which does nothing yet
b976e70 Make clLocalGenerator::GetTargetFlags() public
2011-08-25 15:40:49 -04:00
Alex Neundorf 126c6ead77 Add the cmake module required currently for automoc
Alex
2011-08-14 15:58:00 +02:00
Alex Neundorf 7690edffd9 Replace cmake::GetScriptMode() with GetWorkingMode()
GetWorkingMode() returns a new enum WorkingMode, which is one of
NORMAL_MODE, SCRIPT_MODE and FIND_PACKAGE_MODE.

Alex
2011-08-09 16:32:45 +02:00
David Cole 2444d6f55e Merge topic 'split-stdout-stderr'
a343bc1 RunSingleCommand: Avoid assignment in condition
642f100 RunSingleCommand: Add a OUTPUT_NORMAL flag.
856a9e4 RunSingleCommand: Replace verbose boolean with enum
4096066 RunSingleCommand: Fix indentation
2011-08-02 15:09:57 -04:00
Johan Björk 642f10066a RunSingleCommand: Add a OUTPUT_NORMAL flag.
OUTPUT_NORMAL does no processing of the output streams, it just passes
them through the same streams as they were received on.
2011-07-28 10:43:09 -04:00
Alex Neundorf 9dbba1b464 Fix #12342: Add APPEND_STRING option to set_property()
set_property() has APPEND, which creates a list. E.g. when
appending to COMPILE_FLAGS a string is needed, not a list.
With the APPEND_STRING option the value is append as string,
not as list.

Alex
2011-07-15 20:57:33 +02:00
Alex Neundorf a91d662f46 Add find-package mode, which does nothing yet
-add command line argument --find-package and handle it,
 i.e. call an empty function cmake::FindPackage()
-add basic help

Alex
2011-07-02 17:50:05 +02:00
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