Skip to content

Commit 545f7bf

Browse files
rickyjames35rpavlik
authored andcommitted
CMake: Switch to using find_package(Python3) and Python3_EXECUTABLE
The old style used was deprecated in CMake 3.12, so this should not negatively impact our compatibility (requires 3.16) rpavlik: Only need interpreter, add changelog fragment
1 parent 4b9834d commit 545f7bf

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
cmake_minimum_required(VERSION 3.16)
2222
project(OPENXR)
2323

24-
find_package(PythonInterp 3)
24+
find_package(Python3 COMPONENTS Interpreter)
2525
include(CTest)
2626

2727
# Enable IDE GUI folders. "Helper targets" that don't have interesting source code should set their FOLDER property to this
@@ -44,7 +44,7 @@ option(
4444
OFF
4545
)
4646

47-
if(BUILD_FORCE_GENERATION AND NOT PYTHON_EXECUTABLE)
47+
if(BUILD_FORCE_GENERATION AND NOT Python3_EXECUTABLE)
4848
message(FATAL_ERROR "BUILD_FORCE_GENERATION requires Python")
4949
endif()
5050

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Improvement: Migrate CMake build system away from using `find_package(PythonInterpreter)`, deprecated since CMake 3.12. Use `find_package(Python3 COMPONENTS Interpreter)` instead.

include/openxr/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ else()
7979
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${output}"
8080
COMMAND
8181
"${CMAKE_COMMAND}" -E env "PYTHONPATH=${CODEGEN_PYTHON_PATH}"
82-
"${PYTHON_EXECUTABLE}"
82+
"${Python3_EXECUTABLE}"
8383
"${PROJECT_SOURCE_DIR}/specification/scripts/genxr.py" -registry
8484
"${PROJECT_SOURCE_DIR}/specification/registry/xr.xml" -o
8585
"${CMAKE_CURRENT_BINARY_DIR}" ${output}

src/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ macro(run_xr_xml_generate dependency output)
429429
)
430430
list(APPEND GENERATED_OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/${output}")
431431
else()
432-
if(NOT PYTHON_EXECUTABLE)
432+
if(NOT Python3_EXECUTABLE)
433433
message(
434434
FATAL_ERROR
435435
"Python 3 not found, but pre-generated ${CMAKE_CURRENT_SOURCE_DIR}/${output} not found"
@@ -439,7 +439,7 @@ macro(run_xr_xml_generate dependency output)
439439
OUTPUT "${output}"
440440
COMMAND
441441
"${CMAKE_COMMAND}" -E env "PYTHONPATH=${CODEGEN_PYTHON_PATH}"
442-
"${PYTHON_EXECUTABLE}"
442+
"${Python3_EXECUTABLE}"
443443
"${PROJECT_SOURCE_DIR}/src/scripts/src_genxr.py" -registry
444444
"${PROJECT_SOURCE_DIR}/specification/registry/xr.xml"
445445
"${output}"
@@ -453,7 +453,7 @@ macro(run_xr_xml_generate dependency output)
453453
${ARGN}
454454
VERBATIM
455455
COMMENT
456-
"Generating ${output} using ${PYTHON_EXECUTABLE} on ${dependency}"
456+
"Generating ${output} using ${Python3_EXECUTABLE} on ${dependency}"
457457
)
458458
set_source_files_properties(${output} PROPERTIES GENERATED TRUE)
459459
list(APPEND GENERATED_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${output}")
@@ -475,7 +475,7 @@ macro(
475475
OUTPUT "${filename}"
476476
COMMAND
477477
"${CMAKE_COMMAND}" -E env "PYTHONPATH=${CODEGEN_PYTHON_PATH}"
478-
"${PYTHON_EXECUTABLE}"
478+
"${Python3_EXECUTABLE}"
479479
"${PROJECT_SOURCE_DIR}/src/scripts/generate_api_layer_manifest.py"
480480
-f "${filename}" -n ${layername} -l ${libfile} -a ${MAJOR}.${MINOR}
481481
-v ${version} ${genbad} -d ${desc}

src/tests/loader_test/test_runtimes/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ macro(gen_xr_runtime_json filename libfile)
4949
add_custom_command(
5050
OUTPUT ${filename}
5151
COMMAND
52-
"${PYTHON_EXECUTABLE}"
52+
"${Python3_EXECUTABLE}"
5353
"${PROJECT_SOURCE_DIR}/src/scripts/generate_runtime_manifest.py" -f
5454
${filename} -l ${libfile} ${ARGN}
5555
DEPENDS "${PROJECT_SOURCE_DIR}/src/scripts/generate_runtime_manifest.py"

0 commit comments

Comments
 (0)