diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index ccdb8a6a96b0097bc691f89977f79181dbffcbda..823139f8bf33cfe0b19bc78132432a5e33dc92c1 100644
--- a/cmake/DD4hepBuild.cmake
+++ b/cmake/DD4hepBuild.cmake
@@ -476,21 +476,21 @@ function ( dd4hep_unpack_package_opts name opt )
       if( "${nam_pkg}" STREQUAL "" )
         set ( nam_pkg ${e} )
         unset ( act_pkg )
-      elseif ( "${e}" STREQUAL "REQUIRED" )
+      elseif ( ${e} STREQUAL "REQUIRED" )
         set ( req_pkg ${e} )
         unset ( act_pkg )
-      elseif ( "${e}" STREQUAL "INTERNAL" )
+      elseif ( ${e} STREQUAL "INTERNAL" )
         set ( typ_pkg ${e} )
         unset ( act_pkg )
-      elseif ( "${e}" STREQUAL "EXTERNAL" )
+      elseif ( ${e} STREQUAL "EXTERNAL" )
         set ( typ_pkg ${e} )
         unset ( act_pkg )
-      elseif ( "${com_pkg}" STREQUAL "" AND "${e}" STREQUAL "COMPONENTS" )
+      elseif ( "${com_pkg}" STREQUAL "" AND ${e} STREQUAL "COMPONENTS" )
         set ( com_pkg ${e} )
         set ( act_pkg ${e} )
-      elseif ( "${src_pkg}" STREQUAL "" AND "${e}" STREQUAL "SOURCES" )
+      elseif ( "${src_pkg}" STREQUAL "" AND ${e} STREQUAL "SOURCES" )
         set ( act_pkg ${e} )
-      elseif ( "${def_pkg}" STREQUAL "" AND "${e}" STREQUAL "DEFINITIONS" )
+      elseif ( "${def_pkg}" STREQUAL "" AND ${e} STREQUAL "DEFINITIONS" )
         set ( act_pkg ${e} )
       elseif ( "${act_pkg}" STREQUAL "COMPONENTS" )
         set ( comp_pkg ${comp_pkg} ${e} )
diff --git a/cmake/FindPYTHON.cmake b/cmake/FindPYTHON.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..b4358b5b41b69f0b3f78cc2eba297a2ea08e0eed
--- /dev/null
+++ b/cmake/FindPYTHON.cmake
@@ -0,0 +1,42 @@
+# - Find Xerces-C
+# This module tries to find the Xerces-C library and headers.
+# Once done this will define
+#
+#   XERCESC_FOUND - system has Xerces-C headers and libraries
+#   XERCESC_INCLUDE_DIRS - the include directories needed for Xerces-C
+#   XERCESC_LIBRARIES - the libraries needed to use Xerces-C
+#
+# Variables used by this module, which can change the default behaviour and
+# need to be set before calling find_package:
+#
+#   XERCESC_ROOT_DIR            Root directory to Xerces-C installation. Will
+#                               be used ahead of CMake default path.
+#
+# The following advanced variables may be used if the module has difficulty
+# locating Xerces-C or you need fine control over what is used.
+#
+#   XERCESC_INCLUDE_DIR
+#
+#   XERCESC_LIBRARY
+#
+# Copyright (c) 2009, Ben Morgan, <Ben.Morgan@warwick.ac.uk>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+include ( FindPackageHandleStandardArgs )
+
+find_package(PythonInterp 2.7 REQUIRED)
+find_package(PythonLibs   2.7 REQUIRED)
+
+if (PYTHONLIBS_FOUND)
+  get_filename_component(PYTHON_LIBRARY_DIR  ${PYTHON_LIBRARIES} DIRECTORY)
+  #get_filename_component(PYTHON_LIBRARY_NAME ${PYTHON_LIBRARIES} NAME_WE)
+  set(PYTHON_LIBRARY_DIR  ${PYTHON_LIBRARY_DIR})
+  set(PYTHON_LIBRARIES    ${PYTHON_LIBRARIES})
+  set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
+  message(STATUS "******** PYTHON FOUND  ${PYTHON_LIBRARY_DIR}  -> ${PYTHON_LIBRARIES}")
+else()
+  message(STATUS "PYTHON ****NOT**** FOUND")
+endif()
+find_package_handle_standard_args(PYTHON DEFAULT_MSG PYTHON_INCLUDE_DIR)
+mark_as_advanced(PYTHON_FOUND PYTHON_INCLUDE_DIRS)
diff --git a/cmake/MakeRootMap.cmake b/cmake/MakeRootMap.cmake
index 962518de70beaa4a0c8dafb2bf74860dbb05189d..1753b7a307f95b578da5cbe6dfa36d5caaa06ab5 100644
--- a/cmake/MakeRootMap.cmake
+++ b/cmake/MakeRootMap.cmake
@@ -7,6 +7,12 @@ if( ${ROOT_VERSION_MAJOR} GREATER 5 )
   MESSAGE( STATUS " *** MakeROOTMap[components].cmake run command : ${ROOT_genmap_CMD} -o ${rootmapfile} ${libname} 
                  WORKING_DIRECTORY ${genmap_install_dir} "
     )  
+  if(APPLE)
+    SET ( ENV{DYLD_LIBRARY_PATH} ${genmap_install_dir}:$ENV{DYLD_LIBRARY_PATH} )
+  else()
+    SET ( ENV{LD_LIBRARY_PATH} ${genmap_install_dir}:$ENV{LD_LIBRARY_PATH} )
+  endif()
+  # EXECUTE_PROCESS( COMMAND echo LD_LIBRARY_PATH = $ENV{LD_LIBRARY_PATH} )
   EXECUTE_PROCESS( COMMAND 
     ${ROOT_genmap_CMD} -o ${rootmapfile} ${libname}
     WORKING_DIRECTORY ${genmap_install_dir}
diff --git a/cmake/thisdd4hep.sh b/cmake/thisdd4hep.sh
index f64cba0c3c24bf2a85785c32f96dd50824b8d57b..1f93842a281dbcd65a7189af1ff32f61d4b335d3 100644
--- a/cmake/thisdd4hep.sh
+++ b/cmake/thisdd4hep.sh
@@ -30,10 +30,10 @@ dd4hep_add_path()   {
     path_name=${1};
     path_prefix=${2};
     eval path_value=\$$path_name;
-    if test -z "${path_value}"; then
-	path_value=${path_prefix};
-    else
+    if [ ${path_value} ]; then
 	path_value=${path_prefix}:${path_value};
+    else
+	path_value=${path_prefix};
     fi; 
     eval export ${path_name}=${path_value};
     ## echo "dd4hep_add_path: ${path_name}=${path_value}";
@@ -43,9 +43,17 @@ dd4hep_add_library_path()    {
     path_prefix=${1};
     if [ @USE_DYLD@ ];
     then
-	export DYLD_LIBRARY_PATH=${path_prefix}:$DYLD_LIBRARY_PATH;
+        if [ ${DYLD_LIBRARY_PATH} ]; then
+	    export DYLD_LIBRARY_PATH=${path_prefix}:$DYLD_LIBRARY_PATH;
+        else
+            export DYLD_LIBRARY_PATH=${path_prefix};
+        fi;
     else
-	export LD_LIBRARY_PATH=${path_prefix}:$LD_LIBRARY_PATH;
+        if [ ${LD_LIBRARY_PATH} ]; then
+	    export LD_LIBRARY_PATH=${path_prefix}:$LD_LIBRARY_PATH;
+        else
+	    export LD_LIBRARY_PATH=${path_prefix};
+        fi;
     fi;
 }
 #
@@ -65,7 +73,7 @@ ROOTENV_INIT=${ROOTSYS}/bin/thisroot.sh;
 test -r ${ROOTENV_INIT} && { cd $(dirname ${ROOTENV_INIT}); . ./$(basename ${ROOTENV_INIT}) ; cd $OLDPWD ; }
 #
 #----Geant4 LIBRARY_PATH------------------------------------------------------
-if test -n "${Geant4_DIR}"; then
+if [ ${Geant4_DIR ]; then
     G4LIB_DIR=`dirname ${Geant4_DIR}`;
     export G4INSTALL=`dirname ${G4LIB_DIR}`;
     export G4ENV_INIT=${G4INSTALL}/bin/geant4.sh
diff --git a/cmake/thisdd4hep_package.sh.in b/cmake/thisdd4hep_package.sh.in
index 0c9075be743ce3f1931a93a733fb4eda60018d3a..d542f37bc01cd77db1c13e05511ae2e78595cc42 100644
--- a/cmake/thisdd4hep_package.sh.in
+++ b/cmake/thisdd4hep_package.sh.in
@@ -9,7 +9,7 @@
 #
 #################################################################################
 # Default of DD4hep is the primary installation directory
-if test -z "${DD4hep_DIR}"; then
+if [ ! ${DD4hep_DIR} ]; then
     export DD4hep_DIR=@DD4hep_DIR@;
 fi;
 source ${DD4hep_DIR}/bin/thisdd4hep.sh;