diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26ef3af4c004a56cbf93bb75e1f2e86ba60e1588..9fd9c5545ec8aa96a8026cbb8af4950799171607 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,18 +19,9 @@ SET( SLIC_VERSION_PATCH 0 )
 
 INCLUDE( ExternalProject )
 
-IF ( NOT GLOBAL_INSTALL_DIR )
-    SET( GLOBAL_INSTALL_DIR "$ENV{HOME}/slic" )
-    MESSAGE( STATUS "Global install dir set to: ${GLOBAL_INSTALL_DIR}" )
-ENDIF()
-
-#IF( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
-SET( CMAKE_INSTALL_PREFIX ${GLOBAL_INSTALL_DIR}/slic )
-#ENDIF()
-
 MESSAGE( STATUS "SLIC install dir set to: ${CMAKE_INSTALL_PREFIX}" )
 
-# option for logg messages
+# option for log messages
 OPTION( ENABLE_SLIC_LOG "Enable slic logging system" ON )
 IF ( ENABLE_SLIC_LOG STREQUAL "ON" )
     ADD_DEFINITIONS( -DSLIC_LOG )
@@ -51,22 +42,26 @@ SET( DEPENDENCIES XERCES Geant4 LCIO HEPPDT GDML LCDD )
 
 ADD_CUSTOM_TARGET( extdeps )
 FOREACH( dependency ${DEPENDENCIES} )
-    IF ( ${dependency}_DIR )
-        FIND_PACKAGE( ${dependency} QUIET )
-        IF ( ${dependency}_FOUND )
-            MESSAGE( STATUS "${dependency} was found at: ${${dependency}_DIR}" )
-            IF( NOT TARGET ${dependency} )
-                ADD_CUSTOM_TARGET( ${dependency} )
-            ENDIF()
-        ELSE()
-            MESSAGE( FATAL_ERROR "You specified ${dependency}_DIR but this does not appear to point to a valid install of ${dependency}." )
+    MESSAGE( "processing dependency ${dependency} ..." )
+    #IF ( ${dependency}_DIR )
+    FIND_PACKAGE( ${dependency} QUIET )
+    IF ( ${dependency}_FOUND )
+        MESSAGE( STATUS "${dependency} was found at: ${${dependency}_DIR}" )
+        IF( NOT TARGET ${dependency} )
+            ADD_CUSTOM_TARGET( ${dependency} )
         ENDIF()
+        #ELSE()
+        #    MESSAGE( FATAL_ERROR "You specified ${dependency}_DIR but this does not appear to point to a valid install of ${dependency}." )
+        #ENDIF()
     ELSE()
         MESSAGE( STATUS "${dependency} was not found and will be installed as an external project." )
         INCLUDE( Install${dependency} )
+        MESSAGE( "${dependency}_VERSION='${${dependency}_VERSION}'" )
         SET( DEPENDENCIES_NOTFOUND "YES" FORCE )
     ENDIF()
     ADD_DEPENDENCIES( extdeps ${dependency} )
+    MESSAGE( "  ${dependency}_DIR=${${dependency}_DIR}" )
+    MESSAGE( "  ${dependency}_VERSION=${${dependency}_VERSION}" )
 ENDFOREACH()
 
 IF ( DEPENDENCIES_NOTFOUND )
@@ -79,7 +74,7 @@ ELSE()
     # set executable target
     ADD_EXECUTABLE( slic ${library_sources} slic.cc )
 
-    # make slic depend on its external deps (is this necessary???)
+    # make slic depend on its external deps being installed first
     ADD_DEPENDENCIES( slic extdeps )
 
     # local includes
@@ -104,11 +99,11 @@ ELSE()
     LINK_DIRECTORIES( ${GDML_LIBRARY_DIR} ${LCDD_LIBRARY_DIR} ${LCIO_LIBRARY_DIRS} )
 
     # install
-    INSTALL( TARGETS slic slic DESTINATION bin )
+    INSTALL( TARGETS slic slic DESTINATION slic/bin )
 
     # install env setup script
     CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/scripts/slic-env.sh.in ${CMAKE_CURRENT_BINARY_DIR}/slic-env.sh )
-    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/slic-env.sh DESTINATION bin 
+    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/slic-env.sh DESTINATION slic/bin 
             PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
 ENDIF()
 
diff --git a/cmake/InstallGDML.cmake b/cmake/InstallGDML.cmake
index 945295b4f0e953eb2a4b19c12cf4ecaa5f66bf18..81ca5363092859a75277b9aace015fba73aeb2ca 100644
--- a/cmake/InstallGDML.cmake
+++ b/cmake/InstallGDML.cmake
@@ -9,15 +9,15 @@ EXTERNALPROJECT_ADD(
     DEPENDS XERCES Geant4 
 
     GIT_REPOSITORY "https://github.com/slaclab/gdml"
-    GIT_TAG "${GDML_VERSION}"
+    GIT_TAG ${GDML_VERSION}
     
     UPDATE_COMMAND ""
     PATCH_COMMAND ""
 
-    SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/gdml"
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/gdml -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR}
+    SOURCE_DIR "${CMAKE_BINARY_DIR}/gdml"
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/gdml -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR}
     
     BUILD_COMMAND make -j4
 )
 
-SET( GDML_DIR ${GLOBAL_INSTALL_DIR}/gdml CACHE PATH "GDML install dir" FORCE )
+SET( GDML_DIR ${CMAKE_INSTALL_PREFIX}/gdml CACHE PATH "GDML install dir" FORCE )
diff --git a/cmake/InstallGeant4.cmake b/cmake/InstallGeant4.cmake
index 67a7e33f7a1f3f4fdc5fba1de3d5141218d85714..6512e12fe93967c832a68eb53e92e8fa27b36539 100644
--- a/cmake/InstallGeant4.cmake
+++ b/cmake/InstallGeant4.cmake
@@ -10,16 +10,16 @@ EXTERNALPROJECT_ADD(
     Geant4
 
     GIT_REPOSITORY "https://github.com/Geant4/geant4"
-    GIT_TAG "${GEANT4_VERSION}"
+    GIT_TAG ${GEANT4_VERSION}
     
     UPDATE_COMMAND ""
     PATCH_COMMAND ""
 
-    SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/geant4"
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/geant4 -DGEANT4_INSTALL_DATA=ON
+    SOURCE_DIR "${CMAKE_BINARY_DIR}/geant4"
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/geant4 -DGEANT4_INSTALL_DATA=ON
     
     BUILD_COMMAND make -j4
 )
 
 STRING( REPLACE "v" "" Geant4_VERSION_NUMBER ${Geant4_VERSION} )
-SET( Geant4_DIR ${GLOBAL_INSTALL_DIR}/geant4/lib64/Geant4-${Geant4_VERSION_NUMBER} CACHE PATH "Geant4 install dir" FORCE )
+SET( Geant4_DIR ${CMAKE_INSTALL_PREFIX}/geant4/lib64/Geant4-${Geant4_VERSION_NUMBER} CACHE PATH "Geant4 install dir" FORCE )
diff --git a/cmake/InstallHEPPDT.cmake b/cmake/InstallHEPPDT.cmake
index 620c872d39a93a4ebbe3f499cd02a7a359a7c104..6532351522d8797c59acb0d45732b5665ca02ed0 100644
--- a/cmake/InstallHEPPDT.cmake
+++ b/cmake/InstallHEPPDT.cmake
@@ -3,12 +3,12 @@ EXTERNALPROJECT_ADD(
 
     URL "http://lcgapp.cern.ch/project/simu/HepPDT/download/HepPDT-3.04.01.tar.gz"
 
-    SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/heppdt"
+    SOURCE_DIR "${CMAKE_BINARY_DIR}/heppdt"
     
     UPDATE_COMMAND ""
     PATCH_COMMAND ""
     
-    CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/extdep/heppdt/configure" --prefix=${GLOBAL_INSTALL_DIR}/heppdt
+    CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/heppdt/configure" --prefix=${CMAKE_INSTALL_PREFIX}/heppdt
 )
 
-SET( HEPPDT_DIR ${GLOBAL_INSTALL_DIR}/heppdt CACHE PATH "HEPPDT install dir" FORCE )
+SET( HEPPDT_DIR ${CMAKE_INSTALL_PREFIX}/heppdt CACHE PATH "HEPPDT install dir" FORCE )
diff --git a/cmake/InstallLCDD.cmake b/cmake/InstallLCDD.cmake
index 31afbb123b0abd248cb03427cbfbd3d24d09368b..14ffee6bd9d01aab24a74446cd38f1a489bf39ee 100644
--- a/cmake/InstallLCDD.cmake
+++ b/cmake/InstallLCDD.cmake
@@ -8,15 +8,15 @@ EXTERNALPROJECT_ADD(
     DEPENDS XERCES Geant4 GDML
 
     GIT_REPOSITORY "https://github.com/slaclab/lcdd"
-    GIT_TAG "${LCDD_VERSION}"
+    GIT_TAG ${LCDD_VERSION}
     
     UPDATE_COMMAND ""
     PATCH_COMMAND ""
 
-    SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/lcdd"
-    CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/lcdd -DGDML_DIR=${GDML_DIR} -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR}
+    SOURCE_DIR "${CMAKE_BINARY_DIR}/lcdd"
+    CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/lcdd -DGDML_DIR=${GDML_DIR} -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR}
     
     BUILD_COMMAND make -j4
 )
 
-SET( LCDD_DIR ${GLOBAL_INSTALL_DIR}/lcdd CACHE PATH "LCDD install dir" FORCE )
+SET( LCDD_DIR ${CMAKE_INSTALL_PREFIX}/lcdd CACHE PATH "LCDD install dir" FORCE )
diff --git a/cmake/InstallLCIO.cmake b/cmake/InstallLCIO.cmake
index 161f5d09506238a45a825e69d8d87c96f9f32d49..2fd7720103f5dea6289c953a94bc0a1606dc14f7 100644
--- a/cmake/InstallLCIO.cmake
+++ b/cmake/InstallLCIO.cmake
@@ -6,15 +6,15 @@ EXTERNALPROJECT_ADD(
     LCIO
 
     GIT_REPOSITORY "https://github.com/iLCSoft/LCIO"
-    GIT_TAG "${LCIO_VERSION}"
+    GIT_TAG ${LCIO_VERSION}
     
     UPDATE_COMMAND ""
     PATCH_COMMAND ""
 
-    SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/lcio"
-    CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/lcio
+    SOURCE_DIR "${CMAKE_BINARY_DIR}/lcio"
+    CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/lcio
     
     BUILD_COMMAND make -j4
 )
 
-SET( LCIO_DIR ${GLOBAL_INSTALL_DIR}/lcio CACHE PATH "LCIO install dir" FORCE )
+SET( LCIO_DIR ${CMAKE_INSTALL_PREFIX}/lcio CACHE PATH "LCIO install dir" FORCE )
diff --git a/cmake/InstallXERCES.cmake b/cmake/InstallXERCES.cmake
index 4546cd67072e012b33709089548b3e9b599ace7d..58853962b095eeba5654c248875b750a56f9cf03 100644
--- a/cmake/InstallXERCES.cmake
+++ b/cmake/InstallXERCES.cmake
@@ -3,12 +3,12 @@ EXTERNALPROJECT_ADD(
     XERCES
     
     URL "http://apache.cs.utah.edu//xerces/c/3/sources/xerces-c-3.1.4.tar.gz"
-    SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/xerces"
+    SOURCE_DIR "${CMAKE_BINARY_DIR}/xerces"
     
     UPDATE_COMMAND ""
     PATCH_COMMAND ""
     
-    CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/extdep/xerces/configure" --enable-shared --disable-static --prefix=${GLOBAL_INSTALL_DIR}/xerces
+    CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/xerces/configure" --enable-shared --disable-static --prefix=${CMAKE_INSTALL_PREFIX}/xerces
 )
 
-SET( XERCES_DIR ${GLOBAL_INSTALL_DIR}/xerces CACHE PATH "XERCES install dir" FORCE )
+SET( XERCES_DIR ${CMAKE_INSTALL_PREFIX}/xerces CACHE PATH "XERCES install dir" FORCE )