diff --git a/cmake/DD4hep.cmake b/cmake/DD4hep.cmake index 0b6be6a98f25496d8c4f2047a38ea7ae6741eef5..46328b4d14b3c4268c59d8a8a3514415b12b7c8a 100644 --- a/cmake/DD4hep.cmake +++ b/cmake/DD4hep.cmake @@ -9,9 +9,9 @@ function(dd4hep_generate_rootmap library) set(libname ${CMAKE_SHARED_MODULE_PREFIX}${library}${CMAKE_SHARED_LIBRARY_SUFFIX}) add_custom_command(OUTPUT ${rootmapfile} - COMMAND cd ${LIBRARY_OUTPUT_PATH} && - . ${CMAKE_BINARY_DIR}/thisdd4hep.sh && - genmap ${ROOT_genmap_CMD} -i ${libname} -o ${rootmapfile} + COMMAND ${CMAKE_COMMAND} -Dlibname=${libname} -Drootmapfile=${rootmapfile} + -Dgenmap_install_dir=${LIBRARY_OUTPUT_PATH} + -P ${CMAKE_SOURCE_DIR}/cmake/MakeRootMap.cmake DEPENDS ${library}) add_custom_target(${library}Rootmap ALL DEPENDS ${rootmapfile}) @@ -37,8 +37,9 @@ function(dd4hep_install_library library) set(libname ${CMAKE_SHARED_MODULE_PREFIX}${library}${CMAKE_SHARED_MODULE_SUFFIX}) add_custom_command(OUTPUT ${rootmapfile} - COMMAND echo - ${library} ${LIBRARY_OUTPUT_DIR} - DEPENDS ${library}) + SET ( ENV{LD_LIBRARY_PATH} ./:$ENV{LD_LIBRARY_PATH} ) + COMMAND echo + ${library} ${LIBRARY_OUTPUT_DIR} + DEPENDS ${library}) add_custom_target(${library}Install ALL DEPENDS ${installfile}) endfunction() diff --git a/cmake/MakeRootMap.cmake b/cmake/MakeRootMap.cmake new file mode 100644 index 0000000000000000000000000000000000000000..dd01e7d2211f35960770209e0be2c96477754d1f --- /dev/null +++ b/cmake/MakeRootMap.cmake @@ -0,0 +1,5 @@ +SET ( ENV{LD_LIBRARY_PATH} ./:$ENV{LD_LIBRARY_PATH} ) +EXECUTE_PROCESS( COMMAND + genmap -i ${libname} -o ${rootmapfile} + WORKING_DIRECTORY ${genmap_install_dir} +)