summaryrefslogtreecommitdiffstats
path: root/Source/cmConfigure.cmake.h.in
Commit message (Collapse)AuthorAgeFilesLines
* CMake GUI: Add "CMake Reference Manual" help itemKyle Edwards2020-09-301-0/+1
| | | | And switch the ordering of "Help" and "About".
* Modernize: Use #pragma once in all header filesKitware Robot2020-09-031-4/+1
| | | | | | | | | | | | | | | | #pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
* STL Support: introduce dedicated configuration fileMarc Chevrier2020-07-091-1/+0
|
* cmConfigure.h: Tell windows.h not to define min/max macrosBrad King2019-08-201-0/+4
|
* clang-tidy: Use `= delete`Regina Pfeifer2019-01-291-4/+0
|
* cmMakefile: Impose maximum recursion limitKyle Edwards2019-01-231-0/+1
| | | | | | | | | In order to keep infinitely-recursive scripts from causing a stack overflow in the CMake executable, CMake now imposes a maximum recursion limit before issuing an error message. The limit can be adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH. Fixes: #18694
* Simplify CM_FALLTHROUGH implementationBrad King2017-11-301-12/+1
| | | | | | | Use the macro now provided by KWSys instead of using `try_compile` checks. It will no longer consider the `__attribute__((fallthrough))` variant, but compilers that don't have one of the modern attributes shouldn't warn about not using one anyway.
* Use C++11 '= delete' instead of CM_EQ_DELETEBrad King2017-09-281-9/+2
| | | | | We now require C++11 support including `= delete`. Drop use of the old compatibility macro.
* Drop unused CMake_HAVE_CXX_UNIQUE_PTR macroBrad King2017-09-281-1/+0
| | | | | We now require C++11 `std::unique_ptr` support from the compiler, so none of our code is conditioned on the macro.
* Remove checks for auto_ptr that we no longer needBrad King2017-09-271-1/+0
| | | | We no longer use `auto_ptr` at all, so drop the checks for it.
* Drop now-unused definition of CM_OVERRIDEBrad King2017-09-151-7/+0
|
* cmConfigure: Add missing #Daniel Pfeifer2017-08-261-1/+1
|
* Use C++11 nullptrDaniel Pfeifer2017-08-241-7/+0
|
* Use C++11 unordered containersDaniel Pfeifer2017-08-221-2/+0
|
* Make libuv available to all parts of CMakeBrad King2017-08-081-1/+0
| | | | | | | The libuv library provides many useful platform abstractions and better process management than KWSys. We'd like to use it everywhere instead of just in the server mode. Drop the `CMAKE_USE_LIBUV` option and use libuv everywhere except during bootstrap.
* Provide and use CM_FALLTHROUGHDaniel Pfeifer2017-06-031-0/+13
|
* cmConfigure: provide macros CM_EQ_DELETE and CM_DISABLE_COPYDaniel Pfeifer2017-04-221-0/+11
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-1/+1
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* IWYU: use pragma exportDaniel Pfeifer2017-03-231-1/+1
|
* Encoding: Remove option to use ANSI code page internallyClinton Stimpson2016-11-021-1/+0
| | | | | | The switch to use UTF-8 encoding has been defaulted to on for quite some time since commit v3.2.0-rc1~116^2 (Encoding: Switch to use UTF-8 internally by default on Windows, 2014-12-26).
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* Add a feature check to test availability of auto_ptrDaniel Pfeifer2016-09-261-0/+1
|
* Check for availability of unique_ptr and make_unique when building CMakeBrad King2016-09-161-0/+2
| | | | Some code paths may find these useful if available.
* make sure to include cmConfigure.h before cmStandardIncludes.hDaniel Pfeifer2016-09-031-1/+1
|
* libuv: Build the library within CMakeBrad King2016-08-311-0/+1
| | | | | | | | | | | Take logic from upstream `Makefile.am` and `configure.ac` to build libuv sources. Update `uv.h` to include KWSys Large File Support configuration so that consistent stream libraries are used (on AIX with XL). Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h` header from CMake sources.
* cxx features: add check for nullptrDaniel Pfeifer2016-06-271-0/+7
|
* cxx features: add check for overrideDaniel Pfeifer2016-06-271-0/+7
|
* Use <unordered_set> where availableDaniel Pfeifer2016-06-271-0/+1
|
* Make C++ feature checks extensibleDaniel Pfeifer2016-06-271-1/+1
| | | | | | Turn the feature check for cxx11_unordered_map into a function such that we can use it for other features as well. Drop the 11 suffix, as we may want to check features from other standards.
* cmConfigure.h: Establish as 'include first' fileDaniel Pfeifer2016-06-131-0/+17
| | | | | | | | | | At the moment, cmStandardIncludes.h needs to be included before any standard includes because it disables some warnings that are caused by the standard library of some compilers. Move this responsibility to the cmConfigure.h file. Also add include guards to cmConfigure.h to make sure the file can be included multiple times.
* Add option to control 'bin' directory of CMake's own installation (#16076)Nicolas BUNEL2016-06-011-0/+1
| | | | | Add a `CMAKE_BIN_DIR` cache entry to CMake's own build configuration. Add a `--bindir` option to the `bootstrap` script to set it.
* Use std::unordered_map instead of hash_map where available.Stephen Kelly2015-05-181-0/+1
|
* Remove some obsolete stuff.Stephen Kelly2015-01-111-4/+0
| | | | | We don't need to run compiler tests for ansi-for etc anymore. All supported compilers support the features tested here.
* Mach-O: Add Mach-O parser for OS X and iOS.Clinton Stimpson2014-12-221-0/+1
| | | | | This parser also supports fat binaries which archive multiple Mach-O binaries.
* Encoding: Provide option to configure CMake to use UTF-8 encoding.Clinton Stimpson2014-03-141-0/+1
|
* Refactor internal resource location APIs and initializationBrad King2013-11-121-2/+0
| | | | | | | | | | | | | | | | | | | | 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.
* Drop CMAKE_STRICT modeBrad King2013-10-151-1/+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.
* Clean up install rules of CMake itself (#14371)Brad King2013-08-261-1/+1
| | | | | | | | | | | Ensure CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR are always relative paths in CMake code, and set defaults accordingly. Use the install() command instead of install_files() and install_targets(). This is more modern and also avoids stripping of the first character from user-specified destinations. While at it, fix the default destinations reported in the bootstrap help.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | 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.
* ENH: Overhaul CMake version numberingBrad King2009-03-051-5/+0
| | | | | | | | | | | | | This moves the version numbers into an isolated configured header so that not all of CMake needs to rebuild when the version changes. Previously we had spaces, dashes and/or the word 'patch' randomly chosen before the patch number. Now we always report version numbers in the traditional format "<major>.<minor>.<patch>[-rc<rc>]". We still use odd minor numbers for development versions. Now we also use the CCYYMMDD date as the patch number of development versions, thus allowing tests for exact CMake versions.
* ENH: Add ELF file parsingBrad King2008-02-271-0/+1
| | | | | | - Enabled when system provides elf.h - Introduce cmELF class to parse ELF files - Use in cmSystemTools::GuessLibrarySOName to really get soname
* ENH: remove CMAKE_PREFIX so changing it does not rebuild allBill Hoffman2008-02-181-1/+0
|
* ENH: added CMAKE_STRICT option for var and property checkingKen Martin2007-10-161-0/+1
|
* STYLE: fix some kwstyle errorsBill Hoffman2007-07-271-0/+16
|
* ENH: add rc to version stuffBill Hoffman2006-11-281-1/+1
|
* ENH: Propagate cmake variables to macros in CAndy Cedilnik2006-03-171-0/+2
|
* BUG: Removed compiled-in CMAKE_SHARED_MODULE_PREFIX and ↵Brad King2006-03-161-5/+0
| | | | CMAKE_SHARED_MODULE_SUFFIX for loaded commands in favor of using the settings from the platform files.
* ENH: use cmake variables for cmDynamicLoader to figure out library prefix ↵Bill Hoffman2004-02-161-0/+5
| | | | and extensions
* ENH: Added optional configuration of data/doc/man dirs. This will be useful ↵Brad King2003-07-211-0/+2
| | | | for package maintainers.
* ENH: Centralized setting of CMake version number to top-level CMake listfile.Brad King2003-02-141-2/+3
|