diff --git a/CMakeLists.txt b/CMakeLists.txt
index 87fc200..3baa2d4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,61 +1,14 @@
 cmake_minimum_required(VERSION 3.9)
 project(dereko2vec VERSION 0.9.1 DESCRIPTION "Fork from wang2vec with extensions for re-training and count based models")
+option(STATIC_DEREKO2VEC "Build dereko2vec as a static binary" OFF)
+
 set(CMAKE_VERBOSE_MAKEFILE on)
 if (CMAKE_BUILD_TYPE MATCHES Debug)
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm -g -O0 -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Wno-unused-value -Wno-unused-result")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Wno-unused-value -Wno-unused-result")
 else ()
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm -pthread -O3 -march=native -mtune=native -Wall -funroll-loops")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -march=native -mtune=native -Wall -funroll-loops")
 endif ()
-
-# First, try to find static versions
-find_library(ZLIB_STATIC NAMES libz.a)
-find_library(BZ2_STATIC NAMES libbz2.a)
-find_library(LZ4_STATIC NAMES liblz4.a)
-find_library(ZSTD_STATIC NAMES libzstd.a)
-find_library(SNAPPY_STATIC NAMES libsnappy.a)
-find_library(STDC++_STATIC NAMES libstdc++.a)
-
-# Set each library, preferring static if found
-set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} pthread rt)
-
-if(ZLIB_STATIC)
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${ZLIB_STATIC})
-else()
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} z)
-endif()
-
-if(BZ2_STATIC)
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${BZ2_STATIC})
-else()
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} bz2)
-endif()
-
-if(LZ4_STATIC)
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${LZ4_STATIC})
-else()
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} lz4)
-endif()
-
-if(ZSTD_STATIC)
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${ZSTD_STATIC})
-else()
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} zstd)
-endif()
-
-if(SNAPPY_STATIC)
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${SNAPPY_STATIC})
-else()
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} snappy)
-endif()
-
-if(STDC++_STATIC)
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${STDC++_STATIC})
-else()
-    set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} stdc++)
-endif()
-
-set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} dl)
-
+set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} m pthread rt snappy z bz2 lz4 zstd stdc++ dl)
 include(GNUInstallDirs)
 
 include_directories(/usr/local/include;/usr/local/kl/include)
@@ -80,6 +33,11 @@
     # Make sure YourLib is linked to each app
     if (${myname} MATCHES "derek")
         target_link_libraries(${myname} ${COLLOCATORDB} ${ROCKSDB} ${ADDITIONAL_LIBS})
+        if(STATIC_DEREKO2VEC)
+            set_target_properties(${myname} PROPERTIES LINK_FLAGS "-static")
+        endif()
+    else ()
+        target_link_libraries(${myname} m pthread)
     endif ()
 endforeach (mysourcefile ${APP_SOURCES})
 
