Skip to content

Commit 6c07606

Browse files
committed
GPU Standalone: Modernize CMake, get rid of legacy include_directories(...) and add_definitions(...)
1 parent 42d5ae1 commit 6c07606

File tree

4 files changed

+93
-108
lines changed

4 files changed

+93
-108
lines changed

GPU/GPUTracking/CMakeLists.txt

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,27 @@ string(REPLACE ".cxx" ".h" HDRS_TMP "${SRCS_DATATYPES}")
262262
set(HDRS_CINT_DATATYPES ${HDRS_CINT_DATATYPES} ${HDRS_TMP})
263263
unset(HDRS_TMP)
264264

265+
set(INCDIRS
266+
${CMAKE_CURRENT_SOURCE_DIR}
267+
${CMAKE_CURRENT_SOURCE_DIR}/Definitions
268+
${CMAKE_CURRENT_SOURCE_DIR}/DataTypes
269+
${CMAKE_CURRENT_SOURCE_DIR}/Base
270+
${CMAKE_CURRENT_SOURCE_DIR}/SectorTracker
271+
${CMAKE_CURRENT_SOURCE_DIR}/TPCConvert
272+
${CMAKE_CURRENT_SOURCE_DIR}/dEdx
273+
${CMAKE_CURRENT_SOURCE_DIR}/ITS
274+
${CMAKE_CURRENT_SOURCE_DIR}/TRDTracking
275+
${CMAKE_CURRENT_SOURCE_DIR}/qa
276+
${CMAKE_CURRENT_SOURCE_DIR}/Global
277+
${CMAKE_CURRENT_SOURCE_DIR}/HLTHeaders
278+
${CMAKE_CURRENT_SOURCE_DIR}/Interface
279+
${CMAKE_CURRENT_SOURCE_DIR}/Merger
280+
${CMAKE_CURRENT_SOURCE_DIR}/Refit
281+
${CMAKE_CURRENT_SOURCE_DIR}/Debug
282+
${CMAKE_CURRENT_SOURCE_DIR}/DataCompression
283+
${CMAKE_CURRENT_SOURCE_DIR}/TPCClusterFinder
284+
${CMAKE_CURRENT_BINARY_DIR}/include_gpu_onthefly)
285+
265286
# Main CMake part for O2
266287
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
267288
o2_add_library(GPUDataTypes
@@ -297,25 +318,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
297318
O2::DetectorsRaw
298319
O2::Steer
299320
O2::ML
300-
PUBLIC_INCLUDE_DIRECTORIES .
301-
Definitions
302-
DataTypes
303-
Base
304-
SectorTracker
305-
TPCConvert
306-
dEdx
307-
ITS
308-
TRDTracking
309-
qa
310-
Global
311-
HLTHeaders
312-
Interface
313-
Merger
314-
Refit
315-
Debug
316-
DataCompression
317-
TPCClusterFinder
318-
${CMAKE_CURRENT_BINARY_DIR}/include_gpu_onthefly
321+
PUBLIC_INCLUDE_DIRECTORIES ${INCDIRS}
319322
SOURCES ${SRCS} ${SRCS_NO_CINT} ${SRCS_NO_H})
320323

321324
target_include_directories(
@@ -349,15 +352,18 @@ if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
349352
add_library(${MODULE} SHARED ${SRCS} ${SRCS_NO_CINT} ${SRCS_NO_H} ${SRCS_DATATYPES})
350353
set(targetName ${MODULE})
351354
add_library(O2::${MODULE} ALIAS ${MODULE})
352-
install(TARGETS ${MODULE})
355+
install(TARGETS ${targetName})
356+
target_link_libraries(${targetName} PUBLIC TPCFastTransformation)
357+
target_include_directories(${targetName} PUBLIC ${INCDIRS})
353358

354359
if(GPUCA_CONFIG_ROOT)
355-
ROOT_GENERATE_DICTIONARY(G__${MODULE} ${HDRS_CINT_O2} ${HDRS_CINT_DATATYPES} ${HDRS_CINT_O2_ADDITIONAL} GPUTrackingLinkDef_Standalone.h)
356-
target_sources(${MODULE} PRIVATE G__${MODULE})
360+
ROOT_GENERATE_DICTIONARY(G__${targetName} ${HDRS_CINT_O2} ${HDRS_CINT_DATATYPES} ${HDRS_CINT_O2_ADDITIONAL} GPUTrackingLinkDef_Standalone.h MODULE ${targetName})
357361
INSTALL(FILES
358-
${CMAKE_CURRENT_BINARY_DIR}/lib${MODULE}_rdict.pcm
359-
${CMAKE_CURRENT_BINARY_DIR}/lib${MODULE}.rootmap
362+
${CMAKE_CURRENT_BINARY_DIR}/lib${targetName}_rdict.pcm
363+
${CMAKE_CURRENT_BINARY_DIR}/lib${targetName}.rootmap
360364
DESTINATION .)
365+
else()
366+
target_compile_definitions(${targetName} PRIVATE GPUCA_NO_ROOT)
361367
endif()
362368
endif()
363369

GPU/GPUTracking/Standalone/Benchmark/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ endif()
2727
if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
2828
add_executable(ca ${SRCS})
2929
set(targetName ca)
30+
target_link_libraries(${targetName} PUBLIC GPUTracking)
31+
3032
endif()
3133

3234
target_compile_definitions(${targetName} PUBLIC $<TARGET_PROPERTY:O2::GPUTracking,COMPILE_DEFINITIONS>)

GPU/GPUTracking/Standalone/CMakeLists.txt

Lines changed: 59 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,8 @@ else()
111111
set(OpenGL_FOUND OFF)
112112
endif()
113113

114-
if(GPUCA_CONFIG_O2)
115-
add_definitions(-DGPUCA_TPC_GEOMETRY_O2)
116-
endif()
117-
118114
if(GPUCA_CONFIG_ROOT)
119115
find_package(ROOT CONFIG REQUIRED)
120-
else()
121-
add_definitions(-DGPUCA_NO_ROOT)
122116
endif()
123117
find_package(Microsoft.GSL REQUIRED HINTS "$ENV{MS_GSL_ROOT}/share/cmake")
124118

@@ -131,98 +125,79 @@ endif()
131125
# Detect GPU Backends
132126
find_package(O2GPU)
133127

134-
# Global include directories
135-
include_directories(${GPU_DIR}/Common
136-
${GPU_DIR}/Utils
137-
${GPU_DIR}/TPCFastTransformation
138-
${GPUTRACKING_DIR}
139-
${GPUTRACKING_DIR}/Debug
140-
${GPUTRACKING_DIR}/Definitions
141-
${GPUTRACKING_DIR}/DataTypes
142-
${GPUTRACKING_DIR}/Base
143-
${GPUTRACKING_DIR}/dEdx
144-
${GPUTRACKING_DIR}/TPCConvert
145-
${GPUTRACKING_DIR}/Global
146-
${GPUTRACKING_DIR}/HLTHeaders
147-
${GPUTRACKING_DIR}/Merger
148-
${GPUTRACKING_DIR}/Refit
149-
${GPUTRACKING_DIR}/qa
150-
${GPUTRACKING_DIR}/SectorTracker
151-
${GPUTRACKING_DIR}/DataCompression
152-
${GPUTRACKING_DIR}/TRDTracking
153-
${GPUTRACKING_DIR}/TPCClusterFinder
154-
${GPUTRACKING_DIR}/ITS
155-
${GPUTRACKING_DIR}/Interface
156-
${O2_DIR}/Common/Field/include
157-
${O2_DIR}/Common/Constants/include
158-
${O2_DIR}/Common/MathUtils/include
159-
${O2_DIR}/Common/Utils/include
160-
${O2_DIR}/DataFormats/common/include
161-
${O2_DIR}/DataFormats/Detectors/Common/include
162-
${O2_DIR}/DataFormats/Detectors/ITSMFT/common/include
163-
${O2_DIR}/DataFormats/Detectors/ITSMFT/ITS/include
164-
${O2_DIR}/DataFormats/Detectors/TOF/include
165-
${O2_DIR}/DataFormats/Detectors/TPC/include
166-
${O2_DIR}/DataFormats/Detectors/TRD/include
167-
${O2_DIR}/DataFormats/Headers/include
168-
${O2_DIR}/DataFormats/MemoryResources/include
169-
${O2_DIR}/DataFormats/Reconstruction/include
170-
${O2_DIR}/DataFormats/Reconstruction/src
171-
${O2_DIR}/DataFormats/simulation/include
172-
${O2_DIR}/Detectors/Base/include
173-
${O2_DIR}/Detectors/Base/src
174-
${O2_DIR}/Detectors/ITSMFT/common/base/include
175-
${O2_DIR}/Detectors/ITSMFT/ITS/base/include
176-
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/include
177-
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU
178-
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/cuda
179-
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/hip
180-
${O2_DIR}/Detectors/Raw/include
181-
${O2_DIR}/Detectors/TOF/base/include
182-
${O2_DIR}/Detectors/TPC/base/include
183-
${O2_DIR}/Detectors/TRD/base/include
184-
${O2_DIR}/Detectors/TRD/base/src
185-
${O2_DIR}/Framework/Foundation/3rdparty/include)
186-
187128
# Create main targets
188129
add_subdirectory(../../ GPU)
189-
add_library(standalone_support SHARED ${GPUTRACKING_DIR}/utils/EmptyFile.cxx)
130+
add_library(standalone_support SHARED ${O2_DIR}/Common/Field/src/MagFieldFast.cxx
131+
${O2_DIR}/DataFormats/Detectors/TPC/src/CompressedClusters.cxx
132+
${O2_DIR}/DataFormats/simulation/src/MCCompLabel.cxx
133+
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
134+
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
135+
${O2_DIR}/DataFormats/Reconstruction/src/Vertex.cxx
136+
${O2_DIR}/DataFormats/Reconstruction/src/TrackLTIntegral.cxx
137+
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
138+
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
139+
${O2_DIR}/Detectors/TRD/base/src/GeometryBase.cxx
140+
${O2_DIR}/Detectors/Base/src/MatLayerCylSet.cxx
141+
${O2_DIR}/Detectors/Base/src/MatLayerCyl.cxx
142+
${O2_DIR}/Detectors/Base/src/Ray.cxx
143+
${O2_DIR}/Detectors/Base/src/Propagator.cxx
144+
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/Road.cxx)
145+
190146
target_compile_definitions(standalone_support PUBLIC $<TARGET_PROPERTY:O2::GPUTracking,COMPILE_DEFINITIONS>)
147+
target_include_directories(standalone_support PUBLIC $<TARGET_PROPERTY:O2::GPUTracking,INCLUDE_DIRECTORIES>)
148+
149+
target_include_directories(standalone_support PUBLIC
150+
${GPU_DIR}/Common
151+
${GPU_DIR}/Utils
152+
${O2_DIR}/Common/Field/include
153+
${O2_DIR}/Common/Constants/include
154+
${O2_DIR}/Common/MathUtils/include
155+
${O2_DIR}/Common/Utils/include
156+
${O2_DIR}/DataFormats/common/include
157+
${O2_DIR}/DataFormats/Detectors/Common/include
158+
${O2_DIR}/DataFormats/Detectors/ITSMFT/common/include
159+
${O2_DIR}/DataFormats/Detectors/ITSMFT/ITS/include
160+
${O2_DIR}/DataFormats/Detectors/TOF/include
161+
${O2_DIR}/DataFormats/Detectors/TPC/include
162+
${O2_DIR}/DataFormats/Detectors/TRD/include
163+
${O2_DIR}/DataFormats/Headers/include
164+
${O2_DIR}/DataFormats/MemoryResources/include
165+
${O2_DIR}/DataFormats/Reconstruction/include
166+
${O2_DIR}/DataFormats/Reconstruction/src
167+
${O2_DIR}/DataFormats/simulation/include
168+
${O2_DIR}/Detectors/Base/include
169+
${O2_DIR}/Detectors/Base/src
170+
${O2_DIR}/Detectors/ITSMFT/common/base/include
171+
${O2_DIR}/Detectors/ITSMFT/ITS/base/include
172+
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/include
173+
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU
174+
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/cuda
175+
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/hip
176+
${O2_DIR}/Detectors/Raw/include
177+
${O2_DIR}/Detectors/TOF/base/include
178+
${O2_DIR}/Detectors/TPC/base/include
179+
${O2_DIR}/Detectors/TRD/base/include
180+
${O2_DIR}/Detectors/TRD/base/src
181+
${O2_DIR}/Framework/Foundation/3rdparty/include)
191182

192183
target_link_libraries(standalone_support PUBLIC#
193184
dl
194185
pthread
195-
Microsoft.GSL::GSL
196-
TPCFastTransformation)
197-
target_link_libraries(GPUTracking PUBLIC TPCFastTransformation standalone_support)
198-
target_link_libraries(ca PUBLIC GPUTracking)
199-
200-
# Add all sources and dependencies to to support based on Config File
201-
target_sources(standalone_support PRIVATE
202-
${O2_DIR}/Common/Field/src/MagFieldFast.cxx
203-
${O2_DIR}/DataFormats/Detectors/TPC/src/CompressedClusters.cxx
204-
${O2_DIR}/DataFormats/simulation/src/MCCompLabel.cxx
205-
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
206-
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
207-
${O2_DIR}/DataFormats/Reconstruction/src/Vertex.cxx
208-
${O2_DIR}/DataFormats/Reconstruction/src/TrackLTIntegral.cxx
209-
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
210-
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
211-
${O2_DIR}/Detectors/TRD/base/src/GeometryBase.cxx
212-
${O2_DIR}/Detectors/Base/src/MatLayerCylSet.cxx
213-
${O2_DIR}/Detectors/Base/src/MatLayerCyl.cxx
214-
${O2_DIR}/Detectors/Base/src/Ray.cxx
215-
${O2_DIR}/Detectors/Base/src/Propagator.cxx
216-
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/Road.cxx)
186+
Microsoft.GSL::GSL)
187+
188+
target_link_libraries(GPUTracking PUBLIC standalone_support)
189+
target_link_libraries(TPCFastTransformation PUBLIC standalone_support)
190+
191+
if(GPUCA_CONFIG_O2)
192+
target_compile_definitions(GPUTracking PRIVATE GPUCA_TPC_GEOMETRY_O2)
193+
endif()
217194

218195
if(GPUCA_CONFIG_FMT)
219196
target_link_libraries(standalone_support PUBLIC fmt::fmt)
220-
target_link_libraries(TPCFastTransformation PUBLIC fmt::fmt)
221197
endif()
222198

223199
if(GPUCA_CONFIG_VC)
224200
target_link_libraries(standalone_support PUBLIC Vc::Vc)
225-
target_link_libraries(TPCFastTransformation PUBLIC Vc::Vc)
226201
endif()
227202

228203
if(GPUCA_CONFIG_ROOT)

GPU/TPCFastTransformation/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ endif()
119119

120120
if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
121121
add_library(${MODULE} SHARED ${SRCS})
122+
set(targetName ${MODULE})
123+
target_include_directories(${targetName} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
122124
endif()
123125

124126
install (FILES macro/TPCFastTransformInit.C

0 commit comments

Comments
 (0)