Commit e7dc4c23f77726737d34483481aa2a4c0ff03156
Committed by
Henry Schreiner
1 parent
eb7a75dc
Adding check for correct python version for search
Showing
1 changed file
with
27 additions
and
4 deletions
CMakeLists.txt
| ... | ... | @@ -113,14 +113,37 @@ export(TARGETS CLI11 |
| 113 | 113 | export(PACKAGE CLI11) |
| 114 | 114 | |
| 115 | 115 | # Single file test |
| 116 | -find_package(PythonInterp) | |
| 117 | -cmake_dependent_option(CLI11_SINGLE_FILE "Generate a single header file" ON "CUR_PROJ;PYTHONINTERP_FOUND" OFF) | |
| 116 | +if(CMAKE_VERSION VERSION_LESS 3.12) | |
| 117 | + set(Python_ADDITIONAL_VERSIONS 2.7 3.4 3.5 3.6 3.7 3.8) | |
| 118 | + find_package(PythonInterp) | |
| 119 | + set(Python_VERSION ${PYTHON_VERSION_STRING}) | |
| 120 | + set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}") | |
| 121 | +else() | |
| 122 | + find_package(Python) | |
| 123 | +endif() | |
| 124 | + | |
| 125 | +if(Python_Interpreter_FOUND OR PYTHONINTERP_FOUND) | |
| 126 | + if(Python_VERSION VERSION_LESS 2.7) | |
| 127 | + set(CLI11_PYTHON_FOUND FALSE) | |
| 128 | + else() | |
| 129 | + set(CLI11_PYTHON_FOUND TRUE) | |
| 130 | + endif() | |
| 131 | +else() | |
| 132 | + set(CLI11_PYTHON_FOUND FALSE) | |
| 133 | +endif() | |
| 134 | + | |
| 135 | +cmake_dependent_option(CLI11_SINGLE_FILE "Generate a single header file" ON "CUR_PROJ;CLI11_PYTHON_FOUND" OFF) | |
| 118 | 136 | |
| 119 | 137 | if(CLI11_SINGLE_FILE) |
| 120 | - find_package(PythonInterp REQUIRED) | |
| 138 | + if(NOT CLI11_PYTHON_FOUND) | |
| 139 | + message(FATAL_ERROR "CLI11_SINGLE_FILE requires Python 2.7 or 3 (not found)") | |
| 140 | + else() | |
| 141 | + message(STATUS "Building single file include using Python ${Python_VERSION} at ${Python_EXECUTABLE}") | |
| 142 | + endif() | |
| 143 | + | |
| 121 | 144 | file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include") |
| 122 | 145 | add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/include/CLI11.hpp" |
| 123 | - COMMAND "${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/MakeSingleHeader.py" "${CMAKE_CURRENT_BINARY_DIR}/include/CLI11.hpp" | |
| 146 | + COMMAND "${Python_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/MakeSingleHeader.py" "${CMAKE_CURRENT_BINARY_DIR}/include/CLI11.hpp" | |
| 124 | 147 | DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/include/CLI/CLI.hpp" ${CLI11_headers} |
| 125 | 148 | ) |
| 126 | 149 | add_custom_target(generate_cli_single_file ALL | ... | ... |