blob: fc6210c0990a63078b7dbf3cfd0707434271cc93 [file] [log] [blame] [edit]
From 41ee27cf1d31bbc62425aab286b7e524acc64bff Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Fri, 29 Aug 2025 22:21:50 +0200
Subject: [PATCH] CMakeLists.txt: allow disabling Python support
In some cases, even if Swig is found and Python3 is found, it may not
be desirable to build Python support in avrdude, so this commit adds
an ENABLE_PYTHON_SUPPORT option to be able to explicitly disable using
Python support (unfortunately CMake doesn't allow passing arguments
that would prevent it from finding Swig/Python 3 if available).
To preserve existing behavior, this option defaults to enabled (ON).
Upstream: https://github.com/avrdudes/avrdude/pull/2051
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
CMakeLists.txt | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7f3fce92..94263bab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,7 @@ option(USE_EXTERNAL_LIBS "Use external libraries from AVRDUDE GitHub repositorie
option(USE_LIBUSBWIN32 "Prefer libusb-win32 over libusb" OFF)
option(DEBUG_CMAKE "Enable debugging output for this CMake project" OFF)
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
+option(ENABLE_PYTHON_SUPPORT "Enable Python support" ON)
if(WIN32)
# Prefer static libraries over DLLs on Windows
@@ -281,14 +282,16 @@ if(HAVE_LINUXGPIO)
endif()
# -------------------------------------
-# Find SWIG
-find_package(SWIG 4.0 COMPONENTS python)
-if(SWIG_FOUND)
- find_package(Python3 COMPONENTS Interpreter Development)
- if(PYTHON3_FOUND)
- set(HAVE_SWIG 1)
- else()
- message(STATUS "Found SWIG but no Python3 header/library; cannot use SWIG")
+# Find SWIG/Python3 if needed
+if(ENABLE_PYTHON_SUPPORT)
+ find_package(SWIG 4.0 COMPONENTS python)
+ if(SWIG_FOUND)
+ find_package(Python3 COMPONENTS Interpreter Development)
+ if(PYTHON3_FOUND)
+ set(HAVE_SWIG 1)
+ else()
+ message(STATUS "Found SWIG but no Python3 header/library; cannot use SWIG")
+ endif()
endif()
endif()
--
2.50.1