diff --git a/CMakeLists.txt b/CMakeLists.txt
index a159ef10d8b92c43711e0b38aadde7347d006101..2b0246c63727a7dc10afc286292ff0835c7f11d8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,8 +1,10 @@
-cmake_minimum_required (VERSION 2.8.12)
+cmake_minimum_required (VERSION 3.1)
 project (starcraft-python-api)
 
+set(EXECUTABLE_OUTPUT_PATH bin)
+
 # Build with C++14 support, required by sc2api
-set(CMAKE_CXX_STARDARD 14)
+set(CMAKE_CXX_STANDARD 14)
 
 # Allow creating filters for projects in visual studio
 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
@@ -15,5 +17,13 @@ set(BUILD_API_TESTS OFF CACHE INTERNAL "" FORCE)
 
 add_subdirectory(lib/pybind11)
 add_subdirectory(lib/s2client-api)
+add_subdirectory(src)
+
+# Hack to make compile, these flags are otherwise set to give errors on warnings
+set_target_properties(sc2api PROPERTIES COMPILE_FLAGS "/W4")
+set_target_properties(sc2lib PROPERTIES COMPILE_FLAGS "/W4")
+set_target_properties(sc2renderer PROPERTIES COMPILE_FLAGS "/W4")
+set_target_properties(sc2utils PROPERTIES COMPILE_FLAGS "/W3")
+set_target_properties(sc2protocol PROPERTIES COMPILE_FLAGS "/W0")
 
 pybind11_add_module(library library.cxx)