Skip to content

Commit 06b25e6

Browse files
committed
COMP: Initiate updating to find_package(Python3)
Now that cmake FindPython3 can be universally used, prefer to only use that set of variable names for identifying the python executables. Intial procesing with manual cleanup by a mofified version of the script used for ITK: ITK/Utilities/Maintenance/FindPython3_ModernizeCMake.sh This maintenance script can be used to assist with moving from the deprecated find_package(PythonInterp) and find_package(PythonLib) to the preferred find_package(Python3) variable names. ------------------------------ NOTE: This script is intended to make it easier to identify old find_package(PythonInterp uses, but it can not be blindly used. each change must be carefully reviewed. ```bash \#!/bin/bash COMMIT_INFO="COMP: Script to initiate updating to find_package(Python3) Now that cmake FindPython3 can be universally used, prefer to only use that set of variable names for identifying the python executables. Intial procesing with manual cleanup by: ITK/Utilities/Maintenance/FindPython3_ModernizeCMake.sh This maintenance script can be used to assist with moving from the deprecated find_package(PythonInterp) and find_package(PythonLib) to the preferred find_package(Python3) variable names. ------------------------------ NOTE: This script is intended to make it easier to identify old find_package(PythonInterp uses, but it can not be blindly used. each change must be carefully reviewed. " \# Utility functions usage() { cat << EOF Usage: $0 $COMMIT_INFO EOF } die() { echo "$@" 1>&2; exit 1 } while test $# -gt 0; do opt="$1"; case "$opt" in "-h"|"--help") shift; help=true break;; *) break;; esac done if test $help; then usage exit 1 fi \# Deprecated (since cmake 3.12) variables from the FindPythonInterp \# PYTHONINTERP_FOUND \# PYTHON_EXECUTABLE \# PYTHON_VERSION_STRING \# PYTHON_VERSION_MAJOR \# PYTHON_VERSION_MINOR \# PYTHON_VERSION_PATCH \# Additional deprecated (since cmake 3.12) variables from the FindPythonLibs \# PYTHONLIBS_FOUND \# PYTHON_LIBRARIES \# PYTHON_INCLUDE_PATH \# PYTHON_INCLUDE_DIRS \# PYTHON_DEBUG_LIBRARIES \# PYTHONLIBS_VERSION_STRING \# PYTHON_LIBRARY \# PYTHON_INCLUDE_DIR cat > /tmp/temp.sed << EOF s/PYTHON_LIBRARY_PATH/CTK_PYTHON3_LIBRARY_PATH/g s/PYTHON_LIBRARY/CTK_PYTHON3_LIBRARY/g s/PYTHON_INCLUDE_DIR/CTK_PYTHON3_INCLUDE_DIR/g s/PYTHON_DEBUG_LIBRARIES/CTK_PYTHON3_DEBUG_LIBRARIES/g s/PYTHONINTERP_FOUND/Python3_Interpreter_FOUND/g s/PYTHON_EXECUTABLE/Python3_EXECUTABLE/g s/PYTHON_VERSION_STRING/Python3_VERSION/g s/PYTHON_VERSION_MAJOR/Python3_VERSION_MAJOR/g s/PYTHON_VERSION_MINOR/Python3_VERSION_MINOR/g s/PYTHON_VERSION_PATCH/Python3_VERSION_PATCH/g s/PYTHONLIBS_FOUND/Python3_Development_FOUND/g s/PYTHON_LIBRARIES/Python3_LIBRARIES/g s/PYTHON_INCLUDE_PATH/Python3_XXXXXXX_INCLUDE_PATH_NO_MAPPING_FOR_THIS_PYTHON.h_PATH_FINDER/g s/PYTHON_INCLUDE_DIRS/Python3_INCLUDE_DIRS/g s/PYTHON_DEBUG_LIBRARIES/Python3_XXXXX_NO_MAPPING_FOR_THIS_DEBUG_LIBRARIES_FLAG/g s/PYTHONLIBS_VERSION_STRING/Python3_VERSION/g s/PYTHON_LIBRARY/Python3_XXXXXX_LIBARY__NO_MAPPING_FOR_THIS_/g s/PYTHON_INCLUDE_DIR/Python3_XXXXXXX_INCLUDE_DIR_NO_MAPPING_FOR_THIS_PYTHON.h_PATH_FINDER/g s/find_package *( *PythonInterp *REQUIRED *)/find_package(Python3 COMPONENTS Interpreter REQUIRED)/g s/find_package *( *PythonInterp *)/find_package(Python3 COMPONENTS Interpreter)/g s/find_package *( *PythonLibs *)/find_package(Python3 COMPONENTS Development)/g s/find_package *( *PythonInterp/find_package(Python3 COMPONENTS Interpreter/g s/find_package *( *PythonLibs/find_package(Python3 COMPONENTS Development/g s/below_restore_pattern_match_changes_to_original/values/g s/____IGNORE_REVERSION_TO_ORIGINAL_VARIABLE_NAME_____CTK_PYTHON3_LIBRARY_PATH/PYTHON_LIBRARY_PATH/g s/____IGNORE_REVERSION_TO_ORIGINAL_VARIABLE_NAME_____CTK_PYTHON3_LIBRARY/PYTHON_LIBRARY/g s/____IGNORE_REVERSION_TO_ORIGINAL_VARIABLE_NAME_____CTK_PYTHON3_INCLUDE_DIR/PYTHON_INCLUDE_DIR/g s/____IGNORE_REVERSION_TO_ORIGINAL_VARIABLE_NAME_____CTK_PYTHON3_DEBUG_LIBRARIES/PYTHON_DEBUG_LIBRARIES/g EOF if [ $(uname) == "Darwin" ] ; then SEDBIN=gsed else SEDBIN=sed fi \# Do the replacement find . -type f \( -name 'CMakeLists.txt' -o -name '*\.cmake*' \) -exec ${SEDBIN} -i'' -f /tmp/temp.sed {} \; cat > /tmp/git_message.txt << EOF ${COMMIT_INFO} EOF
1 parent ba61ba5 commit 06b25e6

File tree

12 files changed

+59
-59
lines changed

12 files changed

+59
-59
lines changed

CMake/ctkBlockCheckDependencies.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ set(${Log4Qt_enabling_variable}_INCLUDE_DIRS Log4Qt_INCLUDE_DIRS)
7575
set(${Log4Qt_enabling_variable}_FIND_PACKAGE_CMD Log4Qt)
7676

7777
set(PythonQt_enabling_variable PYTHONQT_LIBRARIES)
78-
set(${PythonQt_enabling_variable}_INCLUDE_DIRS PYTHONQT_INCLUDE_DIR PYTHON_INCLUDE_DIRS)
78+
set(${PythonQt_enabling_variable}_INCLUDE_DIRS PYTHONQT_INCLUDE_DIR CTK_PYTHON3_INCLUDE_DIRS)
7979
set(${PythonQt_enabling_variable}_FIND_PACKAGE_CMD PythonQt)
8080

8181
set(QtSOAP_enabling_variable QtSOAP_LIBRARIES)

CMake/ctkMacroBuildLibWrapper.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ macro(ctkMacroBuildLibWrapper)
9595
# Since the PythonQt decorator depends on PythonQt, Python and VTK, let's link against
9696
# these ones to avoid complaints of MSVC
9797
# Note: "LINK_DIRECTORIES" has to be invoked before "ADD_LIBRARY"
98-
ctkFunctionExtractOptimizedLibrary(PYTHON_LIBRARIES PYTHON_LIBRARY)
99-
set(my_EXTRA_PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${PYTHONQT_LIBRARIES})
98+
ctkFunctionExtractOptimizedLibrary(Python3_LIBRARIES CTK_PYTHON3_LIBRARY)
99+
set(my_EXTRA_Python3_LIBRARIES ${CTK_PYTHON3_LIBRARY} ${PYTHONQT_LIBRARIES})
100100

101101
# Does a header having the expected filename exists ?
102102
string(REGEX REPLACE "^CTK" "ctk" lib_name_lc_ctk ${lib_name})
@@ -127,7 +127,7 @@ macro(ctkMacroBuildLibWrapper)
127127
endif()
128128
endif()
129129
add_library(${lib_name}PythonQt ${MY_WRAPPER_LIBRARY_TYPE} ${KIT_PYTHONQT_SRCS})
130-
target_link_libraries(${lib_name}PythonQt ${lib_name} ${my_EXTRA_PYTHON_LIBRARIES})
130+
target_link_libraries(${lib_name}PythonQt ${lib_name} ${my_EXTRA_Python3_LIBRARIES})
131131
if(MY_WRAPPER_LIBRARY_TYPE STREQUAL "STATIC")
132132
if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64-bit
133133
set_target_properties(${lib_name}PythonQt PROPERTIES COMPILE_FLAGS "-fPIC")

CMake/ctkMacroCompilePythonScript.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -148,19 +148,19 @@ function(_ctk_add_compile_python_directories_target target)
148148
set(_compileall_code "${_compileall_code}\nctk_compile_file('${tgt}', force=1)")
149149
endforeach()
150150

151-
if(NOT PYTHONINTERP_FOUND)
152-
find_package(PythonInterp REQUIRED)
151+
if(NOT Python3_Interpreter_FOUND)
152+
find_package(Python3 COMPONENTS Interpreter REQUIRED)
153153
endif()
154-
if(NOT PYTHONLIBS_FOUND)
155-
find_package(PythonLibs REQUIRED)
154+
if(NOT Python3_Development_FOUND)
155+
find_package(Python3 COMPONENTS Development REQUIRED)
156156
endif()
157157

158158
# Extract python lib path
159-
ctkFunctionExtractOptimizedLibrary(PYTHON_LIBRARIES PYTHON_LIBRARY)
160-
get_filename_component(PYTHON_LIBRARY_PATH "${PYTHON_LIBRARY}" PATH)
159+
ctkFunctionExtractOptimizedLibrary(Python3_LIBRARIES CTK_PYTHON3_LIBRARY)
160+
get_filename_component(CTK_PYTHON3_LIBRARY_PATH "${CTK_PYTHON3_LIBRARY}" PATH)
161161

162162
# Configure cmake script associated with the custom command
163-
# required to properly update the library path with PYTHON_LIBRARY_PATH
163+
# required to properly update the library path with CTK_PYTHON3_LIBRARY_PATH
164164
set(compile_all_cmake_script "${CMAKE_CURRENT_BINARY_DIR}/compile_${target}_python_scripts.cmake")
165165
configure_file(
166166
${CTK_CMAKE_DIR}/ctk_compile_python_scripts.cmake.in

CMake/ctkMacroWrapPythonQt.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ macro(ctkMacroWrapPythonQt WRAPPING_NAMESPACE TARGET SRCS_LIST_NAME SOURCES IS_W
6262
# TODO: this find package seems not to work when called form a superbuild, but the call is needed
6363
# in general to find the python interpreter. In CTK, the toplevel CMakeLists.txt does the find
6464
# package so this is a no-op. Other uses of this file may need to have this call so it is still enabled.
65-
if(NOT PYTHONINTERP_FOUND)
66-
find_package(PythonInterp)
67-
if(NOT PYTHONINTERP_FOUND)
68-
message(FATAL_ERROR "PYTHON_EXECUTABLE not specified or inexistent when calling ctkMacroWrapPythonQt")
65+
if(NOT Python3_Interpreter_FOUND)
66+
find_package(Python3 COMPONENTS Interpreter)
67+
if(NOT Python3_Interpreter_FOUND)
68+
message(FATAL_ERROR "Python3_EXECUTABLE not specified or inexistent when calling ctkMacroWrapPythonQt")
6969
endif()
7070
endif()
7171

@@ -157,7 +157,7 @@ macro(ctkMacroWrapPythonQt WRAPPING_NAMESPACE TARGET SRCS_LIST_NAME SOURCES IS_W
157157
DEPENDS
158158
${SOURCES_TO_WRAP}
159159
${CTK_CMAKE_DIR}/ctkWrapPythonQt.py
160-
COMMAND ${PYTHON_EXECUTABLE} ${CTK_CMAKE_DIR}/ctkWrapPythonQt.py
160+
COMMAND ${Python3_EXECUTABLE} ${CTK_CMAKE_DIR}/ctkWrapPythonQt.py
161161
--target=${TARGET}
162162
--namespace=${WRAPPING_NAMESPACE}
163163
--output-dir=${CMAKE_CURRENT_BINARY_DIR}/${wrap_int_dir} ${extra_args}
@@ -193,6 +193,6 @@ macro(ctkMacroWrapPythonQt WRAPPING_NAMESPACE TARGET SRCS_LIST_NAME SOURCES IS_W
193193
if(NOT PYTHONQT_FOUND)
194194
message(FATAL_ERROR "error: PythonQt package is required to build ${TARGET}PythonQt")
195195
endif()
196-
include_directories(${PYTHON_INCLUDE_DIRS} ${PYTHONQT_INCLUDE_DIR})
196+
include_directories(${CTK_PYTHON3_INCLUDE_DIRS} ${PYTHONQT_INCLUDE_DIR})
197197

198198
endmacro()

CMake/ctk_compile_python_scripts.cmake.in

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ file.write('Done')
8585
set(ENV{PYTHONPATH} "@CTK_PYTHON_COMPILE_FILE_SCRIPT_DIR@")
8686

8787
if(WIN32)
88-
set(ENV{PATH} "@PYTHON_LIBRARY_PATH@;$ENV{PATH}")
88+
set(ENV{PATH} "@CTK_PYTHON3_LIBRARY_PATH@;$ENV{PATH}")
8989
elseif(APPLE)
90-
set(ENV{DYLD_LIBRARY_PATH} "@PYTHON_LIBRARY_PATH@:$ENV{DYLD_LIBRARY_PATH}")
90+
set(ENV{DYLD_LIBRARY_PATH} "@CTK_PYTHON3_LIBRARY_PATH@:$ENV{DYLD_LIBRARY_PATH}")
9191
else()
92-
set(ENV{LD_LIBRARY_PATH} "@PYTHON_LIBRARY_PATH@:$ENV{LD_LIBRARY_PATH}")
92+
set(ENV{LD_LIBRARY_PATH} "@CTK_PYTHON3_LIBRARY_PATH@:$ENV{LD_LIBRARY_PATH}")
9393
endif()
9494

9595
execute_process(
96-
COMMAND "@PYTHON_EXECUTABLE@" "@compile_all_script@"
96+
COMMAND "@Python3_EXECUTABLE@" "@compile_all_script@"
9797
RESULT_VARIABLE result_var
9898
)
9999
if(NOT result_var STREQUAL 0)

CMakeExternals/PythonQt.cmake

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,14 @@ if(NOT DEFINED PYTHONQT_INSTALL_DIR)
7373
endif()
7474

7575
# Python is required
76-
if(NOT PYTHONLIBS_FOUND)
77-
find_package(PythonLibs)
78-
if(NOT PYTHONLIBS_FOUND)
76+
if(NOT Python3_Development_FOUND)
77+
find_package(Python3 COMPONENTS Development)
78+
if(NOT Python3_Development_FOUND)
7979
message(FATAL_ERROR "error: Python is required to build ${PROJECT_NAME}")
8080
endif()
8181
endif()
8282

83-
ctkFunctionExtractOptimizedLibrary(PYTHON_LIBRARIES PYTHON_LIBRARY)
83+
ctkFunctionExtractOptimizedLibrary(Python3_LIBRARIES CTK_PYTHON3_LIBRARY)
8484
if(CTK_QT_VERSION VERSION_EQUAL "5")
8585
set(revision_tag c128afb1b72488e1c21b1cb0205b795b268b45d0) # patched-v3.6.1-2025-09-30-f4769f190
8686
else()
@@ -112,9 +112,9 @@ if(NOT DEFINED PYTHONQT_INSTALL_DIR)
112112
CMAKE_CACHE_ARGS
113113
${ep_common_cache_args}
114114
-DPythonQt_QT_VERSION:STRING=${CTK_QT_VERSION}
115-
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR}
116-
-DPYTHON_INCLUDE_DIR2:PATH=${PYTHON_INCLUDE_DIR2}
117-
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
115+
-DCTK_PYTHON3_INCLUDE_DIR:PATH=${CTK_PYTHON3_INCLUDE_DIR}
116+
-DCTK_PYTHON3_INCLUDE_DIR2:PATH=${CTK_PYTHON3_INCLUDE_DIR2}
117+
-DCTK_PYTHON3_LIBRARY:FILEPATH=${CTK_PYTHON3_LIBRARY}
118118
${ep_PythonQt_args}
119119
DEPENDS
120120
${${proj}_DEPENDENCIES}
@@ -145,10 +145,10 @@ set(PythonQt_DIR ${PYTHONQT_INSTALL_DIR})
145145
mark_as_superbuild(
146146
VARS
147147
PYTHONQT_INSTALL_DIR:PATH
148-
PYTHON_EXECUTABLE:FILEPATH # FindPythonInterp expects PYTHON_EXECUTABLE variable to be defined
149-
PYTHON_INCLUDE_DIR:PATH # FindPythonQt expects PYTHON_INCLUDE_DIR variable to be defined
150-
PYTHON_INCLUDE_DIR2:PATH
151-
PYTHON_LIBRARY:FILEPATH # FindPythonQt expects PYTHON_LIBRARY variable to be defined
148+
Python3_EXECUTABLE:FILEPATH # FindPythonInterp expects Python3_EXECUTABLE variable to be defined
149+
CTK_PYTHON3_INCLUDE_DIR:PATH # FindPythonQt expects CTK_PYTHON3_INCLUDE_DIR variable to be defined
150+
CTK_PYTHON3_INCLUDE_DIR2:PATH
151+
CTK_PYTHON3_LIBRARY:FILEPATH # FindPythonQt expects CTK_PYTHON3_LIBRARY variable to be defined
152152
LABELS "FIND_PACKAGE_VARS"
153153
)
154154
mark_as_superbuild(

CMakeExternals/VTK.cmake

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,24 +68,24 @@ if(NOT DEFINED VTK_DIR AND NOT ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
6868
if(CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
6969

7070
if(NOT DEFINED VTK_PYTHON_VERSION)
71-
set(VTK_PYTHON_VERSION ${PYTHON_VERSION_MAJOR})
71+
set(VTK_PYTHON_VERSION ${Python3_VERSION_MAJOR})
7272
endif()
73-
if(NOT "${VTK_PYTHON_VERSION}" STREQUAL "${PYTHON_VERSION_MAJOR}")
74-
message(FATAL_ERROR "error: VTK_PYTHON_VERSION [${VTK_PYTHON_VERSION}] is expected to match PYTHON_VERSION_MAJOR [${PYTHON_VERSION_MAJOR}]")
73+
if(NOT "${VTK_PYTHON_VERSION}" STREQUAL "${Python3_VERSION_MAJOR}")
74+
message(FATAL_ERROR "error: VTK_PYTHON_VERSION [${VTK_PYTHON_VERSION}] is expected to match Python3_VERSION_MAJOR [${Python3_VERSION_MAJOR}]")
7575
endif()
76-
set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
77-
set(Python3_INCLUDE_DIR ${PYTHON_INCLUDE_DIR})
78-
set(Python3_LIBRARY ${PYTHON_LIBRARY})
76+
set(Python3_EXECUTABLE ${Python3_EXECUTABLE})
77+
set(Python3_INCLUDE_DIR ${CTK_PYTHON3_INCLUDE_DIR})
78+
set(Python3_LIBRARY ${CTK_PYTHON3_LIBRARY})
7979
find_package(Python3 COMPONENTS Interpreter Development)
8080

81-
ctkFunctionExtractOptimizedLibrary(PYTHON_LIBRARIES PYTHON_LIBRARY)
81+
ctkFunctionExtractOptimizedLibrary(Python3_LIBRARIES CTK_PYTHON3_LIBRARY)
8282
list(APPEND additional_vtk_cmakevars
8383
-DVTK_PYTHON_VERSION:STRING=${VTK_PYTHON_VERSION}
8484
# FindPythonInterp, FindPythonLibs
85-
-DPYTHON_EXECUTABLE:PATH=${PYTHON_EXECUTABLE}
86-
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR}
87-
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
88-
-DPYTHON_DEBUG_LIBRARIES:FILEPATH=${PYTHON_DEBUG_LIBRARIES}
85+
-DPython3_EXECUTABLE:PATH=${Python3_EXECUTABLE}
86+
-DCTK_PYTHON3_INCLUDE_DIR:PATH=${CTK_PYTHON3_INCLUDE_DIR}
87+
-DCTK_PYTHON3_LIBRARY:FILEPATH=${CTK_PYTHON3_LIBRARY}
88+
-DCTK_PYTHON3_DEBUG_LIBRARIES:FILEPATH=${CTK_PYTHON3_DEBUG_LIBRARIES}
8989
)
9090
# VTK9
9191
list(APPEND additional_vtk9_cmakevars

CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -880,16 +880,16 @@ endif()
880880

881881
# Check if dependencies are satisfied
882882
if(CTK_LIB_Scripting/Python/Core)
883-
if(NOT PYTHONINTERP_FOUND)
884-
find_package(PythonInterp)
885-
if(NOT PYTHONINTERP_FOUND)
886-
message(FATAL_ERROR "PYTHON_EXECUTABLE variable should be set to build CTK_LIB_Scripting/Python")
883+
if(NOT Python3_Interpreter_FOUND)
884+
find_package(Python3 COMPONENTS Interpreter)
885+
if(NOT Python3_Interpreter_FOUND)
886+
message(FATAL_ERROR "Python3_EXECUTABLE variable should be set to build CTK_LIB_Scripting/Python")
887887
endif()
888888
endif()
889-
if(NOT PYTHONLIBS_FOUND)
890-
find_package(PythonLibs)
891-
if(NOT PYTHONLIBS_FOUND)
892-
message(FATAL_ERROR "PYTHON_LIBRARIES and PYTHON_INCLUDE_DIRS should be set to build CTK_LIB_Scripting/Python")
889+
if(NOT Python3_Development_FOUND)
890+
find_package(Python3 COMPONENTS Development)
891+
if(NOT Python3_Development_FOUND)
892+
message(FATAL_ERROR "Python3_LIBRARIES and CTK_PYTHON3_INCLUDE_DIRS should be set to build CTK_LIB_Scripting/Python")
893893
endif()
894894
endif()
895895
endif()

Libs/Scripting/Python/Core/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ configure_file(
4141

4242
# Target libraries - See CMake/ctkFunctionGetTargetLibraries.cmake
4343
# The following macro will read the target libraries from the file 'target_libraries.cmake'
44-
ctkFunctionExtractOptimizedLibrary(PYTHON_LIBRARIES PYTHON_LIBRARY)
44+
ctkFunctionExtractOptimizedLibrary(Python3_LIBRARIES CTK_PYTHON3_LIBRARY)
4545
ctkFunctionGetTargetLibraries(KIT_target_libraries)
4646

4747
ctkMacroBuildLib(

Libs/Scripting/Python/Core/target_libraries.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66

77
set(target_libraries
8-
PYTHON_LIBRARY
8+
CTK_PYTHON3_LIBRARY
99
PYTHONQT_LIBRARIES
1010
CTKCore
1111
)

0 commit comments

Comments
 (0)