Skip to content

Commit

Permalink
Use ROOT_STANDARD_LIBRARY_PACKAGE where possible [NFC]
Browse files Browse the repository at this point in the history
This refactors the CMake build files to no longer manually call
the CMake functions for generating and linking the dicionairies.
One reason is to reduce boilerplate, the other is that it is now
no longer possible to have naming mismatches between the dictionary
generation arguments and linking function arguments which was causing
the race conditions we had in our build system.

This also now follows more strictly the separation between dependencies
like Math, Tree and Core and pure linking flags to external libraries.
  • Loading branch information
Teemperor authored and vgvassilev committed Jul 28, 2017
1 parent e17ad49 commit ac0de75
Show file tree
Hide file tree
Showing 91 changed files with 490 additions and 504 deletions.
10 changes: 6 additions & 4 deletions bindings/pyroot/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
############################################################################
include_directories(${PYTHON_INCLUDE_DIRS})

ROOT_GENERATE_DICTIONARY(G__PyROOT *.h MODULE PyROOT LINKDEF LinkDef.h OPTIONS "-writeEmptyRootPCM" DEPENDENCIES Core MathCore)

ROOT_ADD_CXX_FLAG(CMAKE_CXX_FLAGS -fno-strict-aliasing)
ROOT_ADD_CXX_FLAG(CMAKE_CXX_FLAGS -Wno-parentheses-equality)

Expand All @@ -15,8 +13,12 @@ if(WIN32)
-include:_G__cpp_setupG__Thread
-include:_G__cpp_setupG__MathCore)
endif()
ROOT_LINKER_LIBRARY(PyROOT *.cxx G__PyROOT.cxx LIBRARIES Core Net Tree MathCore Rint ${PYTHON_LIBRARIES})
ROOT_LINKER_LIBRARY(JupyROOT ../JupyROOT/src/*.cxx LIBRARIES Core)
ROOT_STANDARD_LIBRARY_PACKAGE(PyROOT
NO_INSTALL_HEADERS
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
LIBRARIES ${PYTHON_LIBRARIES}
DEPENDENCIES Core MathCore Net Tree Rint)
ROOT_LINKER_LIBRARY(JupyROOT ../JupyROOT/src/*.cxx DEPENDENCIES Core)


if(MSVC)
Expand Down
8 changes: 4 additions & 4 deletions bindings/r/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ set(R_HEADERS ${CMAKE_SOURCE_DIR}/bindings/r/inc/TRInterface.h
${CMAKE_SOURCE_DIR}/bindings/r/inc/TRDataFrame.h
${CMAKE_SOURCE_DIR}/bindings/r/inc/RExports.h)

ROOT_GENERATE_DICTIONARY(G__RInterface ${R_HEADERS} MODULE ${libname} LINKDEF LinkDef.h DEPENDENCIES Core Matrix Thread RIO)
ROOT_LINKER_LIBRARY(RInterface *.cxx G__RInterface.cxx LIBRARIES ${R_LIBRARIES} DEPENDENCIES Core Matrix Thread RIO readline)

ROOT_INSTALL_HEADERS()
ROOT_STANDARD_LIBRARY_PACKAGE(RInterface
HEADERS ${R_HEADERS}
LIBRARIES ${R_LIBRARIES} readline
DEPENDENCIES Core Matrix Thread RIO)
9 changes: 3 additions & 6 deletions bindings/ruby/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,11 @@
############################################################################
include_directories(${RUBY_INCLUDE_DIRS})

ROOT_GENERATE_DICTIONARY(G__Ruby *.h MODULE Ruby LINKDEF LinkDef.h DEPENDENCIES Hist MathCore)
ROOT_STANDARD_LIBRARY_PACKAGE(Ruby
LIBRARIES ${RUBY_LIBRARY} ${CMAKE_DL_LIBS}
DEPENDENCIES Hist MathCore)


ROOT_LINKER_LIBRARY(Ruby *.cxx G__Ruby.cxx LIBRARIES ${RUBY_LIBRARY} ${CMAKE_DL_LIBS} DEPENDENCIES Hist MathCore)
if(MACOSX_MINOR EQUAL 5)
ROOT_EXECUTABLE(ruby64 ruby64.c LIBRARIES ${RUBY_LIBRARY})
endif()

#---Install headers----------------------------------------------------------
ROOT_INSTALL_HEADERS()

83 changes: 78 additions & 5 deletions cmake/modules/RootNewMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -816,13 +816,86 @@ function(ROOT_INSTALL_HEADERS)
endfunction()

#---------------------------------------------------------------------------------------------------
#---ROOT_STANDARD_LIBRARY_PACKAGE(libname DEPENDENCIES lib1 lib2)
#---ROOT_STANDARD_LIBRARY_PACKAGE(libname
# [NO_INSTALL_HEADERS] : don't install headers for this package
# [STAGE1] : use rootcling_stage1 for generating
# HEADERS header1 header2 : if not specified, globbing for *.h is used)
# [NO_HEADERS] : don't glob to fill HEADERS variable
# SOURCES source1 source2 : if not specified, globbing for *.cxx is used)
# [NO_SOURCES] : don't glob to fill SOURCES variable
# [OBJECT_LIBRARY] : use ROOT_OBJECT_LIBRARY to generate object files
# and then use those for linking.
# LIBRARIES lib1 lib2 : linking flags such as dl, readline
# DEPENDENCIES lib1 lib2 : dependencies such as Core, MathCore
# BUILTINS builtin1 builtin2 : builtins like AFTERIMAGE
# LINKDEF LinkDef.h LinkDef2.h : linkdef files, default value is "LinkDef.h"
# DICTIONARY_OPTIONS option : options passed to rootcling
# INSTALL_OPTIONS option : options passed to install headers
# )
#---------------------------------------------------------------------------------------------------
function(ROOT_STANDARD_LIBRARY_PACKAGE libname)
CMAKE_PARSE_ARGUMENTS(ARG "" "" "DEPENDENCIES;DICTIONARY_OPTIONS" ${ARGN})
ROOT_GENERATE_DICTIONARY(G__${libname} *.h MODULE ${libname} LINKDEF LinkDef.h OPTIONS ${ARG_DICTIONARY_OPTIONS})
ROOT_LINKER_LIBRARY(${libname} *.cxx G__${libname}.cxx DEPENDENCIES ${ARG_DEPENDENCIES})
ROOT_INSTALL_HEADERS()
set(options NO_INSTALL_HEADERS STAGE1 NO_HEADERS NO_SOURCES OBJECT_LIBRARY)
set(oneValueArgs)
set(multiValueArgs DEPENDENCIES HEADERS SOURCES BUILTINS LIBRARIES DICTIONARY_OPTIONS LINKDEF INSTALL_OPTIONS)
CMAKE_PARSE_ARGUMENTS(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

# Check if we have any unparsed arguments
if(ARG_UNPARSED_ARGUMENTS)
message(AUTHOR_WARNING "Unparsed arguments for ROOT_STANDARD_LIBRARY_PACKAGE: ${ARG_UNPARSED_ARGUMENTS}")
endif()
# Check that the user doesn't parse NO_HEADERS to disable globbing and HEADERS at the same time.
if (ARG_HEADERS AND ARG_NO_HEADERS)
message(AUTHOR_WARNING "HEADERS and NO_HEADERS arguments are mutually exclusive.")
endif()
if (ARG_SOURCES AND ARG_NO_SOURCES)
message(AUTHOR_WARNING "SOURCES and NO_SOURCES arguments are mutually exclusive.")
endif()

# Set default values
# If HEADERS/SOURCES are not parsed, we glob for those files.
if (NOT ARG_HEADERS AND NOT ARG_NO_HEADERS)
set(ARG_HEADERS "*.h")
endif()
if (NOT ARG_SOURCES AND NOT ARG_NO_SOURCES)
set(ARG_SOURCES "*.cxx")
endif()
if (NOT ARG_LINKDEF)
set(ARG_LINKDEF "LinkDef.h")
endif()

if (ARG_STAGE1)
set(STAGE1_FLAG "STAGE1")
endif()

ROOT_GENERATE_DICTIONARY(G__${libname} ${ARG_HEADERS}
MODULE ${libname}
${STAGE1_FLAG}
LINKDEF ${ARG_LINKDEF}
OPTIONS ${ARG_DICTIONARY_OPTIONS}
DEPENDENCIES ${ARG_DEPENDENCIES}
BUILTINS ${ARG_BUILTINS}
)

if (ARG_OBJECT_LIBRARY)
ROOT_OBJECT_LIBRARY(${libname}Objs ${ARG_SOURCES} G__${libname}.cxx)
ROOT_LINKER_LIBRARY(${libname} $<TARGET_OBJECTS:${libname}Objs>
LIBRARIES ${ARG_LIBRARIES}
DEPENDENCIES ${ARG_DEPENDENCIES}
BUILTINS ${ARG_BUILTINS}
)
else(ARG_OBJECT_LIBRARY)
ROOT_LINKER_LIBRARY(${libname} ${ARG_SOURCES} G__${libname}.cxx
LIBRARIES ${ARG_LIBRARIES}
DEPENDENCIES ${ARG_DEPENDENCIES}
BUILTINS ${ARG_BUILTINS}
)
endif(ARG_OBJECT_LIBRARY)

# Install headers if we have any headers and if the user didn't explicitly
# disabled this.
if (NOT ARG_NO_INSTALL_HEADERS OR ARG_NO_HEADERS)
ROOT_INSTALL_HEADERS(${ARG_INSTALL_OPTIONS})
endif()
endfunction()

#---------------------------------------------------------------------------------------------------
Expand Down
8 changes: 6 additions & 2 deletions core/clingutils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,12 @@ foreach(dict ${stldicts})
string(REPLACE "2" "" header ${dict})
string(REPLACE "complex" "root_std_complex.h" header ${header})
string(REPLACE "multi" "" header ${header})
ROOT_GENERATE_DICTIONARY(G__${dict}Dict ${header} STAGE1 MODULE ${dict}Dict LINKDEF src/${dict}Linkdef.h DEPENDENCIES Core)
ROOT_LINKER_LIBRARY(${dict}Dict G__${dict}Dict.cxx DEPENDENCIES Core)
ROOT_STANDARD_LIBRARY_PACKAGE(${dict}Dict
NO_SOURCES NO_INSTALL_HEADERS
STAGE1
HEADERS ${header}
LINKDEF src/${dict}Linkdef.h
DEPENDENCIES Core)
endforeach()

#---Deal with LLVM resource here----------------------------------------------
Expand Down
10 changes: 5 additions & 5 deletions core/multiproc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ set(headers TMPClient.h MPSendRecv.h ROOT/TProcessExecutor.hxx TProcPool.h TMPWo

set(sources TMPClient.cxx MPSendRecv.cxx TProcessExecutor.cxx TMPWorker.cxx)

ROOT_GENERATE_DICTIONARY(G__MultiProc ${headers} MODULE MultiProc LINKDEF LinkDef.h DEPENDENCIES Core Net Tree)

ROOT_OBJECT_LIBRARY(MultiProcObjs ${sources} G__MultiProc.cxx)
ROOT_LINKER_LIBRARY(MultiProc $<TARGET_OBJECTS:MultiProcObjs> DEPENDENCIES Core Net dl)
ROOT_INSTALL_HEADERS()
ROOT_STANDARD_LIBRARY_PACKAGE(MultiProc
OBJECT_LIBRARY
HEADERS ${headers}
LIBRARIES dl
DEPENDENCIES Core Net Tree)
8 changes: 4 additions & 4 deletions core/rint/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# CMakeLists.txt file for building ROOT core/rint package
############################################################################

ROOT_GENERATE_DICTIONARY(G__Rint *.h STAGE1 MODULE Rint LINKDEF LinkDef.h OPTIONS "-writeEmptyRootPCM" DEPENDENCIES Core)

ROOT_LINKER_LIBRARY(Rint *.cxx G__Rint.cxx DEPENDENCIES Core)
ROOT_INSTALL_HEADERS()
ROOT_STANDARD_LIBRARY_PACKAGE(Rint
STAGE1
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
DEPENDENCIES Core)
13 changes: 8 additions & 5 deletions core/thread/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,14 @@ else()
TWin32Thread.cxx TWin32ThreadFactory.cxx)
endif()

ROOT_GENERATE_DICTIONARY(G__Thread ${headers} STAGE1 MODULE Thread LINKDEF LinkDef.h DEPENDENCIES Core)

ROOT_OBJECT_LIBRARY(ThreadObjs ${sources} G__Thread.cxx)
ROOT_LINKER_LIBRARY(Thread $<TARGET_OBJECTS:ThreadObjs> LIBRARIES ${CMAKE_THREAD_LIBS_INIT} DEPENDENCIES Core BUILTINS)
ROOT_INSTALL_HEADERS(${installoptions})
ROOT_STANDARD_LIBRARY_PACKAGE(Thread
HEADERS ${headers}
SOURCES ${sources}
OBJECT_LIBRARY
STAGE1
DEPENDENCIES Core
LIBRARIES ${CMAKE_THREAD_LIBS_INIT}
INSTALL_OPTIONS ${installoptions})

if(testing)
add_subdirectory(test)
Expand Down
6 changes: 2 additions & 4 deletions geom/gdml/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
# CMakeLists.txt file for building ROOT geom/gdml package
############################################################################

ROOT_GENERATE_DICTIONARY(G__Gdml *.h MODULE Gdml LINKDEF LinkDef.h DEPENDENCIES Geom XMLIO Hist RIO)

ROOT_LINKER_LIBRARY(Gdml *.cxx G__Gdml.cxx DEPENDENCIES Geom XMLIO Hist RIO)
ROOT_INSTALL_HEADERS()
ROOT_STANDARD_LIBRARY_PACKAGE(Gdml
DEPENDENCIES Geom XMLIO Hist RIO)

7 changes: 3 additions & 4 deletions geom/geocad/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ include_directories(${OCC_INCLUDE_DIR})
ROOT_ADD_CXX_FLAG(CMAKE_CXX_FLAGS -Wno-overloaded-virtual)
ROOT_ADD_CXX_FLAG(CMAKE_CXX_FLAGS -Wno-ignored-qualifiers)

ROOT_GENERATE_DICTIONARY(G__GeoCad *.h MODULE GeoCad LINKDEF LinkDef.h DEPENDENCIES Geom)

ROOT_LINKER_LIBRARY(GeoCad *.cxx G__GeoCad.cxx LIBRARIES Core ${OCC_LIBRARIES} DEPENDENCIES Geom)

ROOT_INSTALL_HEADERS()
ROOT_STANDARD_LIBRARY_PACKAGE(GeoCad
LIBRARIES ${OCC_LIBRARIES}
DEPENDENCIES Geom)
11 changes: 3 additions & 8 deletions geom/geom/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
# CMakeLists.txt file for building ROOT geom/geom package
############################################################################

set(libname Geom)

set(headers1 TGeoAtt.h TGeoStateInfo.h TGeoBoolNode.h
TGeoMedium.h TGeoMaterial.h
TGeoMatrix.h TGeoVolume.h TGeoNode.h
Expand All @@ -21,9 +19,6 @@ set(headers2 TGeoPatternFinder.h TGeoCache.h TVirtualMagField.h
TGeoExtension.h TGeoParallelWorld.h)


ROOT_GENERATE_DICTIONARY(G__${libname} ${headers1} ${headers2} MODULE ${libname} LINKDEF LinkDef.h DEPENDENCIES Thread RIO MathCore)


ROOT_LINKER_LIBRARY(${libname} *.cxx G__${libname}.cxx DEPENDENCIES Thread RIO MathCore)
ROOT_INSTALL_HEADERS()

ROOT_STANDARD_LIBRARY_PACKAGE(Geom
HEADERS ${headers1} ${headers2}
DEPENDENCIES Thread RIO MathCore)
11 changes: 3 additions & 8 deletions geom/geombuilder/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
# @author Pere Mato, CERN
############################################################################

set(libname GeomBuilder)

set(headers TGeoVolumeEditor.h TGeoBBoxEditor.h TGeoMediumEditor.h
TGeoNodeEditor.h TGeoMatrixEditor.h TGeoManagerEditor.h
TGeoTubeEditor.h TGeoConeEditor.h TGeoTrd1Editor.h
Expand All @@ -13,9 +11,6 @@ set(headers TGeoVolumeEditor.h TGeoBBoxEditor.h TGeoMediumEditor.h
TGeoTorusEditor.h TGeoEltuEditor.h TGeoHypeEditor.h
TGeoPgonEditor.h TGeoTrapEditor.h TGeoGedFrame.h )

ROOT_GENERATE_DICTIONARY(G__${libname} ${headers} MODULE ${libname} LINKDEF LinkDef.h DEPENDENCIES Geom Graf3d Gpad Graf Gui Ged)


ROOT_LINKER_LIBRARY(${libname} *.cxx G__${libname}.cxx DEPENDENCIES Geom Graf3d Gpad Graf Gui Ged)
ROOT_INSTALL_HEADERS()

ROOT_STANDARD_LIBRARY_PACKAGE(GeomBuilder
HEADERS ${headers}
DEPENDENCIES Geom Graf3d Gpad Graf Gui Ged)
11 changes: 3 additions & 8 deletions geom/geompainter/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@
# @author Pere Mato, CERN
############################################################################

set(libname GeomPainter)

ROOT_GENERATE_DICTIONARY(G__${libname} T*.h MODULE ${libname} LINKDEF LinkDef.h DEPENDENCIES Geom Tree Graf3d Hist Gpad RIO)


ROOT_LINKER_LIBRARY(${libname} *.cxx G__${libname}.cxx DEPENDENCIES Geom Tree Graf3d Hist Gpad RIO)
ROOT_INSTALL_HEADERS()

ROOT_STANDARD_LIBRARY_PACKAGE(GeomPainter
HEADERS T*.h
DEPENDENCIES Geom Tree Graf3d Hist Gpad RIO)
9 changes: 4 additions & 5 deletions geom/vecgeom/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ if ( Vc_FOUND )
endif()
endif()

ROOT_GENERATE_DICTIONARY(G__ConverterVG TGeoVGConverter.h TGeoVGShape.h MODULE ConverterVG LINKDEF LinkDef.h DEPENDENCIES Geom)

ROOT_LINKER_LIBRARY(ConverterVG *.cxx G__ConverterVG.cxx LIBRARIES ${VECGEOM_LIBRARIES} -ldl DEPENDENCIES Geom)

ROOT_INSTALL_HEADERS()
ROOT_STANDARD_LIBRARY_PACKAGE(ConverterVG
HEADERS TGeoVGConverter.h TGeoVGShape.h
DEPENDENCIES Geom
LIBRARIES ${VECGEOM_LIBRARIES} -ldl)
25 changes: 15 additions & 10 deletions graf2d/asimage/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,21 @@ endif()
#---Build ASImage/ASImageGui libraries---------------------------------------
include_directories(${FREETYPE_INCLUDE_DIRS} ${AFTERIMAGE_INCLUDE_DIR} ${X11_INCLUDE_DIR})

ROOT_GENERATE_DICTIONARY(G__ASImage TASImage.h TASImagePlugin.h TASPluginGS.h MODULE ASImage LINKDEF LinkDef.h OPTIONS "-writeEmptyRootPCM" DEPENDENCIES Graf BUILTINS AFTERIMAGE)
ROOT_STANDARD_LIBRARY_PACKAGE(ASImage
NO_INSTALL_HEADERS
HEADERS TASImage.h TASImagePlugin.h TASPluginGS.h
SOURCES TASImage.cxx TASPluginGS.cxx G__ASImage.cxx
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
LIBRARIES ${AFTERIMAGE_LIBRARIES} ${FREETYPE_LIBRARIES} ${ASEXTRA_LIBRARIES} ${X11_LIBRARIES} ${ZLIB_LIBRARIES}
DEPENDENCIES Graf BUILTINS AFTERIMAGE)

ROOT_LINKER_LIBRARY(ASImage TASImage.cxx TASPluginGS.cxx G__ASImage.cxx
LIBRARIES Core ${AFTERIMAGE_LIBRARIES} ${FREETYPE_LIBRARIES} ${ASEXTRA_LIBRARIES} ${X11_LIBRARIES}
${ZLIB_LIBRARIES} DEPENDENCIES Graf BUILTINS AFTERIMAGE)

ROOT_GENERATE_DICTIONARY(G__ASImageGui TASPaletteEditor.h MODULE ASImageGui LINKDEF LinkDefGui.h OPTIONS "-writeEmptyRootPCM" DEPENDENCIES Gui)

ROOT_LINKER_LIBRARY(ASImageGui TASPaletteEditor.cxx G__ASImageGui.cxx
LIBRARIES ${AFTERIMAGE_LIBRARIES} ${FREETYPE_LIBRARIES} ${ASEXTRA_LIBRARIES} ${X11_LIBRARIES}
${ZLIB_LIBRARIES} DEPENDENCIES Gui ASImage)

ROOT_STANDARD_LIBRARY_PACKAGE(ASImageGui
NO_INSTALL_HEADERS
HEADERS TASPaletteEditor.h
SOURCES TASPaletteEditor.cxx
LINKDEF LinkDefGui.h
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
DEPENDENCIES Gui ASImage
LIBRARIES ${AFTERIMAGE_LIBRARIES} ${FREETYPE_LIBRARIES} ${ASEXTRA_LIBRARIES} ${X11_LIBRARIES} ${ZLIB_LIBRARIES})
ROOT_INSTALL_HEADERS()
10 changes: 5 additions & 5 deletions graf2d/cocoa/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ endif(cxxmodules)

include_directories(${FREETYPE_INCLUDE_DIRS})

ROOT_GENERATE_DICTIONARY(G__GCocoa T*.h MODULE GCocoa LINKDEF LinkDef.h DEPENDENCIES Gui GQuartz)

ROOT_LINKER_LIBRARY(GCocoa *.mm G__GCocoa.cxx LIBRARIES "-framework Cocoa" "-framework OpenGL" ${FREETYPE_LIBRARIES} DEPENDENCIES Gui GQuartz )
ROOT_INSTALL_HEADERS()

ROOT_STANDARD_LIBRARY_PACKAGE(GCocoa
HEADERS T*.h
SOURCES *.mm
DEPENDENCIES Gui GQuartz
LIBRARIES "-framework Cocoa" "-framework OpenGL" ${FREETYPE_LIBRARIES})
9 changes: 5 additions & 4 deletions graf2d/fitsio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@

include_directories(${CFITSIO_INCLUDE_DIR})

ROOT_GENERATE_DICTIONARY(G__FITSIO *.h MODULE FITSIO LINKDEF LinkDef.h OPTIONS "-writeEmptyRootPCM" DEPENDENCIES Hist Gpad Graf BUILTINS CFITSIO)
ROOT_STANDARD_LIBRARY_PACKAGE(FITSIO
HEADERS *.h
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
LIBRARIES ${CFITSIO_LIBRARIES}
DEPENDENCIES Hist Gpad Graf Matrix BUILTINS CFITSIO)

ROOT_LINKER_LIBRARY(FITSIO *.cxx G__FITSIO.cxx LIBRARIES ${CFITSIO_LIBRARIES} DEPENDENCIES Hist Gpad Graf Matrix BUILTINS CFITSIO)

ROOT_INSTALL_HEADERS()
9 changes: 5 additions & 4 deletions graf2d/gpad/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ if(root7)
ROOT_GLOB_HEADERS(Gpad_v7_dict_headers ${CMAKE_CURRENT_SOURCE_DIR}/v7/inc/ROOT/T*.hxx)
endif()

ROOT_GENERATE_DICTIONARY(G__Gpad *.h ${Gpad_v7_dict_headers} MODULE Gpad LINKDEF LinkDef.h OPTIONS "-writeEmptyRootPCM" DEPENDENCIES Graf MultiProc Hist)

ROOT_LINKER_LIBRARY(Gpad *.cxx ${root7src} G__Gpad.cxx DEPENDENCIES Graf Hist)
ROOT_INSTALL_HEADERS()
ROOT_STANDARD_LIBRARY_PACKAGE(Gpad
HEADERS *.h ${Gpad_v7_dict_headers}
SOURCES *.cxx ${root7src}
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
DEPENDENCIES Graf MultiProc Hist)
9 changes: 4 additions & 5 deletions graf2d/graf/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
# @author Pere Mato, CERN
############################################################################

ROOT_GENERATE_DICTIONARY(G__Graf MODULE Graf *.h LINKDEF LinkDef.h OPTIONS "-writeEmptyRootPCM" DEPENDENCIES Hist Matrix MathCore RIO BUILTINS FREETYPE)


include_directories(${FREETYPE_INCLUDE_DIRS})

ROOT_LINKER_LIBRARY(Graf *.cxx G__Graf.cxx LIBRARIES ${FREETYPE_LIBRARIES} ${ZLIB_LIBRARIES} mathtext DEPENDENCIES Hist Matrix MathCore RIO BUILTINS FREETYPE)
ROOT_STANDARD_LIBRARY_PACKAGE(Graf
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
LIBRARIES ${FREETYPE_LIBRARIES} ${ZLIB_LIBRARIES} mathtext
DEPENDENCIES Hist Matrix MathCore RIO BUILTINS FREETYPE)

ROOT_INSTALL_HEADERS()
Loading

0 comments on commit ac0de75

Please sign in to comment.