diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6a9ec62..8680d8e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,7 +11,8 @@
     set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
 endif("${isSystemDir}" STREQUAL "-1")
 
-include_directories(/usr/local/include /opt/homebrew/include)
+configure_file(src/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)
+include_directories(/usr/local/include /opt/homebrew/include build)
 link_directories(/usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib /opt/homebrew/lib)
 if (1 AND APPLE)
        message("MacOS deteted")
@@ -25,6 +26,12 @@
 endif()
 find_library(ROCKSDB_STATIC librocksdb.a)
 
+get_cmake_property(_variableNames VARIABLES)
+list (SORT _variableNames)
+foreach (_variableName ${_variableNames})
+    message(STATUS "${_variableName}=${${_variableName}}")
+endforeach()
+
 enable_testing()
 add_library(collocatordb SHARED src/collocatordb.cc)
 
diff --git a/README.md b/README.md
index 360acec..f5f75f4 100644
--- a/README.md
+++ b/README.md
@@ -95,6 +95,7 @@
 char *get_collocation_scores_as_json(COLLOCATORDB *db, uint32_t w1, uint32_t w2);
 char *get_word(COLLOCATORDB *db, uint32_t w1);
 void read_vocab(COLLOCATORDB *db, char *fname);
+char *get_version();
 ```
 
 ## Changes
diff --git a/src/collocatordb.cc b/src/collocatordb.cc
index 28035f6..691f820 100644
--- a/src/collocatordb.cc
+++ b/src/collocatordb.cc
@@ -18,6 +18,7 @@
 #include <rocksdb/slice_transform.h>
 #include "merge_operators.h"
 #include "export.h"
+#include "config.h"
 
 #define WINDOW_SIZE 5
 #define FREQUENCY_THRESHOLD 5
@@ -895,6 +896,10 @@
     return strdup(db->collocators2json(w1, db->get_collocation_scores(w1, w2)).c_str());
   }
 
+  DLL_EXPORT const char *get_version() {
+    return PROJECT_VERSION;
+  }
+
 #ifdef __clang__
 #pragma clang diagnostic push
 #endif
diff --git a/src/collocatordb.h b/src/collocatordb.h
index 7b9b3f5..af97419 100644
--- a/src/collocatordb.h
+++ b/src/collocatordb.h
@@ -118,4 +118,4 @@
 extern char *get_collocation_scores_as_json(COLLOCATORDB *db, uint32_t w1, uint32_t w2);
 extern char *get_word(COLLOCATORDB *db, uint32_t w1);
 extern void read_vocab(COLLOCATORDB *db, char *fname);
-
+extern char *get_version();
diff --git a/tests/basic_test.c b/tests/basic_test.c
index eb0471d..1eb4559 100644
--- a/tests/basic_test.c
+++ b/tests/basic_test.c
@@ -103,6 +103,11 @@
 
   rmrf(rocksdbfn);
 }
+void test_version_function() {
+  char *version = get_version();
+  TEST_CHECK(strcmp(version, "1.3.2") == 0);
+  TEST_MSG("Unexpected version: %s", version);
+}
 
 TEST_LIST = {
     { "open database for reading", test_open_db },
@@ -111,5 +116,6 @@
     { "collocation analysis", test_collocation_analysis },
     { "collocation analysis as json", test_collocation_analysis_as_json },
     { "writing", test_writing },
+    { "version function", test_version_function },
     { NULL, NULL }
 };
