summaryrefslogtreecommitdiffstats
path: root/Source/cmakemain.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Teach --build to reject multiple --target optionsSebastian Schuberth2016-02-051-1/+13
| | | | | | | | | | Previously we did not clearly document that `--target` is only supported to be specified once. Even worse, specifying it multiple times would silently ignore any previously specified targets and only build the last target. Update the documentation to specify this. Update the implementation to reject multiple `--target` options to prevent user errors.
* cmake: add --trace-expand optionBen Boeckel2015-07-231-0/+1
| | | | | | | | The --trace option is helpful, but sometimes, what you're looking for is deep under many layers of function calls and figuring out what instance of the function call you're looking at is tedious to determine (usually involving patching and message()). Instead, add a --trace-expand option to trace while expanding commands into what CMake actually sees.
* cmake: Fix --build <relative-dir> for VS generators (#15609)Brad King2015-06-111-1/+1
| | | | | | | | | | The VS >= 10 generators need to parse the .sln file from the build directory to locate targets in subdirectories. This occurs after we change the working directory to the build tree. If a relative directory other than "." was given then we would change to it and also refer to the .sln file location with it. Fix this by converting the build tree to a full path always. This will also give a more informative error message when the directory does not exist.
* cmake: Replace CurrentLocalGenerator concept with CurrentMakefile.Stephen Kelly2015-06-041-6/+1
|
* cmMakefile: Rename method to something more appropriate.Stephen Kelly2015-05-191-1/+1
| | | | Allow the name to be used for something more-suitable.
* cmState: Compute and store directory components.Stephen Kelly2015-05-161-0/+6
| | | | | | | | | | | | | There is no need to duplicate these in all cmLocalGenerators. Rename the symbols according to current conventions. Add explicit calls to Set{Source,Binary}Directory with empty strings in order to trigger the population of the components containers with the current working directory in cmLocalGenerator. Having directories set to empty is a special case in CMake, which is relied on for the `if(CMAKE_BINARY_DIR)` condition at the end of CMakeDetermineSystem.cmake.
* cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-1/+1
| | | | Match names used in CMake code.
* cmMakefile: Rename GetCurrent{,Source}Directory.Stephen Kelly2015-04-201-1/+1
| | | | Match the names used in cmake code.
* cmState: Move CacheEntryType enum from cmCacheManager.Stephen Kelly2015-04-131-8/+5
|
* Port to cmState.Stephen Kelly2015-04-131-5/+6
|
* cmCacheManager: Port consumers to non-iterator API.Stephen Kelly2015-04-081-10/+16
| | | | | This simplifies reasoning about the follow-up commit which ports away from cmCacheManager to a class with the same method names.
* Revert topic 'refactor-cache-api'Brad King2015-04-071-16/+10
| | | | | | This topic was never tested without some follow-up commits. The GetCacheEntryValue API returns a pointer to memory freed on return. It will have to be revised along with the rest of the original topic.
* cmCacheManager: Port consumers to non-iterator API.Stephen Kelly2015-04-061-10/+16
| | | | | This simplifies reasoning about the follow-up commit which ports away from cmCacheManager to a class with the same method names.
* Include cmAlgorithms where it is used.Stephen Kelly2015-03-101-0/+1
|
* Merge branch 'backport-no-global-setlocale' into no-global-setlocaleBrad King2015-02-061-2/+0
|\ | | | | | | Resolve conflict in Source/CMakeLists.txt by taking both changes.
| * Do not call setlocale() globally in CMake applications (#15377)Brad King2015-02-061-2/+0
| | | | | | | | | | | | | | | | | | | | | | Revert the changes made by commit v3.1.0-rc1~406^2~1 (Encoding: Add setlocale() to applications, 2014-05-30) and commit v3.1.0-rc1~406^2 (Encoding: Change to only set LC_CTYPE, 2014-06-11), and other setlocale calls added later in their spirit. CMake has not been taught how to deal with non-C locales everywhere. We do not define any functionality for character conversions for non-ASCII strings. Another solution will be needed to address the original problem motivating addition of setlocale() calls.
* | Merge topic 'consistent-empty-method'Brad King2015-01-191-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f69314e Replace foo.length() pattern with !foo.empty(). fd0c036c Replace 'foo.length() >= 1' pattern with !foo.empty() f09fde2d Replace 'foo.length() > 0' pattern with !foo.empty(). 86b5bdfa Replace 'foo.length() == 0' pattern with foo.empty(). fd7b3712 Replace foo.size() pattern with !foo.empty(). aa773035 Replace !foo.size() pattern with foo.empty(). 64592633 cmListCommand: Use empty() and expand whitespace. 607e1938 Replace 'foo.size() != 0' pattern with !foo.empty(). 930bd478 Replace 'foo.size() == 0' pattern with foo.empty(). d92887ef Replace 'foo.size() > 0' pattern with !foo.empty().
| * | Replace 'foo.size() == 0' pattern with foo.empty().Stephen Kelly2015-01-181-1/+1
| |/
* | cmakemain: Initialize vector content with iterators directly.Stephen Kelly2015-01-181-5/+1
| |
* | cmakemain: Use member insert in command line handling code.Stephen Kelly2015-01-181-4/+2
|/
* Merge topic 'cmake-no-args-output'Brad King2014-06-161-0/+16
|\ | | | | | | | | de7c2882 cmake,ccmake: Produce shorter output on no arguments (#14973)
| * cmake,ccmake: Produce shorter output on no arguments (#14973)Adam Strzelecki2014-06-131-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Instead printing complete help cmake/ccmake now prints only Usage section and extra information how to get more help or start your build. Implementation Details: Usage help type was renamed to Help, and new Usage was introduces that prints only command line usage information without any extra details. Commands add some extra information when no arguments are passed.
* | Encoding: Change to only set LC_CTYPE to fix encoding issues with libarchive.Clinton Stimpson2014-06-121-1/+1
|/ | | | | Changing all categories with LC_ALL causes test failures in some locales. For example, in some locales, the decimal characer could be a comma instead of period.
* Encoding: Add setlocale() to applications.Clinton Stimpson2014-06-041-0/+2
| | | | See also bug #14934 where chinese characters could not be used with cpack.
* cmSystemTools: Rename ErrorCallback to MessageCallbackBrad King2014-05-151-3/+3
| | | | | Clarify that it is the callback for the cmSystemTools::Message API. Rename callback clients too.
* Use Encoding::CommandLineArguments for main() functions.Clinton Stimpson2014-01-041-6/+12
|
* Use new cmHasLiteralPrefix functionStephen Kelly2013-11-211-3/+2
|
* Refactor internal resource location APIs and initializationBrad King2013-11-121-2/+1
| | | | | | | | | | | | | | | | | | | | Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources. Teach it to compute the locations of cmake, ctest, cpack, ccmake, and cmake-gui executables, and the location of CMAKE_ROOT. Provide this information from static cmSystemTools::Get<resource>() methods. Refactor code that needs these locations to use the new APIs. Teach FindCMakeResources to use the OS X system API to lookup the executable location. When running from the CMake build tree itself, leave a file in the tree that FindCMakeResources can use to read the location of the source tree. This avoids the need to compile the source tree location into a binary that may be installed and used without the source tree. Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build tree next to "cmake" and the other tools, as is already done in the install tree for the application bundle. This ensures a consistent set of executables are available in one directory.
* Merge topic 'cmake--build-pipes'Brad King2013-10-221-7/+3
|\ | | | | | | | | bcd5de7 cmake: Always pass through stdout/stderr in --build mode
| * cmake: Always pass through stdout/stderr in --build modeBrad King2013-10-181-7/+3
| | | | | | | | | | | | Enable the --use-stderr behavior by default and ignore the old option. Passing through the pipes allows color terminal output and other things to work as if one ran the native build command directly.
* | cmake: Drop support for "-i" wizard modeBrad King2013-10-181-9/+5
|/ | | | | Tell users to pass cache values with the -D option on the command line or use cmake-gui or ccmake.
* cmake: Simplify -E command line processingBrad King2013-10-171-25/+31
| | | | | | | | | | Check for "cmake -E ..." up front (along with "cmake --build ...") and skip normal command line processing. Drop the special handling for -E from the normal processing to simplify things. Strictly speaking, it was previously possible to invoke command mode with -E anywhere in the command line e.g. "cmake echo -E message" or "cmake echo message -E", but no one should be using it as it was not documented and looks strange.
* Make --help-* options available from all command-line toolsBrad King2013-10-161-21/+0
| | | | | | | | | | | Make the standard --help-* options available from all command-line tools. Drop options that are no longer supported: --copyright, --help-full, --help-html, --help-man, --help-compatcommands, --help-custom-modules De-duplicate Help/manual/*.1.rst help options by using an OPTIONS_HELP.txt file included from each manual.
* Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-161-170/+41
| | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
* Drop "full" documentation output typesBrad King2013-10-151-77/+2
| | | | | | | | | | | | | | | | We will no longer support full documentation generation from executables and will instead generate documentation with other tools. Disable (with a warning left behind) the command-line options: --copyright --help-compatcommands --help-full --help-html --help-man Drop supporting code. Drop manual sections generation from executables. Remove internal documentation construction APIs. Drop unused sections See Also, Author, Copyright, Compat Commands, Custom Modules.
* cmake: Add --help-policy-list optionBrad King2013-10-151-0/+6
| | | | | All the other --help-<item> options have a corresponding option --help-<item>-list. Add one for --help-policy.
* cmake: Split -E command implementation into separate source fileBrad King2013-10-031-1/+2
| | | | | | | | | | | Move the cmake::ExecuteCMakeCommand static method and all the static methods it calls out of the 'cmake' class to a separate 'cmcmd' class. Build the latter as part of the main cmake executable with cmakemain.cxx and not in CMakeLib. Drop unused header includes from "cmake.cxx". By moving this implementation out of cmake.cxx we avoid carrying it around in all the executables that use class 'cmake'. It is needed only for the main "cmake -E" functionality.
* Merge topic 'passthru'Brad King2013-07-311-2/+5
|\ | | | | | | | | 2b473d2 Add option to use stdout/stderr of original terminal in cmake --build
| * Add option to use stdout/stderr of original terminal in cmake --buildPatrick Gansterer2013-07-291-2/+5
| | | | | | | | | | | | Pass the original file handles to the native tool when using the --use-stderr option in the build command. This enables the usage of advanced terminal features like colored output.
* | Add documentation for the --graphviz supportAlex Neundorf2013-07-261-2/+4
|/ | | | | | | This patch adds Modules/CMakeGraphVizOptions.cmake, which is used only for generating documentation for the --graphviz support. Alex
* Fix spelling and typos (affecting binary data / module messages)Andreas Mohr2013-05-071-3/+3
|
* Fail early if no current working directory existsBrad King2013-02-071-5/+3
| | | | | | | Remove the old "nocwd" behavior that attempts to provide the "--help" output when no working directory is available. The long help output scrolls the real error message out of typical terminal sizes. Also execute as little code as possible when no working directory exists.
* documentation: preparation for making the man section configurableAlex Neundorf2012-06-211-1/+1
| | | | | | | | This patch adds a man section number, which is then used by the DocumentationFormatterMan. The section number is right now always 1, detecting this from the file name will be the next step. Alex
* -remove trailing whitespaceAlex Neundorf2012-06-211-21/+21
| | | | Alex
* CPack begin the implementation of --help-command* and --help-variables*Eric NOULARD2012-01-221-0/+1
| | | | | | This modifications set tries to keep the unified doc for cmake/ctest/cpack while introducing tool specific documentation separated. Some documentation sections for CMake do not fit well to CPack.
* CMake: Remove documentation for -E build (#12446)Matt McCormick2011-09-061-1/+1
| | | | | | The '-E build build_dir' command was created and documented, but then morphed into '--build build_dir' instead, ... and then the -E documentation was never removed. This commit fixes that oversight.
* Merge topic 'UsingCMakeLikePkgConfig2'David Cole2011-08-251-3/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Improve documentation for --find-package modeAlex Neundorf2011-08-111-1/+3
| | | | | | | | Alex
| * Replace cmake::GetScriptMode() with GetWorkingMode()Alex Neundorf2011-08-091-6/+4
| | | | | | | | | | | | | | GetWorkingMode() returns a new enum WorkingMode, which is one of NORMAL_MODE, SCRIPT_MODE and FIND_PACKAGE_MODE. Alex
| * Add find-package mode, which does nothing yetAlex Neundorf2011-07-021-1/+12
| | | | | | | | | | | | | | | | -add command line argument --find-package and handle it, i.e. call an empty function cmake::FindPackage() -add basic help Alex