diff --git a/CMakeLists.txt b/CMakeLists.txt index f20ad0d5a4abbd4b76a18f3a653270204fdbe11a_Q01ha2VMaXN0cy50eHQ=..b4f8173d56a3b31bf6d3e485adedca260a06d584_Q01ha2VMaXN0cy50eHQ= 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,7 @@ include(CheckFunctionExists) include(CheckIncludeFiles) include(CheckLibraryExists) +include(CheckSymbolExists) include(CMakePackageConfigHelpers) include(GNUInstallDirs) @@ -49,8 +50,17 @@ endif() if(LIBXSLT_WITH_PYTHON) - find_package(Python2 COMPONENTS Interpreter Development REQUIRED) - set(LIBXSLT_PYTHON_INSTALL_DIR ${Python2_SITEARCH} CACHE PATH "Python bindings install directory") + check_include_files(unistd.h HAVE_UNISTD_H) + check_symbol_exists(F_GETFL fcntl.h HAVE_F_GETFL) + if(HAVE_UNISTD_H AND HAVE_F_GETFL) + find_package(Python COMPONENTS Interpreter Development REQUIRED) + else() + find_package(Python2 COMPONENTS Interpreter Development REQUIRED) + add_library(Python::Python ALIAS Python2::Python) + set(Python_EXECUTABLE ${Python2_EXECUTABLE}) + set(Python_SITEARCH ${Python2_SITEARCH}) + endif() + set(LIBXSLT_PYTHON_INSTALL_DIR ${Python_SITEARCH} CACHE PATH "Python bindings install directory") endif() if(LIBXSLT_WITH_THREADS) @@ -366,7 +376,7 @@ set(ENV{SRCDIR} ${CMAKE_CURRENT_SOURCE_DIR}/python) execute_process( COMMAND - ${Python2_EXECUTABLE} + ${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/python/generator.py ${CMAKE_CURRENT_SOURCE_DIR}/doc/libxslt-api.xml ${CMAKE_CURRENT_SOURCE_DIR}/python/libxslt-python-api.xml @@ -393,7 +403,7 @@ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/python> ) - target_link_libraries(LibXsltMod LibXslt LibExslt Python2::Python) + target_link_libraries(LibXsltMod LibXslt LibExslt Python::Python) set_target_properties( LibXsltMod PROPERTIES