diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6130ac90d0b4e9efec34f8876686da4e4ebf6226..222415238d0dbf1bc41fea938b0ff3a52acadfba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,6 +15,7 @@ IF(NOT CMAKE_BUILD_TYPE)
 		FORCE)
 ENDIF(NOT CMAKE_BUILD_TYPE)
 
+set(WCCL_BUILD_SWIG True CACHE BOOL "Build SWIG Python wrappers" FORCE)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
 	# Set our own default flags at first run.
@@ -62,4 +63,16 @@ endif(MSVC OR BORLAND)
 add_subdirectory(libwccl)
 add_subdirectory(wccl-apps)
 add_subdirectory(tests)
-add_subdirectory(swig)
+
+if(WCCL_BUILD_SWIG)
+	FIND_PACKAGE(SWIG)
+	if(SWIG_FOUND)
+		message(STATUS "SWIG found, Python wrappers will be built")
+		add_subdirectory(swig)
+	else()
+		message(STATUS "WARNING: SWIG not found, Python wrappers will not be built")
+	endif(SWIG_FOUND)
+else()
+	message(STATUS "Not building SWIG Python wrappers")
+endif(WCCL_BUILD_SWIG)
+