summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Simplify VSProjectInSubdir configurationBrad King2013-11-181-25/+11
| | | | | | | | The test is only enabled on VS 10 and above, where the generators now select for "ctest --build-and-test" the MSBuild tool by default. Simplify the test configuration by dropping the --build-makeprogram option and all the logic needed to compute its value. The test will automatically use MSBuild.
* Tests: Simplify CTest.BuildCommand.ProjectInSubdir configurationBrad King2013-11-182-7/+8
| | | | | Collect all ctest_configure options in a list to configure it into the test script. Drop the unused -DCMAKE_MAKE_PROGRAM argument to ctest.
* Tests: Pass --build-options to every testBrad King2013-11-181-27/+98
| | | | | Create a "build_options" variable whose value is passed to every "ctest --build-and-test" call through the --build-options argument.
* 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-182-7/+12
| | | | | | | | | | 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-187-20/+15
| | | | | | | | | | | | | 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: Split <test>_EXTRA_OPTIONS into <test>_(CTEST|BUILD)_OPTIONSBrad King2013-11-181-10/+12
| | | | | | Some extra options are for "ctest --build-and-test" directly, and others are values for "--build-options". Split these two roles out into two separate variables and update existing uses.
* Tests: Simplify ExternalProjectUpdate test argumentsBrad King2013-11-181-1/+0
| | | | | Drop the -DCMAKE_TEST_MAKEPROGRAM argument because the value is not used inside the test script.
* Tests: Fix make capability selection for empty CMAKE_TEST_MAKEPROGRAMBrad King2013-11-181-3/+3
|
* Tests: Teach MakeClean to use "cmake --build"Brad King2013-11-181-9/+2
| | | | | Switch from "ctest --build-and-test" to "cmake --build" to drive the clean target in the MakeClean test.
* Tests: Teach SimpleInstall to use "cmake --build"Brad King2013-11-182-28/+22
| | | | | Switch from "ctest --build-and-test" to "cmake --build" to drive the install and package targets in the SimpleInstall test.
* Tests: Launch CMake.Install test through 'cmake --build'Brad King2013-11-181-18/+4
| | | | | | Use "cmake --build" to drive the "install" target from the CMake build tree itself. This avoids using the heavier "ctest --build-and-test" just to run the native build tool to drive installation.
* Tests: Launch BootstrapTest through cmake instead of ctestBrad King2013-11-182-10/+16
| | | | | | Run the bootstrap script through "cmake -P" instead of "ctest --build-and-test" so that we do not need to abuse the --build-makeprogram option of the latter.
* Tests: Move CMAKE_TEST_MAKEPROGRAM into Tests/CMakeLists.txtBrad King2013-11-182-5/+4
| | | | | Also drop the temporary MAKEPROGRAM variable and the DART_ROOT special case. We never run dashboard clients with Dart anymore.
* 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).
* Tests: Drop remnants of unused ShellInstall testBrad King2013-11-182-76/+0
| | | | The ShellInstall test has long been replaced by the CMake.Install test.
* 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-156-54/+46
| | | | | | | | | | | | | | 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 'doc-tool-options-as-definition-lists'Brad King2013-11-146-417/+527
|\ | | | | | | | | 3442f2b Help: Format manual/*.1.rst options as definition lists
| * Help: Format manual/*.1.rst options as definition listsKitware Robot2013-11-146-417/+527
| | | | | | | | | | Convert the command-line option documentation formatting from bullet lists to definition lists.
* | Merge topic 'gp-ld_library_path'Brad King2013-11-141-2/+4
|\ \ | | | | | | | | | | | | e130b9e GetPrerequisites: Preserve search path order from caller.
| * | GetPrerequisites: Preserve search path order from caller.Clinton Stimpson2013-11-141-2/+4
| |/
* | Merge topic 'openmp-cray'Brad King2013-11-141-4/+5
|\ \ | | | | | | | | | | | | ebf70b0 FindOpenMP: fix detecting compilers that do not need any special flag (#14567)
| * | FindOpenMP: fix detecting compilers that do not need any special flag (#14567)Rolf Eike Beer2013-11-131-4/+5
| | |
* | | 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-146-9/+51
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Add unit tests for set/unset PARENT_SCOPEDaniele E. Domenichelli2013-11-135-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | Create a RunCMake.set test to cover set() command cases, starting with PARENT_SCOPE.
| * | | | 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.
* | | | | Merge topic 'configure_file-drop-IMMEDIATE'Brad King2013-11-1430-41/+39
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 15610bb Drop use of configure_file IMMEDIATE option
| * | | | | Drop use of configure_file IMMEDIATE optionDaniele E. Domenichelli2013-11-1330-41/+39
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 7d47c693 (Drop compatibility with CMake < 2.4, 2013-10-08) we no longer need to use the configure_file IMMEDIATE option to support compatibility modes less than 2.0.
* | | | | Merge topic 'ExternalData-allow-no-urls'Brad King2013-11-149-6/+59
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 8eb20ee ExternalData: Allow local stores without any URL templates
| * | | | | ExternalData: Allow local stores without any URL templatesBrad King2013-11-139-6/+59
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow ExternalData_URL_TEMPLATES to be empty if a value for ExternalData_OBJECT_STORES is provided. Assume in this use case that the object stores will already contain all needed objects. Extend the Module.ExternalData test to cover this case (all objects in stores). Extend the RunCMake.ExternalData test to cover the non-failure message case when stores are provided without URL templates.
* | | | | CMake Nightly Date StampKitware Robot2013-11-141-1/+1
| |_|_|/ |/| | |
* | | | Merge topic 'cmake-distribution-config'Brad King2013-11-135-24/+12
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 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-123-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Configure NSIS-packaged CMake version and install destinationBrad King2013-11-121-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the version number from the default package install destination. An unversioned default allows users to upgrade their CMake installations without manually re-generating all their build trees to update the path to CMake. Users can select a versioned directory name on installation if they wish. Also name the package with the full CMake version number so it is clear exactly what version is going to be installed. This is particularly helpful for the nightly binary installers.
| * | | Configure NSIS-packaged CMake documentation link in Start MenuBrad King2013-11-121-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we use Sphinx to generate the documentation there is a single entry point to link from the start menu. Drop all the (now broken) links to the individual html document pages and provide a single link to the index.html "CMake Documentation" entry point.
* | | | Merge topic 'cmake-copyright-year'Brad King2013-11-137-5/+44
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Help: Parse Copyright.txt instead of using current yearBrad King2013-11-132-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure our Sphinx conf.py with a copyright line extracted from Copyright.txt instead of using the year in which the documentation is built. This will future-proof the reported copyright year range when building documentation for old versions.
| * | | | Copyright.txt: Add test to check year rangeBrad King2013-11-122-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a CMake.Copyright test that, when the CMake version number knows the year (as it does in development versions), checks that Copyright.txt has been updated with the current version year.