diff --git a/CMake/SimMedTKMacros.cmake b/CMake/SimMedTKMacros.cmake
index 7e8fca122f04798e1961ad72d433bffd6cca12f9..c26f7382d97b44d2ba149d8970f2203d1f38a58b 100644
--- a/CMake/SimMedTKMacros.cmake
+++ b/CMake/SimMedTKMacros.cmake
@@ -37,20 +37,17 @@ function(simmedtk_add_library target)
   set(options)
   set(oneValueArgs)
   set(multiValueArgs SOURCES PUBLIC_HEADERS)
+  cmake_parse_arguments(target "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
+  set(libtype)
   if (NOT WIN32)
-    set(libtype SHARED)
-  else()
     set(libtype STATIC)
   endif()
-  cmake_parse_arguments(target "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-  add_library(${target} ${libtype}
-    ${target_SOURCES}
-  )
+  add_library(${target} ${libtype} ${target_SOURCES})
   target_include_directories(${target}
     PUBLIC
       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
-      $<INSTALL_INTERFACE:include/simmedtk>
-      $<INSTALL_INTERFACE:include/simmedtk/${target}>
+      $<INSTALL_INTERFACE:include/v${SimMedTK_VERSION}>
+      $<INSTALL_INTERFACE:include/v${SimMedTK_VERSION}/${target}>
     )
   if (target_PUBLIC_HEADERS)
     simmedtk_install_library(${target})
diff --git a/CMakeLists.txt b/CMakeLists.txt
index afecea73481712796ef95073abe918dff4779c10..78f7f298114648951894f2048c94e1452fbe8a42 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -228,10 +228,11 @@ set(SimMedTK_exports
   Core
   Collision
   External
-  ExternalDevices
+  Devices
   Geometry
   Mesh
   Rendering
+  RenderDelegates
   Simulators
   VirtualTools
   Event)
diff --git a/Core/ErrorLog.cpp b/Core/ErrorLog.cpp
index ca0ee5016ca2d35a541ba5c3161210a09f31308c..6407117a822b6b9da1a9fa412aeab424367c3d7d 100644
--- a/Core/ErrorLog.cpp
+++ b/Core/ErrorLog.cpp
@@ -77,7 +77,7 @@ void ErrorLog::printLastErrUnsafe()
 void ErrorLog::printLastErr()
 {
     std::lock_guard<std::mutex> lock(logLock); //Lock is released when leaves scope
-    printLastErr();
+    std::cout << "Last Error:" << errors.back() << " Time:" << timeStamps.back() << " ms" << "\n";
 }
 
 void ErrorLog::setConsoleOutput(bool flag)
diff --git a/Devices/CMakeLists.txt b/Devices/CMakeLists.txt
index 57d8d4a002807e8d89192ea96ab22359fb659e52..1e05214d8db85e512810438df49419564f170267 100644
--- a/Devices/CMakeLists.txt
+++ b/Devices/CMakeLists.txt
@@ -23,7 +23,7 @@ if(SIMMEDTK_USE_NIUSB6008)
     NIUSB6008Interface.cpp)
 endif()
 
-simmedtk_add_library(ExternalDevices
+simmedtk_add_library(Devices
   SOURCES
     DeviceInterface.cpp
     ${EXTERNAL_DEVICES_SOURCES}
@@ -37,7 +37,7 @@ simmedtk_add_library(ExternalDevices
     PhantomInterface.h
 )
 
-target_link_libraries(ExternalDevices
+target_link_libraries(Devices
   PRIVATE
     Core
   PUBLIC