diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26ef3af4c004a56cbf93bb75e1f2e86ba60e1588..4c311da59b35d8ffa1319447e072366bcb19c9f8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,13 +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 )
+#IF ( NOT CMAKE_INSTALL_PREFIX )
+#    SET( CMAKE_INSTALL_PREFIX "$ENV{HOME}/slic" )
+#    MESSAGE( STATUS "Global install dir set to: ${CMAKE_INSTALL_PREFIX}" )
 #ENDIF()
 
 MESSAGE( STATUS "SLIC install dir set to: ${CMAKE_INSTALL_PREFIX}" )
@@ -47,19 +43,16 @@ LIST( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake )
 FILE( GLOB_RECURSE library_sources ${PROJECT_SOURCE_DIR}/src/*.cc )
 
 # dependency list in build order
-SET( DEPENDENCIES XERCES Geant4 LCIO HEPPDT GDML LCDD )
+SET( DEPENDENCIES XERCES Geant4 GDML LCDD LCIO HEPPDT )
 
 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 dep: ${dependency}" )
+    FIND_PACKAGE( ${dependency} )
+    IF ( ${dependency}_FOUND )
+        MESSAGE( STATUS "${dependency} was found at: ${${dependency}_DIR}" )
+        IF( NOT TARGET ${dependency} )
+            ADD_CUSTOM_TARGET( ${dependency} )
         ENDIF()
     ELSE()
         MESSAGE( STATUS "${dependency} was not found and will be installed as an external project." )
@@ -67,6 +60,9 @@ FOREACH( dependency ${DEPENDENCIES} )
         SET( DEPENDENCIES_NOTFOUND "YES" FORCE )
     ENDIF()
     ADD_DEPENDENCIES( extdeps ${dependency} )
+    #MESSAGE("  ${dependency}_DIR=${${dependency}_DIR}" )
+    #MESSAGE("  ${dependency}_VERSION=${${dependency}_VERSION}" )
+    #MESSAGE("  ${dependency}_FOUND=${${dependency}_FOUND}" )
 ENDFOREACH()
 
 IF ( DEPENDENCIES_NOTFOUND )
@@ -89,7 +85,7 @@ ELSE()
     # configure files
     CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/include/PackageInfo.hh.in ${PROJECT_SOURCE_DIR}/include/PackageInfo.hh)
     CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/include/Geant4VersionInfo.hh.in ${PROJECT_SOURCE_DIR}/include/Geant4VersionInfo.hh )
-    CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/scripts/create_slic_tarball.sh.in ${PROJECT_SOURCE_DIR}/scripts/create_slic_tarball.sh )
+    #CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/scripts/create_slic_tarball.sh.in ${PROJECT_SOURCE_DIR}/scripts/create_slic_tarball.sh )
 
     # additional compilation flags for Geant4
     INCLUDE( ${Geant4_USE_FILE} )
@@ -104,11 +100,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/FindLCDD.cmake b/cmake/FindLCDD.cmake
index 4bdd19c7a047f57dc288d9162affa59e90851e6c..a58c35c36a7bdbec77ef7e4044e539f9053e37f0 100644
--- a/cmake/FindLCDD.cmake
+++ b/cmake/FindLCDD.cmake
@@ -3,4 +3,4 @@ FIND_PATH( LCDD_INCLUDE_DIR lcdd/core/LCDDProcessor.hh ${LCDD_DIR}/include )
 FIND_LIBRARY( LCDD_LIBRARY lcdd ${LCDD_DIR}/lib/ )
 
 INCLUDE( FindPackageHandleStandardArgs )
-FIND_PACKAGE_HANDLE_STANDARD_ARGS( LCDD DEFAULT_MSG LCDD_DIR )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( LCDD DEFAULT_MSG LCDD_INCLUDE_DIR LCDD_LIBRARY )
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..049a47264a114daae960b29c29f4d17ee48e2de3 100644
--- a/cmake/InstallGeant4.cmake
+++ b/cmake/InstallGeant4.cmake
@@ -3,23 +3,28 @@ IF( NOT Geant4_VERSION )
 ENDIF()
 
 IF ( Geant4_VERSION EQUAL "master" )
-    MESSAGE( FATAL "Installing Geant4 from github master is not allowed." )
+    MESSAGE( FATAL_ERROR "Installing Geant4 from github master is not allowed." )
+ENDIF()
+
+IF ( NOT GEANT4_INSTALL_DATA )
+    SET( GEANT4_INSTALL_DATA "OFF" )
 ENDIF()
 
 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=${GEANT4_INSTALL_DATA}
     
     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..138229aba9da0406e35421a55dff497379bf7040 100644
--- a/cmake/InstallLCDD.cmake
+++ b/cmake/InstallLCDD.cmake
@@ -8,15 +8,16 @@ 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 )
diff --git a/scripts/slic-env.sh.in b/scripts/slic-env.sh.in
index f8e11360ec7e4c7ca0a5cf0f2d6034289c011a41..a5cb228e6d394847c53f1694737ff61a22bf0a0e 100755
--- a/scripts/slic-env.sh.in
+++ b/scripts/slic-env.sh.in
@@ -11,7 +11,7 @@ export GDML_SCHEMA_DIR=@GDML_DIR@/schemas
 
 . @Geant4_DIR@/../../bin/geant4.sh
 
-export PATH=@CMAKE_INSTALL_PREFIX@/bin:$PATH
+export PATH=@CMAKE_INSTALL_PREFIX@/slic/bin:$PATH
 
 echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
 echo "GDML_SCHEMA_DIR=$GDML_SCHEMA_DIR"