diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e3a686..ed161e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,27 +25,33 @@ option(BUILD_GRPC "build Cartographer gRPC support" false)
 option(BUILD_PROMETHEUS "build Prometheus monitoring support" false)
 
 include("${PROJECT_SOURCE_DIR}/cmake/functions.cmake")
-google_initialize_cartographer_project()
-google_enable_testing()
+#google_initialize_cartographer_project()
+#google_enable_testing()
 
 find_package(Boost REQUIRED COMPONENTS iostreams)
 find_package(Ceres REQUIRED COMPONENTS SuiteSparse)
 find_package(Eigen3 REQUIRED)
-find_package(LuaGoogle REQUIRED)
-find_package(Protobuf 3.0.0 REQUIRED)
+find_package(Lua REQUIRED)
+find_package(Protobuf REQUIRED)
+find_package(glog REQUIRED)
+find_package(gflags REQUIRED)
 
 if (${BUILD_GRPC})
   find_package(async_grpc REQUIRED)
 endif()
 
-include(FindPkgConfig)
-PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
+#include(FindPkgConfig)
+#PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
+#if(CMAKE_BUILD_TYPE STREQUAL Debug)
+#    set(CAIRO_LIB_SUFFIX d)
+#endif()
+find_library(CAIRO_LIBRARY cairo${CAIRO_LIB_SUFFIX})
 
 # Only build the documentation if we can find Sphinx.
-find_package(Sphinx)
-if(SPHINX_FOUND)
-  add_subdirectory("docs")
-endif()
+#find_package(Sphinx)
+#if(SPHINX_FOUND)
+#  add_subdirectory("docs")
+#endif()
 
 # Install catkin package.xml
 install(FILES package.xml DESTINATION share/cartographer)
@@ -169,20 +175,20 @@ configure_file(
   ${PROJECT_SOURCE_DIR}/cartographer/common/config.h.cmake
   ${PROJECT_BINARY_DIR}/cartographer/common/config.h)
 
-google_binary(cartographer_autogenerate_ground_truth
-  SRCS
-    cartographer/ground_truth/autogenerate_ground_truth_main.cc
-)
-
-google_binary(cartographer_compute_relations_metrics
-  SRCS
-    cartographer/ground_truth/compute_relations_metrics_main.cc
-)
-
-google_binary(cartographer_migrate_serialization_format
-  SRCS
-    cartographer/io/migrate_serialization_format_main.cc
-)
+#google_binary(cartographer_autogenerate_ground_truth
+#  SRCS
+#    cartographer/ground_truth/autogenerate_ground_truth_main.cc
+#)
+#
+#google_binary(cartographer_compute_relations_metrics
+#  SRCS
+#    cartographer/ground_truth/compute_relations_metrics_main.cc
+#)
+#
+#google_binary(cartographer_migrate_serialization_format
+#  SRCS
+#    cartographer/io/migrate_serialization_format_main.cc
+#)
 
 if(${BUILD_GRPC})
   google_binary(cartographer_grpc_server
@@ -213,18 +219,16 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
 target_link_libraries(${PROJECT_NAME} PUBLIC ${Boost_LIBRARIES})
 
 # We expect find_package(Ceres) to have located these for us.
-target_link_libraries(${PROJECT_NAME} PUBLIC glog)
-target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
+#target_link_libraries(${PROJECT_NAME} PUBLIC glog)
+#target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
+#target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARY})
 
-target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
-  "${CAIRO_INCLUDE_DIRS}")
 target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARIES})
 
-target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
-  ${PROTOBUF_INCLUDE_DIR})
 # TODO(hrapp): This should not explicitly list pthread and use
 # PROTOBUF_LIBRARIES, but that failed on first try.
-target_link_libraries(${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY} pthread)
+#target_link_libraries(${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY} pthread)
+target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf)
 if(${BUILD_GRPC})
   target_link_libraries(${PROJECT_NAME} PUBLIC grpc++)
   target_link_libraries(${PROJECT_NAME} PUBLIC async_grpc)
@@ -237,7 +241,7 @@ endif()
 set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}")
 set_target_properties(${PROJECT_NAME} PROPERTIES
   COMPILE_FLAGS ${TARGET_COMPILE_FLAGS})
-
+if(0)
 set(TEST_LIB
   cartographer_test_library
 )
@@ -265,7 +269,7 @@ foreach(ABS_FIL ${ALL_TESTS})
   endif()
   target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB})
 endforeach()
-
+endif()
 # Add the binary directory first, so that port.h is included after it has
 # been generated.
 target_include_directories(${PROJECT_NAME} PUBLIC
diff --git a/cartographer/common/math.h b/cartographer/common/math.h
index c4a77ef..0248f66 100644
--- a/cartographer/common/math.h
+++ b/cartographer/common/math.h
@@ -17,6 +17,10 @@
 #ifndef CARTOGRAPHER_COMMON_MATH_H_
 #define CARTOGRAPHER_COMMON_MATH_H_
 
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
 #include <cmath>
 #include <vector>
 
diff --git a/cartographer/common/thread_pool.cc b/cartographer/common/thread_pool.cc
index bc3c743..db424d1 100644
--- a/cartographer/common/thread_pool.cc
+++ b/cartographer/common/thread_pool.cc
@@ -16,7 +16,7 @@
 
 #include "cartographer/common/thread_pool.h"
 
-#include <unistd.h>
+//#include <unistd.h>
 #include <algorithm>
 #include <chrono>
 #include <numeric>
diff --git a/cmake/functions.cmake b/cmake/functions.cmake
index 3bfd343..3d961b0 100644
--- a/cmake/functions.cmake
+++ b/cmake/functions.cmake
@@ -118,12 +118,12 @@ macro(google_initialize_cartographer_project)
   set(LIST_FILES_CMD "find ${PROJECT_SOURCE_DIR}/ -not -iwholename '*.git*' | sort | sed 's/^/#/'")
   set(FILES_LIST_PATH "${PROJECT_BINARY_DIR}/AllFiles.cmake")
   set(DETECT_CHANGES_CMD "bash" "-c" "${LIST_FILES_CMD} | diff -N -q ${FILES_LIST_PATH} - || ${LIST_FILES_CMD} > ${FILES_LIST_PATH}")
-  add_custom_target(${PROJECT_NAME}_detect_changes ALL
-    COMMAND ${DETECT_CHANGES_CMD}
-    VERBATIM
-  )
+  #add_custom_target(${PROJECT_NAME}_detect_changes ALL
+  #  COMMAND ${DETECT_CHANGES_CMD}
+  #  VERBATIM
+  #)
   if(NOT EXISTS ${FILES_LIST_PATH})
-    execute_process(COMMAND ${DETECT_CHANGES_CMD})
+    #execute_process(COMMAND ${DETECT_CHANGES_CMD})
   endif()
   include(${FILES_LIST_PATH})
 endmacro()