summaryrefslogtreecommitdiffstats
path: root/bootstrap
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'export-refactor-for-cps'Brad King2024-07-251-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | ff24058e46 export: Use std::all_of to collect exports 20fa4ce8d8 export: Factor out CMake-specific export generation (2/2) 6c66340a64 export: Fix const placement 1bceab3520 export: Factor out CMake-specific export generation (*/2) a6cc595772 export: Factor out CMake-specific export generation (1/2) 0352376e44 export: Immediately report actual version required Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9646
| * export: Factor out CMake-specific export generation (2/2)Matthew Woehlke2024-07-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support generation of Common Package Specifications, the mechanisms CMake uses to export package information need to be made more abstract. The prior commits began this refactoring; this continues by (actually) restructuring the classes used to generate the actual export files. To minimize churn, this introduces virtual base classes and diamond inheritance in order to separate logic which is format-agnostic but depends on the export mode (build-tree versus install-tree) from logic which is format-specific but mode-agnostic. This could probably be refactored further to use helper classes instead, and a future commit may do that, however an initial attempt to do that was proving even more invasive, such that this approach was deemed more manageable. While we're at it, add 'const' in more places where possible.
| * export: Factor out CMake-specific export generation (1/2)Matthew Woehlke2024-07-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support generation of Common Package Specifications, the mechanisms CMake uses to export package information need to be made more abstract. As a first step toward this, refactor cmInstallExportGenerator so that logic specific to config.cmake and Android .mk lives in separate subclasses. While we're at it, clean up the code style a bit and try to use moves a bit more consistently. This is step 1 of 2. The next step will refactor the individual file generators along similar lines, which will also involve creating additional classes for format-agnostic logic that is shared between build-tree and install-tree variants.
* | Merge topic 'bootstrap-no-pkg-config'Brad King2024-07-231-2/+2
|\ \ | |/ |/| | | | | | | | | | | 35eb28bc76 bootstrap: Restore support for system jsoncpp and uv without pkg-config Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Merge-request: !9679
| * bootstrap: Restore support for system jsoncpp and uv without pkg-configojab ojab2024-07-221-2/+2
| | | | | | | | | | | | | | In commit da5de7f9f3 (bootstrap: Allow --boostrap-system-* libraries custom prefixes, 2024-03-03, v3.30.0-rc1~456^2) the non-pkg-config code path for uv/jsoncpp/rhash all set `use_librhash_ldflags` instead of their own variable.
* | cmSystemTools: Add CMake config directoryMartin Duffy2024-07-031-1/+1
|/
* file: Add undocumented READ_MACHO subcommand on macOSRené Bertin2024-06-041-0/+11
| | | | | | Provide a way to parse the architectures of a Mach-O binary. Issue: #25952
* cmGeneratorTarget: Factor transitive property methods into own sourceBrad King2024-05-201-0/+1
|
* cmGeneratorTarget: Factor link interface/impl methods into own sourceBrad King2024-05-201-0/+1
|
* cmGeneratorTarget: Factor compatible interface properties into own sourceBrad King2024-05-201-0/+1
|
* cmGeneratorTarget: Factor options-like usage requirements into own sourceBrad King2024-05-201-0/+1
|
* cmGeneratorTarget: Factor LINK_DIRECTORIES impl into own sourceBrad King2024-05-201-0/+1
|
* cmGeneratorTarget: Factor INCLUDE_DIRECTORIES impl into own sourceBrad King2024-05-201-0/+1
|
* cmGeneratorTarget: Factor SOURCES impl into own sourceBrad King2024-05-201-0/+1
|
* cmGeneratorTarget: Factor TargetPropertyEntry into own sourceBrad King2024-05-201-0/+1
|
* cmTargetTraceDependencies: Factor out of cmGeneratorTargetBrad King2024-05-201-0/+1
|
* macOS: Prefer building with system-provided curlBrad King2024-05-091-2/+2
| | | | | | | | | | | | | | | | | | | Our vendored curl only enables the Secure Transport backend by default (`CURL_SSL_BACKEND=secure-transport`), but it is limited to TLS 1.2. The macOS SDK provides the curl development components, and the corresponding `libcurl.4.dylib` runtime library comes with macOS. On macOS 12 and above, the default `CURL_SSL_BACKEND=openssl` backend seems to be capable of selecting TLS 1.3 at runtime for https connections. Unfortunately the macOS version of curl, even on macOS 14.4, does not accept `CURL_SSLVERSION_TLSv1_3` at runtime to enforce TLS 1.3. However, while our vendored curl accepts the option and passes it to Secure Transport, macOS does not actually enforce it anyway. Fixes: #25870 Fixes: #23701
* bootstrap: Allow --boostrap-system-* libraries custom prefixesAlex Richardson2024-03-041-3/+12
| | | | | | If pkg-config is available, we can query it for the correct -l/-L flags. This fixes the --boostrap-libuv build for me with libuv installed into $HOME and PKG_CONFIG_PATH set appropriately
* librhash: Update build within CMake for rhash 1.4.4Brad King2023-12-011-1/+3
|
* install(EXPORT): Export find_dependency() callsKyle Edwards2023-11-131-0/+1
| | | | | | Issue: #20511 Co-Authored-by: Brad King <brad.king@kitware.com> Co-Authored-by: Robert Maynard <rmaynard@nvidia.com>
* bootstrap: update known compilersscivision2023-10-131-2/+2
| | | | | | como: Comeau-not updated since 2008, unlikely to work with CMake icc: discontinued for icx icc: not for C++, put in 20 years ago, probably never used / worked
* cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-291-0/+1
|
* Merge topic 'imported-cxxmodules'Brad King2023-08-211-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 48ee946fdc cmExperimental: recycle the C++ modules API UUID 1a1806a71b gitlab-ci: declare `bmionly` support for modules where possible 457a12f3f9 Tests/RunCMake/CXXModules: add tests which use modules from imported targets 9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets 80ef50a191 CXXModules: add a variable for BMI-only compilation 80d6544398 cxxmodules: generate synthetic targets as an initial pass 3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8535
| * cmCxxModuleUsageEffects: add a class to capture module usage effectsBen Boeckel2023-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | When importing a C++ module, there may be requirements imposed by the importer so that the compiler can reliably read the BMI. For example, the standard used in the importer may need to also apply to the imported BMI. Right now, there are no tracked requirements. As we learn more, this class can start tracking more information. See: https://wg21.link/p2581r2
| * cmImportedCxxModuleInfo: introduce code to parse exported BMI propertiesBen Boeckel2023-08-171-0/+1
| |
* | libuv: Compile as C11 on all Solaris versionsBrad King2023-08-181-2/+0
| | | | | | | | | | Using `_XOPEN_SOURCE=600` on Solaris 5.10, as we do on Solaris 5.11+ already, allows the system headers to be included in C99 and C11 modes.
* | cmJSONHelpers: Make error generators proper functionsKyle Edwards2023-08-161-0/+1
|/
* macOS: Add support for linking against .xcframework foldersKyle Edwards2023-07-261-0/+2
| | | | Issue: #21752
* bootstrap: Unconditionally build libjsoncppKyle Edwards2023-07-261-31/+24
|
* bootstrap: Add --(no-)system-cppdap configuration switchBjörn Esser2023-06-081-2/+4
| | | | | | This was accidentally left out of commit 5ec69eb58c (cppdap: Build as part of CMake or use external installation, 2023-05-19, v3.27.0-rc1~45^2~1).
* cmake: Add debuggerGlen Chung2023-05-301-0/+11
| | | | | | | | | | | | | | | | - Depends on cppdap and jsoncpp. - Add --debugger argument to enable the Debugger. - Add --debugger-pipe argument for DAP traffics over named pipes. - Support breakpoints by filenames and line numbers. - Support exception breakpoints. - Call stack shows filenames and line numbers. - Show Cache Variables. - Show the state of currently defined targets, tests and directories with their properties. - Add cmakeVersion to DAP initialize response. - Include unit tests. Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
* bootstrap: Add support for CXX containing flagsCory Fields2023-05-081-13/+27
| | | | | | Rather than treating the user-provided CXX as a space-separated series of compilers, treat it as a single command-line fragment which possibly contains flags.
* bootstrap: Add support for CC containing flagsCory Fields2023-05-081-15/+29
| | | | | | Rather than treating the user-provided CC as a space-separated series of compilers, treat it as a single command-line fragment which possibly contains flags.
* bootstrap: Do not over-quote compiler variablesCory Fields2023-05-081-3/+3
| | | | They may contain flags.
* Merge topic 'automoc-macro-names'Craig Scott2023-04-101-0/+1
|\ | | | | | | | | | | | | | | | | | | | | c5c3aff1f5 Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target property 69cf9700e6 Autogen: Defer setup until Generate step 7cecb6353e cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructure 2daba01ddf cmGeneratorTarget: Avoid incidental include-what-you-use warning 850b4d990c IWYU: Add mapping for 'std::remove_reference<Defer &>::type' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8391
| * cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructureOrkun Tokdemir2023-04-051-0/+1
| | | | | | | | | | Make it available outside the `cmGeneratorTarget` implementation. In particular, we will later use it in `cmQtAutoGenInitializer`.
* | cmList: CMake list implementationMarc Chevrier2023-04-051-0/+1
|/ | | | Fixes: #24548
* bootstrap: Update for KWSys removal of String.hxxBrad King2023-02-091-1/+0
|
* Merge topic 'update-libuv'Brad King2022-09-271-0/+3
|\ | | | | | | | | | | | | | | | | | | 23de1675fd libuv: Update CMake-internal buildsystem for 1.44.2 ff82df301c Merge branch 'upstream-libuv' into update-libuv a23da15596 libuv 2022-07-12 (0c1fa696) cfe8fd6421 libuv: Update script to get libuv 1.44.2 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7709
| * libuv: Update CMake-internal buildsystem for 1.44.2Brad King2022-09-271-0/+3
| |
* | bootstrap: Enable add_compile_definitions commandBrad King2022-09-221-0/+1
| | | | | | | | Make the command available to CMake's own CMake code.
* | Add new flow-control commands for variables and policies scopes managementMarc Chevrier2022-08-221-0/+1
| | | | | | | | | | | | | | Add block() and endblock() commands offering the capability to create new scopes for variables and/or policies. Fixes: #20171
* | install: support `CXX_MODULES_BMI` installation bitsBen Boeckel2022-07-061-0/+1
| |
* | cmCxxModuleMapper: add source to handle module mapper contentsBen Boeckel2022-06-161-0/+1
| | | | | | | | | | This will allow all generators to share an implementation for actually writing out the module map formats.
* | cmExperimental: add a mechanism for experimental CMake featuresBen Boeckel2022-06-141-0/+1
|/
* zlib: Drop old sources to make room for a fresh importBrad King2022-05-261-1/+0
|
* find_* commands: add control over Windows registry viewsMarc Chevrier2022-04-291-0/+4
| | | | Fixes: #22775
* cmRulePlaceholderExpander: add base class for placeholder expansion reuseMarc Chevrier2022-02-061-0/+1
|
* bootstrap: Avoid TOC overflow on AIX powerpcBrad King2022-01-271-0/+14
| | | | | | | Since commit 5c58a7e4d2 (ppc64: Work around TOC overflow with platform specific linker flags, 2019-02-27, v3.15.0-rc1~460^2) we use a bigtoc flag on this platform when building CMake with CMake. Add it to the bootstrap script too.
* bootstrap: Remove stray indentationBrad King2022-01-271-1/+1
|