From 3448995e5c99453494c715d23bce3708b2b18b6f Mon Sep 17 00:00:00 2001
From: Andre Sailer <andre.philippe.sailer@cern.ch>
Date: Fri, 14 Feb 2020 10:30:32 +0100
Subject: [PATCH] Cmake: dd4hep_add_dictionary: directly use command, no file
 no more

also drop deprecated rootcling options
---
 cmake/DD4hepBuild.cmake | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index 83c834610..478d0d849 100644
--- a/cmake/DD4hepBuild.cmake
+++ b/cmake/DD4hepBuild.cmake
@@ -557,16 +557,17 @@ function(dd4hep_add_dictionary dictionary )
     set ( output_dir ${ARG_OUTPUT} )
   endif()
   EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory ${output_dir})
-  SET(COMP_DEFS )
-  file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${dictionary}_arguments
-    CONTENT "${ROOT_rootcling_CMD} -f ${dictionary}.cxx -s ${output_dir}/${dictionary} -inlineInputHeader ${ARG_OPTIONS}  \
-   $<$<BOOL:${comp_defs}>:-D$<JOIN:${comp_defs}, -D>> \
-   $<$<BOOL:${inc_dirs}>:-I$<JOIN:${inc_dirs}, -I>> \
-   $<JOIN:${headers}, >  $<JOIN:${linkdefs}, >"
-    )
+
   add_custom_command(OUTPUT ${dictionary}.cxx ${output_dir}/${dictionary}_rdict.pcm
-    COMMAND bash ${dictionary}_arguments
-    DEPENDS ${headers} ${linkdefs}
+    COMMAND ${ROOT_rootcling_CMD}
+    ARGS -f ${dictionary}.cxx -s ${output_dir}/${dictionary} -inlineInputHeader
+    ${ARG_OPTIONS} -std=c++${CMAKE_CXX_STANDARD}
+   "$<$<BOOL:$<JOIN:${comp_defs},>>:-D$<JOIN:${comp_defs},;-D>>"
+   "$<$<BOOL:$<JOIN:${inc_dirs},>>:-I$<JOIN:${inc_dirs},;-I>>"
+   "$<JOIN:${headers},;>" "$<JOIN:${linkdefs},;>"
+
+   DEPENDS ${headers} ${linkdefs}
+   COMMAND_EXPAND_LISTS
     )
   add_custom_target(${dictionary}
     DEPENDS ${dictionary}.cxx ${output_dir}/${dictionary}_rdict.pcm
-- 
GitLab