diff --git a/native/cpp/CommonCpp/CMakeLists.txt b/native/cpp/CommonCpp/CMakeLists.txt
new file mode 100644
--- /dev/null
+++ b/native/cpp/CommonCpp/CMakeLists.txt
@@ -0,0 +1,28 @@
+project(comm-common-cpp)
+
+# 3.13+ required for CMP0079 to be set
+cmake_minimum_required(VERSION 3.13)
+
+include(GNUInstallDirs)
+
+add_subdirectory(Tools)
+add_subdirectory(grpc)
+add_subdirectory(NativeModules)
+
+target_link_libraries(comm-client
+  comm-modules-internal
+)
+
+target_link_libraries(comm-modules-native
+  comm-databasemanagers
+  comm-tunnelbroker-grpc
+  comm-generated
+  comm-client
+)
+
+target_link_libraries(comm-modules-internal
+  comm-tools
+  comm-tunnelbroker-grpc
+  comm-grpc
+  comm-client
+)