summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
Commit message (Collapse)AuthorAgeFilesLines
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-071-1/+13
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* Revert topic 'refactor-cache-api'Brad King2015-04-071-13/+1
| | | | | | 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.
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-061-1/+13
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* cmake: Remove unused method.Stephen Kelly2015-04-051-3/+0
|
* cmake: Remove unused member.Stephen Kelly2015-04-051-1/+0
|
* cmake: Add -A option to specify a generator platformBrad King2014-09-151-0/+1
| | | | | | | | | | | | Define the 'cmake -A' option to set CMAKE_GENERATOR_PLATFORM without having to spell out the whole variable name. We choose the name '-A' for "platform" because '-P' is already taken, and in the common use case the "platform" is actually an architecture (e.g. x64). Teach the RunCMake test infrastructure to use -A to pass the generator platform. Extend the RunCMake.GeneratorPlatform test with a case to verify that the -A option cannot be repeated.
* CMake: Add CMAKE_GENERATOR_PLATFORM optionBrad King2014-09-051-0/+9
| | | | | | | | | | | Reject the option by default. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add cache entry CMAKE_GENERATOR_PLATFORM and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorPlatform test to cover basic use cases for the option. Verify that CMAKE_GENERATOR_PLATFORM is empty by default, and that it is rejected when the generator does not support a user setting.
* backtrace: Convert to local paths in IssueMessageBen Boeckel2014-06-051-1/+1
| | | | | This is the only place we care show the FilePath to the user, so defer the expensive relative path calculation until here.
* cmake: remove dummy backtraces for IssueMessageBen Boeckel2014-06-051-2/+2
|
* Merge topic 'cxx14-features'Brad King2014-05-291-0/+11
|\ | | | | | | | | dd043c3f Features: Add support for C++14 features.
| * Features: Add support for C++14 features.Stephen Kelly2014-05-221-0/+11
| | | | | | | | Record the features implemented by GNU 4.9 and Clang 3.4.
* | Merge topic 'cpack-properties'Brad King2014-05-281-0/+12
|\ \ | |/ |/| | | | | | | d0b1d2a6 CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 15a8af21 Add an "installed file" property scope
| * Add an "installed file" property scopeNils Gladitz2014-05-281-0/+12
| | | | | | | | | | | | | | Teach set_property and get_property an "INSTALL" property type to be associated with install-tree file paths. Make the properties available to CPack for use during packaging. Add a "prop_inst" Sphinx domain object type for documentation of such properties.
* | Features: Extend concept to C language.Stephen Kelly2014-05-141-0/+6
|/ | | | | | | | | | | Add properties and variables corresponding to CXX equivalents. Add features for c_function_prototypes (C90), c_restrict (C99), c_variadic_macros (C99) and c_static_assert (C11). This feature set can be extended later. Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader to conditionally represent the c_restrict feature.
* Features: Make CMAKE_CXX_KNOWN_FEATURES a property.Stephen Kelly2014-05-021-0/+48
| | | | | As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
* Remove extra semicolons from C++ code.Stephen Kelly2014-04-031-4/+4
| | | | | Clang based tools running over the code complain about these, but clang has a fixit for removing them.
* stringapi: Command namesBen Boeckel2014-03-081-4/+4
|
* stringapi: Use strings for generator namesBen Boeckel2014-03-081-2/+2
|
* Directories: Take strings when setting directoriesBen Boeckel2014-03-081-4/+4
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-4/+4
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* stringapi: Use strings for variable namesBen Boeckel2014-03-081-5/+5
| | | | Variable names are always generated by CMake and should never be NULL.
* stringapi: Use strings for property namesBen Boeckel2014-03-081-9/+11
| | | | Property names are always generated by CMake and should never be NULL.
* Refactor tool selection for edit_cache (#14544)Brad King2013-11-121-3/+4
| | | | | | | | | 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.
* Refactor internal resource location APIs and initializationBrad King2013-11-121-16/+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.
* cmake: Always pass through stdout/stderr in --build modeBrad King2013-10-181-2/+1
| | | | | | 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.
* Drop unused builtin documentation APIsBrad King2013-10-161-2/+1
| | | | | Now that all DefineProperty documentation calls have been dropped, drop the supporting APIs.
* Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-161-38/+7
| | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
* Drop builtin property documentationBrad King2013-10-161-3/+0
| | | | | | Drop all DefineProperty calls for non-chained properties. Drop the documentation from the chained ones. The documentation for all properties is now in Help/prop_*/*.rst files.
* Drop "full" documentation output typesBrad King2013-10-151-22/+0
| | | | | | | | | | | | | | | | 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.
* Drop CMAKE_STRICT modeBrad King2013-10-151-4/+0
| | | | | | | With our modern development workflow it is less likely a property will be added to C++ code without documentation. This mode only existed to support the DocTest which had very limited coverage of the properties anyway.
* message: Add a DEPRECATION modeStephen Kelly2013-10-081-1/+3
| | | | | | By default, the message is not issued. If CMAKE_ERROR_DEPRECATED is on, the message is fatal. If CMAKE_WARN_DEPRECATED is on, the message is a warning.
* Merge topic 'split-cmake-E'Brad King2013-10-071-28/+0
|\ | | | | | | | | c04995b cmake: Split -E command implementation into separate source file
| * cmake: Split -E command implementation into separate source fileBrad King2013-10-031-28/+0
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Remove redundant cmake::GetIsPropertyDefined methodBrad King2013-09-171-2/+0
|/ | | | We already have cmake::IsPropertyDefined for the same reason.
* Merge topic 'cmake-help-generators-fix'Brad King2013-05-211-2/+2
|\ | | | | | | | | dea4d26 Docs: cmake -G selects a "build system" generator
| * Docs: cmake -G selects a "build system" generatorStephen Kelly2013-05-211-2/+2
| | | | | | | | -G is not only for makefile generators.
* | Fix spelling and typos (non-binary)Andreas Mohr2013-05-071-2/+2
|/
* Xcode: Implement generator toolset selection (#9831, #13802)Brad King2013-02-071-0/+1
| | | | | Implement generator toolset selection (cmake -T) for Xcode > 2.0 by adding the GCC_VERSION build setting to project files.
* VS: Implement generator toolset selection (#10722, #13774)Brad King2013-02-071-0/+2
| | | | | | | | | | | | Implement generator toolset selection (cmake -T) for VS >= 10 by setting the PlatformToolset. Extend the RunCMake.GeneratorToolset test case to verify CMAKE_GENERATOR_TOOLSET when the generator supports -T. Since commit 485a940e (VS: Simplify MSVC version reporting, 2012-08-23) all MSVC version information is detected during the compiler id step from the actual compiler invoked by generated build systems rather than hard-coded in VS generators. Therefore we can set the PlatformToolset in VS >= 10 project files and support toolsets from other VS versions.
* CMake: Add -T option to choose a generator toolsetBrad King2013-02-071-0/+13
| | | | | | | | | | | | Reject the option by default. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add cache entry CMAKE_GENERATOR_TOOLSET and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorToolset test to cover basic "-T" option cases. Verify that CMAKE_GENERATOR_TOOLSET is empty without -T, that -T is rejected when the generator doesn't support it, and that two -T options are always rejected.
* Add a way to check INTERFACE user property compatibility.Stephen Kelly2013-01-151-0/+2
|
* Add command to generate environment for a Windows CE SDKPatrick Gansterer2012-11-301-0/+2
|
* Allow a GeneratorFactory handling of more than one generatorPatrick Gansterer2012-11-191-3/+2
| | | | | | | | Pass the name of the requested generator to the generator factory, which is now responsible to check if it can create a matching generator for the name. This allows us to add more logic to the factory in a next step, so that not every possible generator needs to get registered explicit in cmake::AddDefaultGenerators().
* Introduce the abstract class cmGlobalGeneratorFactoryPatrick Gansterer2012-11-191-3/+2
| | | | | This new abstract class allows us move some logic from the cmGlobalGenerator into its own layer in a next step.
* Revert "Ninja: don't expand any rsp files"Bill Hoffman2012-10-011-2/+1
| | | | | | | | | This reverts commit 5598d9b2a06d4ec788b5e058435bb3bba99fd517. Since commit f1670ab1 (Ninja: don't confuse ninja's rsp files with nmake's, 2012-09-26) Ninja generator response files are placed in CMakeFiles/ so the previously existing check already avoids expanding them.
* Ninja: don't expand any rsp filesPeter Kuemmel2012-09-191-1/+2
|
* Fix some typos in the docs comments.Stephen Kelly2012-03-191-5/+5
|
* doxygen: review cmake.hYury G. Kudryashov2012-02-291-28/+24
| | | | | * Move top-level comment to class apidocs * Remove misleading comment
* doxygen: Small fixes in cmake.h apidocsYury G. Kudryashov2012-02-281-3/+2
|
* doxygen: Use proper syntax to document enumYury G. Kudryashov2012-02-281-12/+15
|