summaryrefslogtreecommitdiffstats
path: root/Source/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'linux32-system-libarchive' into release-4.2Brad King2025-12-121-4/+0
|\ | | | | | | | | | | | | | | | | cea7f7fc32 Linux: Do not force 64-bit `time_t` on 32-bit archs with system libarchive 16cc3e25d4 Utilities: Select bundled or external dependencies very early Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !11505
| * Utilities: Select bundled or external dependencies very earlyBrad King2025-12-111-4/+0
| |
* | libarchive: Set build options the way we need for CMakeBrad King2025-09-261-0/+1
| |
* | Find*: Update *_FOUND variablesPeter Kokot2025-09-233-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This marks all `<PACKAGENAME>_FOUND` result variables as deprecated where possible (for `<PackageName>` find modules) to make it clearer which variable to use. In CMake 3.3, the FindPackageHandleStandardArgs module was refactored to set both `<PackageName>_FOUND` and uppercase `<PACKAGENAME>_FOUND` result variables to the same values. Before that, the FOUND_VAR argument could be used to set the result variable. * FindMatlab: Uppercased MATLAB_FOUND is not mentioned as it was never documented. * Documentation for FindPythonInterp and FindPythonLibs modules synced accordingly to their deprecation (3.12 instead of 4.2). * OPENGL_FOUND: deprecation version synced with other find modules. * DevIL_FOUND was introduced in CMake 3.8. The uppercased variant not mentioned as it was previously never documented. Fixes: #27242
* | FindJsonCpp: Add JsonCpp_VERSIONPeter Kokot2025-08-171-9/+9
|/ | | | | | | | This also removes the JsonCpp_VERSION_STRING result variable, which doesn't need to be deprecated and further provided by the module as this is internal module. Issue: #27088
* Source: Drop support for KWSys Encoding without std::wstring methodsBrad King2025-06-091-1/+0
|
* cmConsoleBuf: Remove unused infrastructureBrad King2025-05-131-1/+0
| | | | It has been replaced by `cm::StdIo::Console`.
* Merge topic 'patch-FindLibLZMA'Brad King2025-04-081-1/+1
|\ | | | | | | | | | | | | 86ed465ee6 FindLibLZMA: Update documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !10614
| * FindLibLZMA: Update documentationPeter Kokot2025-04-071-1/+1
| | | | | | | | | | - Module documentation synced a bit with other similar find modules. - Added examples section.
* | FindCurses: Update documentationPeter Kokot2025-04-051-1/+1
|/ | | | | | | | | - Module documentation synced with other similar find modules. - Added examples section. - Documented backward-compatibility variables as deprecated. - Added versions mentioning when variable got obsoleted/deprecated. - Curses_FOUND variable used instead of the CURSES_FOUND. Both are set by the find_package_handle_standard_args().
* LICENSE: Replace references to Copyright.txt with LICENSE.rstKitware Robot2025-03-035-5/+5
| | | | | | | | | | ``` git grep -lz 'Copyright.txt or https://cmake.org/licensing ' | while IFS= read -r -d $'\0' f ; do sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / { s/Copyright.txt/LICENSE.rst/ }' "$f" ; done ```
* curl: Set build options the way we need for CMakeBrad King2025-02-141-0/+1
| | | | | | | | Set options added by the update to curl 8.12.1. In particular, now that upstream curl's CMake code depends on OpenSSL via imported targets from FindOpenSSL, we can let it handle the transitive dependency on posix threads.
* Use lower case style for commandsPeter Kokot2025-01-284-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Where possible this syncs the CS for command names: - check_c_source_compiles() - check_cxx_compiler_flag() - check_cxx_source_compiles() - check_cxx_symbol_exists() - check_include_file_cxx() - check_include_file() - check_include_files() - check_library_exists() - check_source_compiles() - check_struct_has_member() - check_symbol_exists() - check_type_size() - cmake_dependent_option() - cmake_parse_arguments() - feature_summary() - file() - find_package_handle_standard_args() - if(), endif... - install(FILES) - list() - message() - pkg_check_modules() - select_library_configurations() - set_package_info() - test_big_endian()
* FindPackageHandleStandardArgs: Clarify the FOUND_VAR optionPeter Kokot2024-12-314-8/+0
| | | | | | | | The `find_package_handle_standard_args(FOUND_VAR)` is deprecated as of CMake 3.3 and both the `<PackageName>_FOUND` and the upper-cased `<PACKAGE_NAME>_FOUND` are set with or without using this option. Additionally, find modules and docs are also synced with this to make it clearer.
* CYGWIN,MSYS: Build CMake with OpenSSL by defaultBrad King2024-09-271-1/+1
| | | | | | | | Extend the changes from commit 190a5fdffd (Automatically use OpenSSL by default on Linux and FreeBSD if available, 2016-02-26, v3.6.0-rc1~301^2) and commit dd3e476786 (OpenSSL: Issue an error if OpenSSL is not found, 2019-07-17, v3.16.0-rc1~379^2) to cover builds targeting the CYGWIN and MSYS runtime platforms.
* libarchive: Set build options the way we need for CMakeBrad King2024-09-171-0/+2
|
* PkgC: Add llpkgc to buildVito Gamberini2024-07-291-0/+6
|
* Merge branch 'backport-ci-fedora-39' into ci-fedora-39Brad King2023-11-171-2/+2
|\
| * codespell: Fix typosBrad King2023-11-171-2/+2
| |
* | libarchive: Set build options the way we need for CMakeBrad King2023-10-161-0/+2
|/
* cmake: Add debuggerGlen Chung2023-05-301-1/+1
| | | | | | | | | | | | | | | | - 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>
* cppdap: Build as part of CMake or use external installationBrad King2023-05-261-0/+16
| | | | | | Add `cm3p/` headers to use the selected copy of the library. Co-authored-by: Glen Chung <kuchung@microsoft.com>
* libarchive: Set build options the way we need for CMakeBrad King2023-04-251-1/+1
|
* Tests: Remove references to dropped KWSys SharedForward componentBrad King2023-02-071-1/+0
|
* Build: Use imported target `kwiml::kwiml` instead of variablesAlex Turbov2022-09-221-2/+0
|
* Build: Use imported target `LibRHash::LibRHash` instead of variablesAlex Turbov2022-09-221-2/+1
|
* Build: Use imported target `LibUV::LibUV` instead of variablesAlex Turbov2022-09-221-2/+1
|
* Build: Use imported target `JsonCpp::JsonCpp` instead of variablesAlex Turbov2022-09-221-2/+1
|
* Build: Use imported target `CURL::libcurl` instead of variablesAlex Turbov2022-09-221-4/+1
|
* Build: Use imported target `LibArchive::LibArchive` instead of variablesAlex Turbov2022-09-221-4/+9
|
* Build: Use imported target `EXPAT::EXPAT` instead of variablesAlex Turbov2022-09-221-0/+1
|
* Build: Use imported target `ZLIB::ZLIB` instead of variablesAlex Turbov2022-09-221-10/+8
|
* Build: Extract `CMAKE_BUILD_UTILITIES` macro into a separate includeAlex Turbov2022-09-221-0/+383
| | | | | | The macro was one time used with the comment "Simply to improve readability...". The result file doesn't have a macro anymore and just included into the root `CMakeLists.txt`.
* MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-261-1/+8
| | | | Detect MSYS as CYGWIN, with the required adaptations.
* Check for support before adding bigtoc linker flagAlexander Grund2019-12-091-0/+29
| | | | Fixes: #20076
* FindLibUV: Also check uv/version.h for version detectionRaphael Kubo da Costa2018-06-251-0/+2
| | | | | Starting with libuv 1.21.0, libuv's headers were moved into a uv/ directory. Make FindLibUV aware of the file's new location for configuration to work.
* AIX: Add -pthread flag to enable std::thread with GCCBrad King2017-11-282-0/+6
|
* cpack wix: support WiX generator on CygwinStephen Sorley2017-10-131-0/+85
| | | | | | | | | | | | Cygwin-built CMake now converts paths from Cygwin to Windows form (using cygpath -w) before they're passed to WiX. The Wix generator on Cygwin requires the libuuid-dev package when building CMake. However, the DLL it links to is installed by default as part of Cygwin's core libs, so it does not need to be distributed. If libuuid-dev isn't available, CMake is simply built without Wix support on Cygwin.
* FindLibUV: Add Windows library nameChristian Pfeiffer2017-03-301-1/+1
|
* FindLibRHash: Add module to find the librhash packageBrad King2016-11-101-0/+73
| | | | | | Add it to a private source directory that is not installed so that we can use it for building CMake itself. This will allow it to mature before being distributed publicly.
* Simplify CMake per-source license noticesBrad King2016-09-272-26/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* FindLibUV: Add module to find libuv packageBrad King2016-08-311-0/+131
| | | | | | Add it to a private source directory that is not installed so that we can use it for building CMake itself. This will allow it to mature before being distributed publicly.
* FindJsonCpp: Drop new module due to upstream jsoncpp providing packageBrad King2015-02-201-0/+117
Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake package configuration file such that find_package(jsoncpp) will find a jsoncppConfig.cmake file. In order to avoid conflicting with this (especially on case-insensitive filesystems), and since we always prefer projects to provide package config files (that they maintain), it is better to not provide FindJsonCpp publicly. Move FindJsonCpp into a private source directory that is not installed so that we can still use it for building CMake itself. Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>