diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..75611ce3e0107441ab74b7a471831c785fdc3744
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required(VERSION 3.9..3.17 FATAL_ERROR)
+
+if(${CMAKE_VERSION} VERSION_LESS 3.12)
+    cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
+endif()
+
+project(VirtualFluids)
+
+
+option(BUILD_VF_CPU "Build VirtualFluids cpu variant" ON)
+option(BUILD_VF_GPU "Build VirtualFluids gpu variant" OFF)
+
+
+if (BUILD_VF_CPU)
+    add_subdirectory(cpu)
+endif()
+if(BUILD_VF_GPU)
+    add_subdirectory(gpu)
+endif()