mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-03 20:29:56 -06:00
85 lines
3.1 KiB
CMake
85 lines
3.1 KiB
CMake
enable_language(C)
|
|
|
|
include(CTest)
|
|
|
|
if(CMake_TEST_FindPython2)
|
|
find_package(Python2 REQUIRED COMPONENTS Interpreter Development)
|
|
if (NOT Python2_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python 2")
|
|
endif()
|
|
set(USER_EXECUTABLE "${Python2_EXECUTABLE}")
|
|
set(USER_LIBRARY "${Python2_LIBRARY_RELEASE}")
|
|
set(USER_INCLUDE_DIR "${Python2_INCLUDE_DIRS}")
|
|
else()
|
|
set(USER_EXECUTABLE "/path/to/invalid-exe${CMAKE_EXECUTABLE_SUFFIX}")
|
|
set(USER_LIBRARY "/path/to/invalid-lib${CMAKE_C_LINK_LIBRARY_SUFFIX}")
|
|
set(USER_INCLUDE_DIR "/path/to/invalid/dir")
|
|
endif()
|
|
|
|
# check some combinations for modules search without interpreter
|
|
if(CMake_TEST_FindPython3_SABIModule)
|
|
block(SCOPE_FOR VARIABLES)
|
|
find_package(Python3 REQUIRED COMPONENTS Development.SABIModule)
|
|
if (NOT Python3_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python 3")
|
|
endif()
|
|
if (Python3_Development_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development' unexpectedly found")
|
|
endif()
|
|
if (Python3_Interpreter_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Interpreter' unexpectedly found")
|
|
endif()
|
|
if (Python3_Development.Embed_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development.Embed' unexpectedly found")
|
|
endif()
|
|
if (Python3_Development.Module_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development.Module' unexpectedly found")
|
|
endif()
|
|
if (NOT Python3_Development.SABIModule_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development.SABIModule' not found")
|
|
endif()
|
|
unset(_Python3_SABI_LIBRARY_RELEASE CACHE)
|
|
endblock()
|
|
endif()
|
|
|
|
block(SCOPE_FOR VARIABLES)
|
|
set(components Development.Module)
|
|
if (CMake_TEST_FindPython3_SABIModule)
|
|
list (APPEND components Development.SABIModule)
|
|
endif()
|
|
find_package(Python3 REQUIRED COMPONENTS ${components})
|
|
if (NOT Python3_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python 3")
|
|
endif()
|
|
if (Python3_Development_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development' unexpectedly found")
|
|
endif()
|
|
if (Python3_Interpreter_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Interpreter' unexpectedly found")
|
|
endif()
|
|
if (Python3_Development.Embed_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development.Embed' unexpectedly found")
|
|
endif()
|
|
if (NOT Python3_Development.Module_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development.Module' not found")
|
|
endif()
|
|
if (CMake_TEST_FindPython3_SABIModule AND NOT Python3_Development.SABIModule_FOUND)
|
|
message (FATAL_ERROR "Python 3, COMPONENT 'Development.SABIModule' not found")
|
|
endif()
|
|
unset(_Python3_LIBRARY_RELEASE CACHE)
|
|
unset(_Python3_SABI_LIBRARY_RELEASE CACHE)
|
|
endblock()
|
|
|
|
|
|
set(components Interpreter Development)
|
|
if (CMake_TEST_FindPython3_SABIModule)
|
|
list (APPEND components Development.SABIModule)
|
|
endif()
|
|
find_package(Python3 REQUIRED COMPONENTS ${components})
|
|
if (NOT Python3_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python 3")
|
|
endif()
|
|
|
|
configure_file("${CMAKE_SOURCE_DIR}/PythonArtifacts.cmake.in"
|
|
"${CMAKE_BINARY_DIR}/PythonArtifacts.cmake" @ONLY)
|