| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| |
| |
| |
| | |
7f628ea04b FindPython: Add support for Python 3.15
5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11350
|
| | | |
|
| | |\
| | |
| | |
| | |
| | |
| | |
| | | |
be958c8f35 FindPython: Add support for Python 3.14
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9915
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This removes all `versionadded` RST directives mentioning CMake 2.x
branch from CMake modules. These version notes are now being cleaned in
the CMake 4 documentation (CMake docs are at this point considering the
2.8.12.2 as the initial state upon which new and changed items are
documented through versions).
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Even though these modules are removed with a policy, documentation can
still be improved a bit to help when upgrading CMake code.
Changes:
- Synced modules documentation with other similar find modules.
- Added examples section to hint how to rewrite code using the
FindPython module.
- FindPythonLibs:
- Deprecated variables moved to a separate section.
- PythonLibs_FOUND variable used. The PYTHONLIBS_FOUND variable is
also set to the same value since CMake 3.3.
- FindPythonInterp:
- PythonInterp_FOUND variable used. The PYTHONINTERP_FOUND variable is
also set to the same value since CMake 3.3.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
```
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
```
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit d74210a8bd (CMP0017: Remove support for OLD behavior,
2024-11-17) we can rely on CMP0017's NEW behavior unconditionally.
Calling `include(FindPackageHandleStandardArgs)` in a builtin module
will always get the builtin `FindPackageHandleStandardArgs`.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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()
|
| |\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
be958c8f35 FindPython: Add support for Python 3.14
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9915
|
| | | |
|
| |/
|
|
| |
Fixes: #20446
|
| |
|
|
| |
Closes: #25829
|
| |
|
|
|
| |
Python 3.13.0a0 can be built from main branch of python/cpython though
there were no official releases yet.
|
| |
|
|
|
|
| |
The `FindPythonInterp` and `FindPythonLibs` modules have been deprecated
since CMake 3.12. Add a policy to pretend they do not exist in order to
encourage projects to port to `FindPython` or `FindPython{2,3}`.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Extend the change from commit 23cd98a66a (FindPython: Add support of
version 3.10, 2020-10-16, v3.19.0-rc2~25^2) to cover the legacy
`FindPython{Interp,Libs}` modules too.
|
| |
|
|
|
|
|
| |
Development versions of Python 3.9.0 are already out there.
See PEP 596 -- Python 3.9 Release Schedule:
https://www.python.org/dev/peps/pep-0596/
|
| | |
|
| | |
|
| |
|
|
| |
Fixes: #18443
|
| |
|
|
| |
Python 3.7 is about to be released, making the development version 3.8.
|
| |
|
|
| |
Fixes: #16142
|
| |
|
|
|
|
|
|
|
|
| |
Drop the `NO_SYSTEM_ENVIRONMENT_PATH` option from our `find_library`
calls. No other find modules do this. Also, since commit
v3.3.0-rc1~430^2 (Teach find_(library|file|path) to get prefixes from
PATH, 2015-02-18) we always search the `lib` directory of each prefix
before the `bin` directory and so should prefer the non-`.dll` name.
Issue: #17336
|
| |
|
|
|
|
|
|
|
| |
Add `NAMES_PER_DIR` to all `find_library` invocations so that we
consider all possible names in each search directory before moving on to
the next directory. This helps find the package that appears earliest
in the search path regardless of how it names its libraries.
Fixes: #17336
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
`PYTHON_LIBRARY` may contain a list because of `SelectLibraryConfigurations`.
If it is the case, the list can be:
optimized;<FILEPATH_TO_RELEASE_LIBRARY>;debug;<FILEPATH_TO_DEBUG_LIBRARY>
Instead of directly using the value of `PYTHON_LIBRARY` in the CMake
function `get_filename_component()`, we loop over the content of the
relevant parts of `PYTHON_LIBRARY` and `PYTHON_DEBUG_LIBRARY` whether
they are lists or not.
Suggested-by: Brad King <brad.king@kitware.com>
|
| |
|
|
|
|
|
|
| |
The `PYTHON_EXECUTABLE` variable normally contains an absolute path, but
tolerate cases when it does not without calling `get_filename_component`
with an incorrect number of arguments.
Closes: #16452
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Improve wording in our advice about how to call both of these modules.
|
| |
|
|
| |
To avoid pollution, unset variables that are only meant for local use.
|
| |
|
|
|
|
| |
If PYTHON_EXECUTABLE is set, then we should look for the libs in the
same prefix, e.g. /usr/local/python -> /usr/local/lib, and on Win32
/Python34/python.exe -> /Python34/libs.
|
| |
|
|
|
|
| |
This commit ensures that FindPythonLibs has found the library before
before the search for the include dir begins. The library prefix and
version can then be used to find the matching include dir.
|
| |
|
|
|
|
|
|
| |
We use PATH_SUFFIXES to append "python<v>" to each candidate path. Do
not append it to the constructed list of python framework include
directories. Otherwise the combined path will never exist. Note that
the code doesn't yet try to match the suffixes "m" and "u" between the
executable, library, and include directory.
|
| |
|
|
|
|
| |
This cmake variable has been deprecated for over a decade, and using it
as an input could potentially cause unexpected results. We still need
to keep it as an output variable for compatibility though.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Address the test case
cmake_minimum_required(VERSION 2.8)
set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6)
find_package(PythonLibs 3 REQUIRED)
with a Python 3.4.x .pkg installed from python.org on OSX.
Temporarily set CMAKE_FIND_FRAMEWORK to LAST to avoid finding the
system Python.h prematurely.
Add directories inside the frameworks to the search list for the library
as is done for the header.
|
| |\
| |
| |
| |
| |
| | |
59220198 FindPython*: Document suggested find_package order (#13794)
a9e6de2a FindPythonInterp: Use consistent version with PythonLibs (#13794)
|
| | |
| |
| |
| |
| | |
Document in both FindPythonInterp.cmake and FindPythonLibs.cmake that
find_package(PythonInterp) should be called before find_package(PythonLibs).
|
| |\ \
| |/
|/|
| |
| | |
ab6201ab FindPython{Interp,Libs}: Search for Python 3.4.
|
| | |
| |
| |
| | |
Python 3.4.0rnc1 was released on 2014-02-20.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The parent commit taught FindPythonLibs to try to find PythonInterp
unconditionally. Some projects may want the libraries of a specific
version even when the corresponding interpreter is not available. Drop
the internal use of FindPythonInterp and just use the versions from it
if it happens to have been found by the project first. That will allow
projects to get a consistent version when they want both but not
otherwise force them to find the interpreter.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
When possible, get consistent version of the Python interpreter, headers path,
and library.
Now find_package(PythonLibs) internally calls find_package(PythonInterp
QUIET) and uses the resulting PYTHON_VERSION_MAJOR and
PYTHON_VERSION_MINOR to prefer these versions when looking for the
header path and library. The Python_ADDITIONAL_VERSIONS variable has
priority over the interpreter version.
Co-Author: Adam Wolf
Co-Author: Gert Wollny <gw.fossdev@gmail.com>
|
| |
|
|
|
|
|
|
| |
Run the convert-help.bash script to convert documentation:
./convert-help.bash "/path/to/CMake-build/bin"
Then remove it.
|
| |
|
|
|
| |
CMake already provides the version components split into variables, no need to
split them again.
|
| |
|
|
|
|
| |
This solves a lots of warnings, e.g. in the FindModulesExecuteAll test. If the
installed version on the system is rather old this may even lead to bugs, e.g.
https://bugs.gentoo.org/show_bug.cgi?id=436540
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block. This is no longer the preferred style.
Run the following shell code:
for c in else endif endforeach endfunction endmacro endwhile; do
echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code:
cmake --help-command-list |
grep -v "cmake version" |
while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
| | |
|
| |
|
|
|
| |
Add information on how to change which install of Python is found
by CMake.
|