diff --git a/CMakeLists.txt b/CMakeLists.txt
index d7ba0e850ec6467c1a89a1f1fcf893eb299987cf..5d27cee9fd9739701fd772a55c4dc89e8115692d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,18 +25,23 @@ set(CMAKE_LIBRARY_SEARCH_PATH "" CACHE PATH
 set(OGS_CPU_ARCHITECTURE "native" CACHE STRING "Processor architecture, defaults to native.")
 option(OGS_BUILD_TESTS "Should the test executables be built?" ON)
 
-### CMake includes ###
+### Conan package manager ###
+set(USE_CONAN false CACHE INTERNAL "")
 if(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
 	include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+	set(USE_CONAN true)
 elseif(EXISTS ${CMAKE_SOURCE_DIR}/conanbuildinfo.cmake)
 	include(${CMAKE_SOURCE_DIR}/conanbuildinfo.cmake)
-else()
-	message(FATAL_ERROR "External dependencies not setup. Run conan install!")
+	set(USE_CONAN true)
+endif()
+if(USE_CONAN)
+	set(CMAKE_MODULE_PATH ${CONAN_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH})
+	message(STATUS "Using conan package manager")
+	set(OGS_LIB_VTK System CACHE INTERNAL "")
+	set(OGS_LIB_BOOST System CACHE INTERNAL "")
 endif()
-conan_basic_setup()
-include(${CONAN_VTK_ROOT}/lib/cmake/vtk-7.0/VTKConfig.cmake)
-include(${VTK_USE_FILE})
 
+### CMake includes ###
 include(scripts/cmake/CheckTypeSizes.cmake)
 include(scripts/cmake/Functions.cmake)
 include(scripts/cmake/CMakeSetup.cmake)
diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt
index 42e8b7841a613ca03c99c3b86ec89ee942683943..761268d714da9df66ad2d76795906a450e7629f6 100644
--- a/FileIO/CMakeLists.txt
+++ b/FileIO/CMakeLists.txt
@@ -15,8 +15,6 @@ set(SOURCES
 	readMeshFromFile.cpp
 	writeGeometryToFile.h
 	writeGeometryToFile.cpp
-	SHPInterface.h
-	SHPInterface.cpp
 	TetGenInterface.h
 	TetGenInterface.cpp
 	TINInterface.h
@@ -26,6 +24,9 @@ set(SOURCES
 	writeMeshToFile.h
 	writeMeshToFile.cpp
 )
+if(Shapelib_FOUND)
+	list(APPEND SOURCES SHPInterface.h SHPInterface.cpp)
+endif()
 
 GET_SOURCE_FILES(SOURCES_LEGACY Legacy)
 GET_SOURCE_FILES(SOURCES_GMSHIO GmshIO)
@@ -59,7 +60,6 @@ target_link_libraries(FileIO INTERFACE
 	InSituLib
 	MeshLib
 	logog
-	${CONAN_LIBS}
 )
 if(QT4_FOUND)
 	target_link_libraries(FileIO PUBLIC Qt4::QtXml Qt4::QtXmlPatterns)
@@ -71,6 +71,10 @@ if(QT4_FOUND)
 	endif()
 endif()
 
+if(Shapelib_FOUND)
+	target_link_libraries(FileIO INTERFACE ${Shapelib_LIBRARIES})
+endif()
+
 ADD_VTK_DEPENDENCY(FileIO)
 
 if(TARGET Eigen)
diff --git a/ThirdParty/vtkdiff b/ThirdParty/vtkdiff
index 0a0bd8362f861b6e141936b990133c6616522a82..a20c1bef6e35a5b53c101103820beca854934f37 160000
--- a/ThirdParty/vtkdiff
+++ b/ThirdParty/vtkdiff
@@ -1 +1 @@
-Subproject commit 0a0bd8362f861b6e141936b990133c6616522a82
+Subproject commit a20c1bef6e35a5b53c101103820beca854934f37
diff --git a/scripts/cmake/ExternalProjectBoost.cmake b/scripts/cmake/ExternalProjectBoost.cmake
index 8f6a0dfd2335564dce4809e929e305afbc71e865..670b7d885a6fe9b430af32811ae344c46530a4ca 100644
--- a/scripts/cmake/ExternalProjectBoost.cmake
+++ b/scripts/cmake/ExternalProjectBoost.cmake
@@ -1,4 +1,10 @@
-return()
+if(USE_CONAN)
+	SET(BOOST_HEADER_ONLY TRUE)
+	find_package(Boost REQUIRED)
+	include_directories(SYSTEM ${CONAN_INCLUDE_DIRS_BOOST})
+	link_directories(${Boost_LIBRARY_DIR})
+	return()
+endif()
 include(ThirdPartyLibVersions)
 include(ExternalProject)
 
diff --git a/scripts/cmake/ExternalProjectVtk.cmake b/scripts/cmake/ExternalProjectVtk.cmake
index e4d5b3b8dcf46bc6e412be1621b8a20488e168de..4b0046dce4542a3385a7f0c5dcc9b35bb0371384 100644
--- a/scripts/cmake/ExternalProjectVtk.cmake
+++ b/scripts/cmake/ExternalProjectVtk.cmake
@@ -1,4 +1,9 @@
-return()
+if(USE_CONAN)
+	find_package(VTK REQUIRED)
+	include(${VTK_USE_FILE})
+	include_directories(SYSTEM ${CONAN_INCLUDE_DIRS_VTK})
+	return()
+endif()
 include(ThirdPartyLibVersions)
 include(ExternalProject)
 
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index 54305d0fd750fdb8cf42b4a929e7428384bc07a5..f6bb7a0576a597ea8344ab3f03d6f8d74d324b28 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -138,3 +138,8 @@ if(OGS_USE_MPI)
 	find_package(MPI REQUIRED)
 	include_directories(SYSTEM ${MPI_CXX_INCLUDE_PATH})
 endif()
+
+find_package(Shapelib)
+if(Shapelib_FOUND)
+	include_directories(${Shapelib_INCLUDE_DIRS})
+endif()