summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* cmDocumentation: Fix exit after help output format warningsBrad King2013-11-192-13/+16
| | | | | | | | After warning that a help output format is no longer supported, fix the return value from cmDocumentation::CheckOptions to indicate that it was still a help option that was parsed. Otherwise CMake moves on to treat the help output file name as a source tree and complains that it does not exist.
* Merge topic 'cleanup-build-commands'Brad King2013-11-1931-464/+582
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4cce44b Help: Document the CMAKE_MAKE_PROGRAM variable in more detail 558c74d VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generators 5229f2d Tests: Do not use an explicit make program for VS generators 72dd738 Tests: Fix MFC test heuristic for empty CMAKE_TEST_MAKEPROGRAM fd6076d Tests: Pass CMAKE_MAKE_PROGRAM instead of --build-makeprogram 68031ab Tests: Configure SubProject-Stage2 test more robustly 003d10c Tests: Simplify VSExcludeFromDefaultBuild configuration e47d934 Tests: Simplify VSProjectInSubdir configuration e965cb1 Tests: Simplify CTest.BuildCommand.ProjectInSubdir configuration 72bf255 Tests: Pass --build-options to every test 4d1d772 ctest: Teach --build-options to allow zero options 96966b5 ctest: Make the --build-makeprogram optional for --build-and-test 91a0211 Simplify some calls to cmGlobalGenerator::Build 123a060 Teach GenerateBuildCommand to find its own make program 5f5c92b VS: Add internal APIs to find MSBuild, devenv/VCExpress, and msdev 4ac75fd Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548) ...
| * VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generatorsBrad King2013-11-1814-9/+20
| | | | | | | | | | | | | | | | Drop the "Modules/CMakeVS*FindMake.cmake" files. Override the cmGlobalGenerator::FindMakeProgram method for VS generators to use their internal APIs to locate the build tool. Set the CMAKE_MAKE_PROGRAM as a normal variable for use by project code, but do not cache it. This will allow CMake and CTest to select the proper tool at build time.
| * ctest: Teach --build-options to allow zero optionsBrad King2013-11-181-14/+5
| | | | | | | | | | | | The --build-options option consumes all following arguments until either --build-target or --test-command. Fix the logic to allow this to be zero options.
| * ctest: Make the --build-makeprogram optional for --build-and-testBrad King2013-11-181-4/+9
| | | | | | | | | | | | | | | | | | | | GenerateBuildCommand now knows how to lookup CMAKE_MAKE_PROGRAM or choose a generator-provided default build tool. Therefore the --build-makeprogram can now be optional and simply override the default selection when provided. Note that with --build-nocmake we now need to load the cache in order to make the CMAKE_MAKE_PROGRAM entry available to GenerateBuildCommand.
| * Simplify some calls to cmGlobalGenerator::BuildBrad King2013-11-182-18/+2
| | | | | | | | | | | | | | | | Code paths that look up CMAKE_MAKE_PROGRAM from the cache only to pass it to Build, which only passes it to GenerateBuildCommand, no longer need to do so. GenerateBuildCommand now knows how to look up CMAKE_MAKE_PROGRAM in the cache when no explicit value is given, so simply pass 0 now.
| * Teach GenerateBuildCommand to find its own make programBrad King2013-11-188-59/+96
| | | | | | | | | | | | | | | | Add a cmGlobalGenerator::SelectMakeProgram method to select a caller-provided make program, the CMAKE_MAKE_PROGRAM cache entry, or a generator-provided default. Call it from all implementations of the GenerateBuildCommand method with the corresponding generator's default, if any.
| * VS: Add internal APIs to find MSBuild, devenv/VCExpress, and msdevBrad King2013-11-188-0/+139
| | | | | | | | | | Teach the VS generators to compute the locations of these tools directly from registry entries. Add internal APIs to get the locations on demand.
| * Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548)Brad King2013-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Historically these were both added for the Makefile and Visual Studio generators, respectively. Later the VS generators started using the CMAKE_MAKE_PROGRAM cache entry to find the IDE build tool, and the CMAKE_BUILD_TOOL was simply set as an alias. Fix the documentation to explain that CMAKE_MAKE_PROGRAM is the modern variable and that CMAKE_BUILD_TOOL is the compatibility alias, not the other way around. Replace uses of CMAKE_BUILD_TOOL with CMAKE_MAKE_PROGRAM in CMake-provided modules. Nothing needs to lookup CMAKE_BUILD_TOOL in the cache, so simply set it as a normal variable.
| * Tests: Remove unused Source/cmaketest.h.in fileBrad King2013-11-181-16/+0
| | | | | | | | | | This file has not been used since commit 2c2291bb (add new feature to ctest so that it can cmake, build and run a test executable, 2004-01-07).
| * cmGlobalGenerator: Cleanup GenerateBuildCommand APIBrad King2013-11-1816-305/+234
| | | | | | | | | | | | | | | | | | All cmGlobalGenerator::GenerateBuildCommand call sites that need to produce a string now generate "cmake --build" commands. The remaining call sites immediately pass the result to cmSystemTools::RunSingleCommand. Avoid the intermediate string and argument parsing by directly producing a vector of strings. Also drop the ignoreErrors argument because no call sites remain that use it.
| * cmSystemTools: Add PrintSingleCommand methodBrad King2013-11-152-0/+19
| | | | | | | | | | Add a method to print a command line for human reference by simply double-quoting every argument.
| * cmSystemTools: Add RunSingleCommand overload for std::vector<std::string>Brad King2013-11-152-1/+22
| |
| * ctest_build: Use "cmake --build" to launch the native build toolBrad King2013-11-151-7/+2
| | | | | | | | | | | | | | | | | | | | This avoids requiring cmGlobalGenerator::GenerateBuildCommand to produce a string so that it can be later refactored to produce a vector with no quoting or escaping. It also makes the ctest_build command match what "ctest -T Build" would run in a build tree configured with the new build_command() command behavior. It also ensures that the native build tool used matches that selected by the configuration of the tree to be built.
| * build_command: Return a "cmake --build" command-lineBrad King2013-11-151-25/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-implement the build_command() command to use "cmake --build" instead of generating a native build tool invocation directly. This command will internally invoke the proper native build tool. This avoids requiring cmGlobalGenerator::GenerateBuildCommand to produce a string so that it can be later refactored to produce a vector with no quoting or escaping. It will also allow us to later teach CMake to delay the decision about which build tool to invoke until after the project build system is generated to disk. For example, on Visual Studio 10 and above the preferred command-line tool is MSBuild, but we need to fall back to devenv if the .sln has Intel Fortran .vfproj files.
| * cmGlobalGenerator: Add method to compute "cmake --build" command lineBrad King2013-11-143-0/+48
| | | | | | | | | | | | Create a GenerateCMakeBuildCommand method to generate a command-line string invoking "cmake --build" for a given target and configuration. Optionally allow the "-i" make flag and additional native options.
| * cmGlobalGenerator: Drop unused GenerateBuildCommand implementationBrad King2013-11-141-33/+5
| | | | | | | | | | | | This is a virtual method that is overridden by every generator subclass. The base class implementation should never be called, so replace it with a dummy implementation.
* | Merge topic 'forbid-reserved-targets'Brad King2013-11-197-13/+101
|\ \ | | | | | | | | | | | | 3900fcf CMP0037: Extend policy to reserved names and custom targets
| * | CMP0037: Extend policy to reserved names and custom targetsNils Gladitz2013-11-197-13/+101
| | | | | | | | | | | | | | | | | | | | | | | | Teach add_custom_target to check the policy too. Extend the policy to disallow reserved target names that we use for builtin targets like "all". Extend the RunCMake.CMP0037 test to cover these cases.
* | | Merge topic 'fix-remove-forbidden-flags'Brad King2013-11-191-1/+34
|\ \ \ | | | | | | | | | | | | | | | | 3a8f34b Makefile: Remove "forbidden" flags only as a whole
| * | | Makefile: Remove "forbidden" flags only as a wholeNils Gladitz2013-11-191-1/+34
| |/ / | | | | | | | | | | | | | | | Fix CMAKE_<LANG>_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS implementation to only remove whole flags. Without this n the Mac we were incorrectly removing -w from -Wno-write-strings.
* | | CMake Nightly Date StampKitware Robot2013-11-191-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-11-181-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-11-171-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-11-161-1/+1
|/ /
* | CMake Nightly Date StampKitware Robot2013-11-151-1/+1
|/
* Merge topic 'msvc-encoding'Brad King2013-11-141-2/+4
|\ | | | | | | | | 58e3d49 MSVC: Fix encoding of Visual Studio 10+ project files.
| * MSVC: Fix encoding of Visual Studio 10+ project files.Clinton Stimpson2013-11-141-2/+4
| | | | | | | | | | Use Windows-1252, which is the same encoding as older Visual Studio project files.
* | Merge topic 'set_emptyvar_PARENT_SCOPE'Brad King2013-11-141-9/+10
|\ \ | | | | | | | | | | | | | | | | | | bf755c7 set: Add unit tests for set/unset PARENT_SCOPE bc280f1 set: Fix handling of empty value with PARENT_SCOPE 20afbd5 set: Handle value-less PARENT_SCOPE explicitly
| * | set: Fix handling of empty value with PARENT_SCOPEDaniele E. Domenichelli2013-11-131-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just as set(VAR "") sets VAR to an empty string in the current scope, the code set(VAR "" PARENT_SCOPE) is documented to set the variable to an empty string in the parent scope. Fix the implementation to make it so.
| * | set: Handle value-less PARENT_SCOPE explicitlyDaniele E. Domenichelli2013-11-131-0/+8
| | | | | | | | | | | | | | | | | | The code "set(VAR PARENT_SCOPE)" unsets VAR in the parent scope. Implement this case explicitly next to where "set(VAR)" is explicitly handled to unset VAR in the current scope.
* | | CMake Nightly Date StampKitware Robot2013-11-141-1/+1
| | |
* | | Merge topic 'cmake-distribution-config'Brad King2013-11-132-5/+5
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 06b0dbe OS X: Drop version number from CMake.app bundle name (#11693) 84af42b Configure NSIS-packaged CMake version and install destination 7655029 Configure NSIS-packaged CMake documentation link in Start Menu
| * | OS X: Drop version number from CMake.app bundle name (#11693)Brad King2013-11-122-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Always name the application bundle "CMake.app". Users can rename it after installation if they wish. This is the typical approach used by OS X applications, including Xcode. It allows CMake to be upgraded without manually re-running CMake in every build tree to update the path to CMake. It also makes the executable location in the CMake build tree more predicatable.
* | | Merge topic 'cmake-copyright-year'Brad King2013-11-131-1/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3bade75 Help: Parse Copyright.txt instead of using current year 2bbf6bd Copyright.txt: Add test to check year range 3ee67d0 Copyright.txt: Update year range to end in 2013 621ba1f cmake-gui: Parse Copyright.txt instead of duplicating notice 993b685 bootstrap: Parse Copyright.txt instead of duplicating notice
| * | | cmake-gui: Parse Copyright.txt instead of duplicating noticeBrad King2013-11-121-1/+4
| |/ / | | | | | | | | | | | | Set the cmake-gui MACOSX_BUNDLE_COPYRIGHT property by parsing the copyright notice line out of Copyright.txt instead of duplicating it.
* | | Merge topic 'policy-summary-periods'Brad King2013-11-131-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | 49cbca6 CMP0038: Add missing '.' to policy summary line 7390002 CMP0039: Add missing '.' to policy summary line
| * | | CMP0039: Add missing '.' to policy summary lineDaniele E. Domenichelli2013-11-121-1/+1
| | | |
* | | | Merge topic 'fix-INTERFACE-with-no-SHARED-libs'Brad King2013-11-131-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 64f73b0 add_library: Fix INTERFACE on platforms with no shared libs (#14561)
| * | | | add_library: Fix INTERFACE on platforms with no shared libs (#14561)Stephen Kelly2013-11-121-0/+1
| |/ / /
* | | | Merge topic 'wix-custom-arguments'Brad King2013-11-132-6/+73
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 096591b CPackWiX: Add variables for custom tool extensions and flags
| * | | | CPackWiX: Add variables for custom tool extensions and flagsNils Gladitz2013-11-122-6/+73
| | | | |
* | | | | Merge topic 'cleanup-edit_cache-target'Brad King2013-11-1312-115/+71
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | 684063c Refactor tool selection for edit_cache (#14544) eaf5b7a cmGlobalGenerator: Do not propagate const through GetCMakeInstance
| * | | | Refactor tool selection for edit_cache (#14544)Brad King2013-11-1212-113/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor edit_cache tool selection to ask each global generator for its preference. Teach the Ninja generator to always use cmake-gui because Ninja by design cannot run interactive terminal dialogs like ccmake. Teach the Makefile generator to use cmake-gui when also using an "extra" generator whose IDE has no terminal to run ccmake, and otherwise fall back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
| * | | | cmGlobalGenerator: Do not propagate const through GetCMakeInstanceBrad King2013-11-121-2/+1
| | |_|/ | |/| | | | | | | | | | | | | | Combine the const and non-const GetCMakeInstance to a const one and return a pointer to non-const cmake from it.
* | | | CMake Nightly Date StampKitware Robot2013-11-131-1/+1
|/ / /
* | | Merge topic 'pp-transitive-property-handling'Brad King2013-11-123-23/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | 77a0fd5 Genex: Use a preprocessor foreach to follow transitive properties. 1464933 Genex: Simplify the preprocessor looper for interface properties.
| * | | Genex: Use a preprocessor foreach to follow transitive properties.Stephen Kelly2013-11-091-17/+12
| | | |
| * | | Genex: Simplify the preprocessor looper for interface properties.Stephen Kelly2013-11-093-6/+6
| | | | | | | | | | | | | | | | By removing the INTERFACE_ prefix, we can use this in more contexts.
* | | | Merge topic 'constify'Brad King2013-11-124-29/+25
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | dcac9be Make accessors for compile-related information const. 19a8a3c cmTarget: Don't finalize include directories in GetIncludeDirectories. 3305364 cmGlobalGenerator: Rename the FinalizeCompileDefinitions method.