summaryrefslogtreecommitdiffstats
path: root/bootstrap
Commit message (Collapse)AuthorAgeFilesLines
* bootstrap: prefer Clang over GNU on DarwinDaniel Pfeifer2017-05-221-1/+1
|
* Merge topic 'mingw-w64-compile'Brad King2017-05-161-0/+1
|\ | | | | | | | | | | | | | | 9557b403 cmFileCommand: Fix build on mingw-w64 845f5e3c bootstrap: fix build on mingw-w64 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !837
| * bootstrap: fix build on mingw-w64Aleksey Chernov2017-05-151-0/+1
| | | | | | | | Define the default code page for EncodingCXX too.
* | Merge topic 'command-name'Brad King2017-05-121-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a1218f59 cmCommand: remove unused methods from interface and all implementations 4ba25a82 cmState: separate builtin and scripted commands a44dab46 cmState: introduce method for adding scripted commands c734c850 CTest: use new methods for builtin commands bd14e464 cmCommands: use new methods for builtin commands 58708405 cmState: introduce methods for adding builtin commands a890ca2f cmakemain: use script role for -P Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !829
| * | cmState: introduce methods for adding builtin commandsDaniel Pfeifer2017-05-111-0/+1
| | |
* | | bootstrap: fix Bad substitutionDaniel Pfeifer2017-05-111-13/+24
|/ /
* | bootstrap: Remove leftovers from cmBootstrapCommandsDaniel Pfeifer2017-05-091-2/+0
| |
* | LexerParser: move to custom directoryDaniel Pfeifer2017-04-281-7/+18
| |
* | cmConfigure: provide macros CM_EQ_DELETE and CM_DISABLE_COPYDaniel Pfeifer2017-04-221-0/+2
| |
* | cmWorkingDirectory: add class for changing the workdirBen Boeckel2017-03-061-0/+1
|/
* Combine all unexpected commands to a single classDaniel Pfeifer2016-11-291-6/+1
|
* Add cmProcessOutput class to be used for decoding text dataDāvis Mosāns2016-11-141-1/+4
| | | | | This allows to decode text data we receive from external process which uses external encoding to our internal encoding.
* Add option to build CMake against a system librhashBrad King2016-11-101-2/+4
| | | | Create a CMAKE_USE_SYSTEM_LIBRHASH option.
* cmCommand: implement functions in cxx fileDaniel Pfeifer2016-10-211-0/+1
|
* bootstrap: Sort source files lexicographicallyDaniel Pfeifer2016-10-211-90/+90
|
* Create all commands from a single functionDaniel Pfeifer2016-10-211-3/+1
|
* Separate compilation for commands included in cmBootstrapCommands2Daniel Pfeifer2016-10-211-6/+44
|
* Separate compilation for commands included in cmBootstrapCommands1Daniel Pfeifer2016-10-211-4/+41
|
* cmState: Split auxiliary classes into separate filesStephen Kelly2016-10-191-0/+2
| | | | | | | Port dependents to the new locations as needed. Leave behind a cmState.h include in cmListFileCache to reduce noise. It is removed in a following commit.
* Merge topic 'extract-computed-target-properties'Brad King2016-10-171-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cef59bb8 cmTarget: Implement GetProperty in terms of cmState::Snapshot 0d57b07a cmTarget: Group code for checking written properties together c3fb0d95 cmTarget: Move sanity checks and computed property access to callers fa9dbc56 cmGeneratorTarget: Implement cmTargetPropertyComputer interface 848ae2a6 cmTargetPropertyComputer: Template some methods on the Target a0a720e6 cm{,Generator}Target: Add global generator accessors 637e3f3e cmTargetPropertyComputer: Unify whitelist handling from cmTarget 05251e6d cmTargetPropertyComputer: Move whitelist check from cmTarget fbf1721c cmTargetPropertyComputer: Extract into new files 390a7d86 cmTargetPropertyComputer: Implement GetProperty without cmMakefile e32a6bdd cmListFileBacktrace: Add a method to retrieve the Bottom of a snapshot 7863fba1 cmTarget: Extract GetLocation method 8096682e cmTarget: Extract GetSources method 7d57c1a2 cmTarget: Extract location computation methods a55cac4b cmTarget: Split property computation into separate class 705fcf52 cmTarget: Move IMPORTED check to callers ...
| * cmTargetPropertyComputer: Extract into new filesStephen Kelly2016-10-151-0/+1
| |
* | cmRulePlaceholderExpander: Extract from cmLocalGeneratorStephen Kelly2016-10-151-0/+1
|/ | | | | Implement cmLocalGenerator::ExpandRuleVariables in terms of the new class for source compatibility and to reduce diff noise in this commit.
* cmLinkLineComputer: Extract from cmLocalGeneratorStephen Kelly2016-10-101-0/+2
| | | | | | | | | | | CMake has several classes which have too many responsibilities. cmLocalGenerator is one of them. Start to extract the link line computation. Create generator-specific implementations of the interface to account for generator-specific behavior. Unfortunately MSVC60 has different behavior to everything else and CMake still generates makefiles for it. Isolate it with MSVC60-specific names.
* bootstrap: Add options to enable/disable server mode explicitlyBrad King2016-09-291-0/+11
|
* 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.
* cmMessenger: Extract from cmake classStephen Kelly2016-08-251-0/+1
| | | | | | | | This way messages can be issued independent of the cmake instance. It is now possible to make DisplayMessage a virtual interface and override it to handle messages in the cmake-gui or future IDE interaction interfaces.
* bootstrap: Add support for MSYS2Brad King2016-07-201-1/+1
| | | | | Bootstrapping under MSYS2 is the same as under MSYS/MinGW except that `uname` reports `MSYS...` instead of `MINGW...`.
* bootstrap: Add check for ext/stdio_filebuf.h needed by KWSysDāvis Mosāns2016-07-201-0/+11
|
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-1/+0
| | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* cxx features: add check for nullptrDaniel Pfeifer2016-06-271-0/+1
|
* cxx features: add check for overrideDaniel Pfeifer2016-06-271-0/+1
|
* Add option to control 'bin' directory of CMake's own installation (#16076)Nicolas BUNEL2016-06-011-0/+8
| | | | | Add a `CMAKE_BIN_DIR` cache entry to CMake's own build configuration. Add a `--bindir` option to the `bootstrap` script to set it.
* bootstrap: Add option to build with system liblzma (#15916)Brad King2016-01-131-2/+4
|
* Merge topic 'install-xdgdata-dir'Brad King2016-01-071-0/+7
|\ | | | | | | | | 76566621 QtDialog: Add option to control XDG file install destination
| * QtDialog: Add option to control XDG file install destinationNiels Ole Salscheider2015-12-211-0/+7
| | | | | | | | | | | | | | Create a `CMAKE_XDGDATA_DIR` option and add a corresponding flag to the `bootstrap` script. This is needed for multiarch layouts where the prefix is `/usr/${host}` but where architecture-independent files (like the XDG-specific ones) are installed to `/usr/share`.
* | Add option to use a system-installed KWIMLBrad King2015-12-181-0/+14
| | | | | | | | | | Do not activate it with the general use-system-libs options for now because KWIML is not commonly distributed or available.
* | Port CMake from cmIML to KWIMLBrad King2015-12-181-17/+2
|/ | | | KWIML no longer uses a configured prefix.
* bootstrap: Drop unused KWSys header directoriesBrad King2015-10-281-7/+0
| | | | | KWSys no longer needs the cmsys/{ios,stl} directories so we no longer populate them. We no longer need to create them either.
* cmMakeDepend: Inline into header.Stephen Kelly2015-10-201-1/+0
|
* cmMakefile: Store container of cmExportBuildFileGenerators.Stephen Kelly2015-10-141-0/+1
| | | | | | | | | Set a cmLocalGenerator on each instance at compute time. That will soon be needed to access cmGeneratorTarget instances. If a cmExportBuildFileGenerator is processed early during configure time as a result of CMP0024 it must be removed from the list to process later at generate time.
* bootstrap: Drop unnecessary KWSys platform checkBrad King2015-10-081-11/+1
| | | | | | The KWSys Configure.hxx header no longer needs KWSYS_STAT_HAS_ST_MTIM. Our bootstrap-built CMake does not need to handle nanosecond precision file times anyway.
* bootstrap: Fix spelling of "succeeded"Terrell Russell2015-10-061-1/+1
|
* bootstrap: Remove unused KWSys configurationBrad King2015-09-021-269/+1
| | | | | | KWSys has removed support for kwsys_ios, kwsys_stl, and pre-c++98 template compatibility layers. Drop the bootstrap script checks for these and configuration of the compatibility headers we no longer use.
* bootstrap: Do not build Ninja generatorBrad King2015-08-101-5/+0
| | | | | The CMake bootstrap process uses Makefile generators so there is no need to build the Ninja generators during bootstrap.
* Add common base classes to Makefile and Ninja generatorsBrad King2015-07-091-0/+3
| | | | Provide a place to move functionality common to both.
* cmOutputConverter: Extract from cmLocalGenerator.Stephen Kelly2015-06-061-0/+1
| | | | | | | | | | | The Convert methods never belonged to the local generator concept, so split them out now. The cmOutputConverter is cheap to construct and destroy, so it can be instantiated where needed to perform conversions. This will allow further decoupling of cmLocalGenerator from the configure step. Inherit cmLocalGenerator from cmOutputConverter for the purpose of source compatibility.
* Add option to pass custom flags to sphinx-build (#15545)Brad King2015-04-301-0/+8
| | | | | | | | Create a SPHINX_FLAGS cache entry that users can populate with command-line flags for sphinx-build. Add an option to the bootstrap script to populate it up front. Suggested-by: Felix Geyer <debfx@ubuntu.com>
* bootstrap: Fix SPHINX_{MAN,HTML,QTHELP} cache entry typeBrad King2015-04-301-3/+3
| | | | These cache entries should be generated with type BOOL, not FILEPATH.
* Merge topic 'introduce-cmState'Brad King2015-04-131-0/+1
|\ | | | | | | | | | | | | | | f081c5bd cmState: Move CacheEntryType enum from cmCacheManager. f71fdf0e cmMakefile: Remove unused CacheManager accessor. ff7169a0 Port to cmState. a6b1ad13 Introduce cmState class.
| * Introduce cmState class.Stephen Kelly2015-04-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At this point, it is an interface to the cache. It will be extended to be a universal interface for access to and manipulation of configuration-time data (defintions, properties on targets, directories, source files etc). This will allow porting all command implementations away from the cmMakefile and cmTarget classes, and result in something more-purely related to configuration-time processing of cmake commands. That should serve at least the following goals: * Split the CMake implementation more definitively into three stages: Configuration, computation and generation, and be able to implement each optimally for memory access patterns etc. * Make better IDE integration possible by making more configuration data available. * Make it possiblte to use a smaller library than CMakeLib.a in cpack and ctest, resulting in smaller executables. * Make it possible to run the configure step multiple times in the same CMake run (#14539). Manage its lifetime in the cmake class, and add a convenience accessor to cmMakefile.