Newer
Older
#---------------------------------------------------------------------------------------------------
# dd4hep_generate_rootmap(library)
#
# Create the .rootmap file needed by the plug-in system.
#---------------------------------------------------------------------------------------------------
function(dd4hep_generate_rootmap library)
Andre Sailer
committed
if ( NOT DD4hep_ROOT )
SET ( DD4hep_ROOT ${CMAKE_SOURCE_DIR} )
endif()
find_package(ROOT QUIET)
set(rootmapfile ${CMAKE_SHARED_MODULE_PREFIX}${library}.rootmap)
set(libname ${CMAKE_SHARED_MODULE_PREFIX}${library}${CMAKE_SHARED_LIBRARY_SUFFIX})
add_custom_command(OUTPUT ${rootmapfile}
COMMAND ${CMAKE_COMMAND} -Dlibname=${libname} -Drootmapfile=${rootmapfile}
-Dgenmap_install_dir=${LIBRARY_OUTPUT_PATH}
Andre Sailer
committed
-P ${DD4hep_ROOT}/cmake/MakeRootMap.cmake
DEPENDS ${library})
add_custom_target(${library}Rootmap ALL DEPENDS ${rootmapfile})
install(FILES ${LIBRARY_OUTPUT_PATH}/${rootmapfile}
DESTINATION lib
)
endfunction()
#
#
function(dd4hep_generate_rootmap_apple library)
# for now do the same for apple that is done for the rest
dd4hep_generate_rootmap( ${library} )
#FG: the following function works nicely on MacOS - for dd4hep and examples
# but not on SL or Ubuntu ...
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# find_package(ROOT QUIET)
# find_package(DD4hep QUIET)
#
# set(rootmapfile ${CMAKE_SHARED_MODULE_PREFIX}${library}.rootmap)
#
# set(libname ${CMAKE_SHARED_MODULE_PREFIX}${library}${CMAKE_SHARED_LIBRARY_SUFFIX})
#
#
##---------------------------------------------------------------------------------------
#if( DD4hep_FOUND )
# # we are building an external tool and need to source ${DD4hep_ROOT}/bin/thisdd4hep.sh
#
# add_custom_command(OUTPUT ${rootmapfile}
# COMMAND cd ${LIBRARY_OUTPUT_PATH} &&
# . ${DD4hep_ROOT}/bin/thisdd4hep.sh &&
# genmap ${ROOT_genmap_CMD} -i ${libname} -o ${rootmapfile}
# DEPENDS ${library})
#
#else() # we are building DD4hep itself - only need thisroot.sh
#
# add_custom_command(OUTPUT ${rootmapfile}
# COMMAND cd ${LIBRARY_OUTPUT_PATH} &&
# . ${ROOT_ROOT}/bin/thisroot.sh &&
# genmap ${ROOT_genmap_CMD} -i ${libname} -o ${rootmapfile}
# DEPENDS ${library})
#endif()
#
#
#add_custom_target(${library}Rootmap ALL DEPENDS ${rootmapfile})
#
#install(FILES ${LIBRARY_OUTPUT_PATH}/${rootmapfile}
# DESTINATION lib
# )
##--------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
# dd4hep_install_library(library)
#
# Install library
#---------------------------------------------------------------------------------------------------
function(dd4hep_install_library library)
set(installfile ${library}.install)
set(rootmapfile ${CMAKE_SHARED_MODULE_PREFIX}${library}.rootmap)
Markus Frank
committed
set(libname ${CMAKE_SHARED_MODULE_PREFIX}${library}${CMAKE_SHARED_MODULE_SUFFIX})
Markus Frank
committed
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()