diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6137f016605aa3cacfb4e7c693a199650b41fe42..fe8dd302c873adc48bba3ed6aa17c9c6f280ced1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -3,16 +3,40 @@ project (Synchronet C CXX)
 cmake_minimum_required(VERSION 2.8.11)
 
 if(NOT PROJECTS)
-	SET(PROJECTS SyncTERM CACHE STRING "Choose the projects to build, options are: SyncTERM" FORCE)
+	SET(PROJECTS SyncTERM;SyncDraw CACHE STRING "Choose the projects to build, options are: SyncTERM" FORCE)
 endif()
 
 list(FIND PROJECTS SyncTERM BUILD_SYNCTERM)
 if(BUILD_SYNCTERM GREATER -1)
-	include_directories(xpdev)
-	include_directories(conio)
-	include_directories(uifc)
-	add_subdirectory(xpdev)
-	add_subdirectory(conio)
-	add_subdirectory(uifc)
+	if(NOT XPDEV_ADDED)
+		include_directories(xpdev)
+		add_subdirectory(xpdev)
+		set(XPDEV_ADDED TRUE)
+	endif()
+	if(NOT CONIO_ADDED)
+		include_directories(conio)
+		add_subdirectory(conio)
+		set(CONIO_ADDED TRUE)
+	endif()
+	if(NOT UIFC_ADDED)
+		include_directories(uifc)
+		add_subdirectory(uifc)
+		set(UIFC_ADDED TRUE)
+	endif()
 	add_subdirectory(syncterm)
 endif()
+
+list(FIND PROJECTS SyncDraw BUILD_SYNCDRAW)
+if(BUILD_SYNCDRAW GREATER -1)
+	if(NOT XPDEV_ADDED)
+		include_directories(xpdev)
+		add_subdirectory(xpdev)
+		set(XPDEV_ADDED TRUE)
+	endif()
+	if(NOT CONIO_ADDED)
+		include_directories(conio)
+		add_subdirectory(conio)
+		set(CONIO_ADDED TRUE)
+	endif()
+	add_subdirectory(syncdraw)
+endif()