| cmake_minimum_required (VERSION 3.18...3.19) | |
| find_package (SWIG) | |
| if (NOT SWIG_FOUND) | |
| message (FATAL_ERROR "Failed to find SWIG") | |
| endif() | |
| # clean-up SWIG variables | |
| unset (SWIG_EXECUTABLE CACHE) | |
| unset (SWIG_DIR CACHE) | |
| ## Specify a range including current SWIG version | |
| string (REGEX MATCH "^([0-9]+)" upper_version "${SWIG_VERSION}") | |
| math (EXPR upper_version "${upper_version} + 1") | |
| find_package (SWIG 1.0...${upper_version}.0) | |
| if (NOT SWIG_FOUND) | |
| message (FATAL_ERROR "Failed to find SWIG with version range 1.0...${upper_version}.0") | |
| endif() | |
| # clean-up SWIG variables | |
| unset (SWIG_EXECUTABLE CACHE) | |
| unset (SWIG_DIR CACHE) | |
| ## Specify a range excluding current SWIG version | |
| set (range 1.0...<${SWIG_VERSION}) | |
| find_package (SWIG ${range}) | |
| if (SWIG_FOUND) | |
| message (FATAL_ERROR "Unexpectedly find SWIG with version range ${range}") | |
| endif() |