Skip to content

Commit 99dc110

Browse files
committed
GPU: Standalone build should create ROOT dictionaries if ROOT is present
1 parent 827af3f commit 99dc110

3 files changed

Lines changed: 40 additions & 2 deletions

File tree

GPU/GPUTracking/CMakeLists.txt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ set(SRCS_O2_DATATYPES
8383
${SRCS_DATATYPES}
8484
Interface/GPUO2InterfaceConfigurableParam.cxx)
8585
set(HDRS_CINT_O2 Merger/GPUTPCGMMergedTrack.h)
86-
set(HDRS_CINT_O2_DATATYPES DataTypes/GPUDataTypes.h Interface/GPUO2InterfaceConfigurableParam.h)
86+
set(HDRS_CINT_O2_DATATYPES DataTypes/GPUDataTypes.h)
87+
set(HDRS_CIND_O2_CONFIGURABLEPARAM Interface/GPUO2InterfaceConfigurableParam.h)
8788
set(HDRS_CINT_O2_ADDITIONAL DataTypes/GPUSettings.h Definitions/GPUSettingsList.h DataTypes/GPUDataTypes.h DataTypes/GPUTRDTrack.h DataTypes/CalibdEdxTrackTopologyPol.h DataTypes/CalibdEdxTrackTopologySpline.h) # Manual dependencies for ROOT dictionary generation
8889

8990
set(SRCS_NO_CINT
@@ -291,7 +292,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
291292
SOURCES ${SRCS_O2_DATATYPES})
292293
target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2 GPUCA_HAVE_O2HEADERS)
293294
o2_target_root_dictionary(GPUDataTypes
294-
HEADERS ${HDRS_CINT_O2_DATATYPES} ${HDRS_CINT_O2_ADDITIONAL}
295+
HEADERS ${HDRS_CINT_O2_DATATYPES} ${HDRS_CIND_O2_CONFIGURABLEPARAM} ${HDRS_CINT_O2_ADDITIONAL}
295296
LINKDEF GPUTrackingLinkDef_O2_DataTypes.h)
296297

297298
o2_add_library(${MODULE}
@@ -458,6 +459,15 @@ if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
458459
set(targetName ${MODULE})
459460
add_library(O2::${MODULE} ALIAS ${MODULE})
460461
install(TARGETS ${MODULE})
462+
463+
if(CONFIG_ROOT)
464+
ROOT_GENERATE_DICTIONARY(G__${MODULE} ${HDRS_CINT_O2} ${HDRS_CINT_O2_DATATYPES} ${HDRS_CINT_O2_ADDITIONAL} GPUTrackingLinkDef_Standalone.h)
465+
target_sources(${MODULE} PRIVATE G__${MODULE})
466+
INSTALL(FILES
467+
${CMAKE_CURRENT_BINARY_DIR}/lib${MODULE}_rdict.pcm
468+
${CMAKE_CURRENT_BINARY_DIR}/lib${MODULE}.rootmap
469+
DESTINATION .)
470+
endif()
461471
endif()
462472

463473
# Add compile definitions and libraries depending on available optional dependencies

GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#pragma link C++ class o2::gpu::trackInterface < o2::track::TrackParCov> + ;
2222
#pragma link C++ class o2::gpu::GPUTRDTrack_t < o2::gpu::trackInterface < o2::track::TrackParCov>> + ;
2323
#pragma link C++ class std::vector < o2::gpu::GPUTRDTrack_t < o2::gpu::trackInterface < o2::track::TrackParCov>>> + ;
24+
#ifdef GPUCA_O2_LIB
2425
#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsO2 + ;
2526
#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsRec + ;
2627
#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsRecTPC + ;
@@ -33,6 +34,7 @@
3334
#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsDisplayRenderer + ;
3435
#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsDisplayVulkan + ;
3536
#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsQA + ;
37+
#endif
3638
#pragma link C++ class o2::tpc::CalibdEdxTrackTopologyPol + ;
3739
#pragma link C++ class o2::tpc::CalibdEdxTrackTopologySpline + ;
3840
#pragma link C++ struct o2::tpc::CalibdEdxTrackTopologyPolContainer + ;
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
/// \file GPUTrackingLinkDef_Standalone.h
13+
/// \author David Rohr
14+
15+
#ifdef __CLING__
16+
17+
#include "GPUTrackingLinkDef_O2.h"
18+
#include "GPUTrackingLinkDef_O2_DataTypes.h"
19+
20+
#pragma link off all globals;
21+
#pragma link off all classes;
22+
#pragma link off all functions;
23+
24+
#pragma link C++ class o2::tpc::ClusterNative + ;
25+
26+
#endif

0 commit comments

Comments
 (0)