From 352edabeb100f76691cda40c24ccaa114a1d33fd Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Mon, 2 Nov 2026 19:11:17 +0100 Subject: [PATCH 1/2] [graf2d] add headers to private file sets --- graf2d/asimage/CMakeLists.txt | 53 +++++++++++++-- graf2d/cocoa/CMakeLists.txt | 38 +++++++++-- graf2d/fitsio/CMakeLists.txt | 16 ++++- graf2d/gpad/CMakeLists.txt | 58 ++++++++++------ graf2d/gpadv7/CMakeLists.txt | 84 +++++++++++++---------- graf2d/graf/CMakeLists.txt | 94 +++++++++++++++----------- graf2d/gviz/CMakeLists.txt | 23 ++++++- graf2d/padpainter/CMakeLists.txt | 17 ++++- graf2d/postscript/CMakeLists.txt | 27 ++++++-- graf2d/postscript/src/AdobeGlyphList.h | 18 +++++ graf2d/primitivesv7/CMakeLists.txt | 32 ++++++--- graf2d/quartz/CMakeLists.txt | 13 ++++ graf2d/win32gdk/CMakeLists.txt | 27 +++++++- graf2d/x11/CMakeLists.txt | 17 ++++- graf2d/x11ttf/CMakeLists.txt | 15 +++- 15 files changed, 407 insertions(+), 125 deletions(-) diff --git a/graf2d/asimage/CMakeLists.txt b/graf2d/asimage/CMakeLists.txt index 9610a02dfffe0..df855c798e88b 100644 --- a/graf2d/asimage/CMakeLists.txt +++ b/graf2d/asimage/CMakeLists.txt @@ -12,13 +12,16 @@ if(asimage) + set(ASIMAGE_HEADERS + TASImage.h + TASImagePlugin.h + TASPluginGS.h + TASPngWriter.h + ) ROOT_STANDARD_LIBRARY_PACKAGE(ASImage NO_GLOB_HEADERS HEADERS - TASImage.h - TASImagePlugin.h - TASPluginGS.h - TASPngWriter.h + ${ASIMAGE_HEADERS} SOURCES TASImage.cxx TASPluginGS.cxx @@ -32,6 +35,18 @@ if(asimage) Graf Postscript ) + + set(RELATIVE_INC_HEADERS ${ASIMAGE_HEADERS}) + list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + target_sources(ASImage + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + ) if (x11) target_link_libraries(ASImage PRIVATE X11::X11) @@ -39,10 +54,12 @@ if(asimage) endif() +set(ASIMAGEUTILS_HEADERS TASUtils.h) + ROOT_STANDARD_LIBRARY_PACKAGE(ASImageUtils NO_GLOB_HEADERS HEADERS - TASUtils.h + ${ASIMAGEUTILS_HEADERS} SOURCES TASUtils.cxx LINKDEF @@ -53,14 +70,27 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ASImageUtils Gpad ) +set(RELATIVE_INC_HEADERS ${ASIMAGEUTILS_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(ASImageUtils +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDefUtils.h +) + if(asimage) target_link_libraries(ASImageUtils PUBLIC ASImage) + set(ASIMAGEGUI_HEADERS TASPaletteEditor.h) ROOT_STANDARD_LIBRARY_PACKAGE(ASImageGui NO_GLOB_HEADERS HEADERS - TASPaletteEditor.h + ${ASIMAGEGUI_HEADERS} SOURCES TASPaletteEditor.cxx LINKDEF @@ -73,6 +103,17 @@ if(asimage) Gui ASImage ) + set(RELATIVE_INC_HEADERS ${ASIMAGEGUI_HEADERS}) + list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + target_sources(ASImageGui + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDefGui.h + ) ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/graf2d/cocoa/CMakeLists.txt b/graf2d/cocoa/CMakeLists.txt index d6ce2680aaaa1..95be14e286b3e 100644 --- a/graf2d/cocoa/CMakeLists.txt +++ b/graf2d/cocoa/CMakeLists.txt @@ -12,12 +12,16 @@ find_library(COCOA_FRAMEWORK Cocoa REQUIRED) find_library(OPENGL_FRAMEWORK OpenGL REQUIRED) +set(GCOCOA_HEADERS + CocoaGuiTypes.h + TGCocoa.h + TGOSXGL.h + TGQuartz.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(GCocoa HEADERS - CocoaGuiTypes.h - TGCocoa.h - TGOSXGL.h - TGQuartz.h + ${GCOCOA_HEADERS} SOURCES src/CocoaConstants.mm src/CocoaGuiTypes.mm @@ -45,6 +49,32 @@ ROOT_STANDARD_LIBRARY_PACKAGE(GCocoa Freetype::Freetype ) +set(RELATIVE_INC_HEADERS ${GCOCOA_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(GCocoa +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ src/ + FILES + ${RELATIVE_INC_HEADERS} + inc/CocoaConstants.h + inc/FontCache.h + inc/MenuLoader.h + inc/QuartzPixmap.h + inc/QuartzWindow.h + inc/ROOTApplicationDelegate.h + inc/ROOTOpenGLView.h + inc/X11Atoms.h + inc/X11Buffer.h + inc/X11Colors.h + inc/X11Drawable.h + inc/X11Events.h + inc/XLFDParser.h + inc/LinkDef.h + src/CocoaPrivate.h +) + target_include_directories(GCocoa PRIVATE ${CMAKE_SOURCE_DIR}/graf3d/gl/inc) # We know GL is deprecated on macOS. And our answer is WebGUI/Graphics. diff --git a/graf2d/fitsio/CMakeLists.txt b/graf2d/fitsio/CMakeLists.txt index f6cc474ae1902..9ab5bda75ba2b 100644 --- a/graf2d/fitsio/CMakeLists.txt +++ b/graf2d/fitsio/CMakeLists.txt @@ -9,9 +9,11 @@ # @author Pere Mato, CERN ############################################################################ +set(FITSIO_HEADERS TFITS.h) + ROOT_STANDARD_LIBRARY_PACKAGE(FITSIO HEADERS - TFITS.h + ${FITSIO_HEADERS} SOURCES TFITS.cxx DICTIONARY_OPTIONS @@ -24,3 +26,15 @@ ROOT_STANDARD_LIBRARY_PACKAGE(FITSIO Hist Matrix ) + +set(RELATIVE_INC_HEADERS ${FITSIO_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(FITSIO +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) diff --git a/graf2d/gpad/CMakeLists.txt b/graf2d/gpad/CMakeLists.txt index 96e3d868fe8da..b5afb2dff15a9 100644 --- a/graf2d/gpad/CMakeLists.txt +++ b/graf2d/gpad/CMakeLists.txt @@ -9,29 +9,33 @@ # @author Pere Mato, CERN ############################################################################ +set(GPAD_HEADERS + TAnnotation.h + TAttCanvas.h + TButton.h + TCanvas.h + TClassTree.h + TColorWheel.h + TControlBarButton.h + TControlBar.h + TCreatePrimitives.h + TDialogCanvas.h + TGroupButton.h + TInspectCanvas.h + TPad.h + TPadPainterBase.h + TPadPainterPS.h + TPaveClass.h + TRatioPlot.h + TSliderBox.h + TSlider.h + TViewer3DPad.h + TView.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(Gpad HEADERS - TAnnotation.h - TAttCanvas.h - TButton.h - TCanvas.h - TClassTree.h - TColorWheel.h - TControlBarButton.h - TControlBar.h - TCreatePrimitives.h - TDialogCanvas.h - TGroupButton.h - TInspectCanvas.h - TPad.h - TPadPainterBase.h - TPadPainterPS.h - TPaveClass.h - TRatioPlot.h - TSliderBox.h - TSlider.h - TViewer3DPad.h - TView.h + ${GPAD_HEADERS} SOURCES src/TAnnotation.cxx src/TAttCanvas.cxx @@ -61,6 +65,18 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Gpad Hist ) +set(RELATIVE_INC_HEADERS ${GPAD_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(Gpad +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) + target_include_directories(Gpad PRIVATE ../graf/src) ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/graf2d/gpadv7/CMakeLists.txt b/graf2d/gpadv7/CMakeLists.txt index 46dda0cefe459..a6efac36b40be 100644 --- a/graf2d/gpadv7/CMakeLists.txt +++ b/graf2d/gpadv7/CMakeLists.txt @@ -9,42 +9,46 @@ # @author Pere Mato, CERN ############################################################################ +set(GPADV7_HEADERS + ROOT/RCanvas.hxx + ROOT/RFrame.hxx + ROOT/RMenuItems.hxx + ROOT/RColor.hxx + ROOT/RDisplayItem.hxx + ROOT/RAttrMap.hxx + ROOT/RAttrBase.hxx + ROOT/RAttrAggregation.hxx + ROOT/RAttrAxis.hxx + ROOT/RAttrBorder.hxx + ROOT/RAttrLine.hxx + ROOT/RAttrFill.hxx + ROOT/RAttrFont.hxx + ROOT/RAttrMarker.hxx + ROOT/RAttrMargins.hxx + ROOT/RAttrText.hxx + ROOT/RAttrValue.hxx + ROOT/RAxisDrawable.hxx + ROOT/RPalette.hxx + ROOT/RPaletteDrawable.hxx + ROOT/RDrawable.hxx + ROOT/ROnFrameDrawable.hxx + ROOT/RDrawableRequest.hxx + ROOT/RStyle.hxx + ROOT/RPadDisplayItem.hxx + ROOT/RPadExtent.hxx + ROOT/RPadBase.hxx + ROOT/RPad.hxx + ROOT/RPadLength.hxx + ROOT/RPadPos.hxx + ROOT/RPave.hxx + ROOT/RVirtualCanvasPainter.hxx + ROOT/TObjectDisplayItem.hxx + ROOT/TObjectDrawable.hxx +) + ROOT_STANDARD_LIBRARY_PACKAGE(ROOTGpadv7 HEADERS - ROOT/RCanvas.hxx - ROOT/RFrame.hxx - ROOT/RMenuItems.hxx - ROOT/RColor.hxx - ROOT/RDisplayItem.hxx - ROOT/RAttrMap.hxx - ROOT/RAttrBase.hxx - ROOT/RAttrAggregation.hxx - ROOT/RAttrAxis.hxx - ROOT/RAttrBorder.hxx - ROOT/RAttrLine.hxx - ROOT/RAttrFill.hxx - ROOT/RAttrFont.hxx - ROOT/RAttrMarker.hxx - ROOT/RAttrMargins.hxx - ROOT/RAttrText.hxx - ROOT/RAttrValue.hxx - ROOT/RAxisDrawable.hxx - ROOT/RPalette.hxx - ROOT/RPaletteDrawable.hxx - ROOT/RDrawable.hxx - ROOT/ROnFrameDrawable.hxx - ROOT/RDrawableRequest.hxx - ROOT/RStyle.hxx - ROOT/RPadDisplayItem.hxx - ROOT/RPadExtent.hxx - ROOT/RPadBase.hxx - ROOT/RPad.hxx - ROOT/RPadLength.hxx - ROOT/RPadPos.hxx - ROOT/RPave.hxx - ROOT/RVirtualCanvasPainter.hxx - ROOT/TObjectDisplayItem.hxx - ROOT/TObjectDrawable.hxx + ${GPADV7_HEADERS} SOURCES src/RCanvas.cxx src/RFrame.cxx @@ -72,4 +76,16 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ROOTGpadv7 RIO ) +set(RELATIVE_INC_HEADERS ${GPADV7_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(ROOTGpadv7 +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) + ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/graf2d/graf/CMakeLists.txt b/graf2d/graf/CMakeLists.txt index 6812c0e909553..fb0bfe8e07e87 100644 --- a/graf2d/graf/CMakeLists.txt +++ b/graf2d/graf/CMakeLists.txt @@ -9,46 +9,50 @@ # @author Pere Mato, CERN ############################################################################ +set(GRAF_HEADERS + TArc.h + TArrow.h + TAttImage.h + TBox.h + TCandle.h + TCrown.h + TCurlyArc.h + TCurlyLine.h + TCutG.h + TDiamond.h + TEllipse.h + TFrame.h + TGaxis.h + TGraphPolar.h + TGraphPolargram.h + TGraphQQ.h + TImage.h + TImagePlugin.h + TLatex.h + TLegend.h + TLegendEntry.h + TLine.h + TLink.h + TMarker.h + TMathText.h + TPave.h + TPaveLabel.h + TPaveStats.h + TPaveText.h + TPavesText.h + TPie.h + TPieSlice.h + TPoints.h + TPolyLine.h + TTF.h + TTFhandle.h + TText.h + TWbox.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(Graf HEADERS - TArc.h - TArrow.h - TAttImage.h - TBox.h - TCandle.h - TCrown.h - TCurlyArc.h - TCurlyLine.h - TCutG.h - TDiamond.h - TEllipse.h - TFrame.h - TGaxis.h - TGraphPolar.h - TGraphPolargram.h - TGraphQQ.h - TImage.h - TImagePlugin.h - TLatex.h - TLegend.h - TLegendEntry.h - TLine.h - TLink.h - TMarker.h - TMathText.h - TPave.h - TPaveLabel.h - TPaveStats.h - TPaveText.h - TPavesText.h - TPie.h - TPieSlice.h - TPoints.h - TPolyLine.h - TTF.h - TTFhandle.h - TText.h - TWbox.h + ${GRAF_HEADERS} SOURCES src/TArc.cxx src/TArrow.cxx @@ -100,3 +104,17 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Graf MathCore RIO ) + +set(RELATIVE_INC_HEADERS ${GRAF_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(Graf +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ src/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + src/TBoxInteractive.h + src/TLineInteractive.h +) diff --git a/graf2d/gviz/CMakeLists.txt b/graf2d/gviz/CMakeLists.txt index 09c660bfefe78..1bae746f0f4bd 100644 --- a/graf2d/gviz/CMakeLists.txt +++ b/graf2d/gviz/CMakeLists.txt @@ -9,11 +9,15 @@ # @author Pere Mato, CERN ############################################################################ +set(GVIZ_HEADERS + TGraphEdge.h + TGraphNode.h + TGraphStruct.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(Gviz HEADERS - TGraphEdge.h - TGraphNode.h - TGraphStruct.h + ${GVIZ_HEADERS} SOURCES src/TGraphEdge.cxx src/TGraphNode.cxx @@ -26,6 +30,19 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Gviz Hist Graf ) + +set(RELATIVE_INC_HEADERS ${GVIZ_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(Gviz +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) + if(MSVC) set_target_properties(Gviz PROPERTIES COMPILE_FLAGS "-DGVDLL") endif() diff --git a/graf2d/padpainter/CMakeLists.txt b/graf2d/padpainter/CMakeLists.txt index 5b6603d8a256e..a246663de1bf1 100644 --- a/graf2d/padpainter/CMakeLists.txt +++ b/graf2d/padpainter/CMakeLists.txt @@ -9,10 +9,14 @@ # @author Sergey Linev, GSI ############################################################################ +set(PADPAINTER_HEADERS + TPadPainter.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(ROOTPadPainter NO_INSTALL_HEADERS HEADERS - TPadPainter.h + ${PADPAINTER_HEADERS} SOURCES TPadPainter.cxx DICTIONARY_OPTIONS @@ -22,5 +26,16 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ROOTPadPainter ASImageUtils ) +set(RELATIVE_INC_HEADERS ${PADPAINTER_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(ROOTPadPainter +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) ROOT_INSTALL_HEADERS() diff --git a/graf2d/postscript/CMakeLists.txt b/graf2d/postscript/CMakeLists.txt index 07689de5bea84..747743f92c5a6 100644 --- a/graf2d/postscript/CMakeLists.txt +++ b/graf2d/postscript/CMakeLists.txt @@ -9,13 +9,17 @@ # @author Pere Mato, CERN ############################################################################ +set(POSTSCRIPT_HEADERS + TImageDump.h + TPDF.h + TPostScript.h + TSVG.h + TTeXDump.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(Postscript HEADERS - TImageDump.h - TPDF.h - TPostScript.h - TSVG.h - TTeXDump.h + ${POSTSCRIPT_HEADERS} SOURCES src/TImageDump.cxx src/TPDF.cxx @@ -31,6 +35,19 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Postscript Graf ) +set(RELATIVE_INC_HEADERS ${POSTSCRIPT_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(Postscript +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ src/ + FILES + ${RELATIVE_INC_HEADERS} + src/AdobeGlyphList.h + inc/LinkDef.h +) + check_cxx_compiler_flag(-Wbidi-chars=none GCC_HAS_BIDI_CHARS_FLAG) if(GCC_HAS_BIDI_CHARS_FLAG) set_source_files_properties(src/TPostScript.cxx COMPILE_FLAGS "-Wbidi-chars=none") diff --git a/graf2d/postscript/src/AdobeGlyphList.h b/graf2d/postscript/src/AdobeGlyphList.h index 8103fb76af242..4dd408f44cf75 100644 --- a/graf2d/postscript/src/AdobeGlyphList.h +++ b/graf2d/postscript/src/AdobeGlyphList.h @@ -1,3 +1,21 @@ +// mathtext - A TeX/LaTeX compatible rendering library. Copyright (C) +// 2008-2012 Yue Shi Lai +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation; either version 2.1 of +// the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +// 02110-1301 USA + static const unsigned long nadobe_glyph = 835; static const wchar_t adobe_glyph_ucs[nadobe_glyph] = { L'\040', L'\041', L'\042', L'\043', L'\044', L'\045', L'\046', diff --git a/graf2d/primitivesv7/CMakeLists.txt b/graf2d/primitivesv7/CMakeLists.txt index c24170f687073..ac1ae6ac42a6e 100644 --- a/graf2d/primitivesv7/CMakeLists.txt +++ b/graf2d/primitivesv7/CMakeLists.txt @@ -9,16 +9,20 @@ # @author Pere Mato, CERN ############################################################################ +set(GRAPHICSPRIMITIVES_HEADERS + ROOT/RBox.hxx + ROOT/RFont.hxx + ROOT/RFrameTitle.hxx + ROOT/RLegend.hxx + ROOT/RLine.hxx + ROOT/RMarker.hxx + ROOT/RPaveText.hxx + ROOT/RText.hxx +) + ROOT_STANDARD_LIBRARY_PACKAGE(ROOTGraphicsPrimitives HEADERS - ROOT/RBox.hxx - ROOT/RFont.hxx - ROOT/RFrameTitle.hxx - ROOT/RLegend.hxx - ROOT/RLine.hxx - ROOT/RMarker.hxx - ROOT/RPaveText.hxx - ROOT/RText.hxx + ${GRAPHICSPRIMITIVES_HEADERS} SOURCES src/RBox.cxx src/RFont.cxx @@ -33,4 +37,16 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ROOTGraphicsPrimitives ROOTGpadv7 ) +set(RELATIVE_INC_HEADERS ${GRAPHICSPRIMITIVES_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(ROOTGraphicsPrimitives +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) + ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/graf2d/quartz/CMakeLists.txt b/graf2d/quartz/CMakeLists.txt index 22966233e6144..c56f46f3acb0a 100644 --- a/graf2d/quartz/CMakeLists.txt +++ b/graf2d/quartz/CMakeLists.txt @@ -26,3 +26,16 @@ ROOT_LINKER_LIBRARY(GQuartz Core MathCore ) + +target_sources(GQuartz +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + inc/QuartzFillArea.h + inc/QuartzLine.h + inc/QuartzMarker.h + inc/QuartzText.h + inc/QuartzUtils.h +) diff --git a/graf2d/win32gdk/CMakeLists.txt b/graf2d/win32gdk/CMakeLists.txt index ee03c95e480c6..2831f0f6b2c50 100644 --- a/graf2d/win32gdk/CMakeLists.txt +++ b/graf2d/win32gdk/CMakeLists.txt @@ -104,10 +104,19 @@ add_custom_command( OUTPUT ${gdklib} ${gdkdll} add_custom_target(GDKLIB DEPENDS ${gdklib}) set_target_properties(GDKLIB PROPERTIES FOLDER Builtins) +set(WIN32GDK_HEADERS + TGWin32.h + TGWin32GL.h + TGWin32ProxyBase.h + TGWin32ProxyDefs.h + TGWin32VirtualGLProxy.h + TGWin32VirtualXProxy.h + xatom.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(Win32gdk HEADERS - TGWin32.h - TGWin32GL.h + ${WIN32GDK_HEADERS} SOURCES ../gifencode/gifdecode.cxx ../gifencode/gifencode.cxx @@ -129,6 +138,20 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Win32gdk Graf ) +set(RELATIVE_INC_HEADERS ${WIN32GDK_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(Win32gdk +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ ../gifencode + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + ../gifencode/gifencode.h + ../gifencode/gifdecode.h +) + target_include_directories(Win32gdk PRIVATE ../gifencode) target_include_directories(Win32gdk PRIVATE ${CMAKE_SOURCE_DIR}/builtins/win32gdk) # this should be instead dealt via PUBLIC target_include_directories of gdklib and gliblib targets target_include_directories(Win32gdk PRIVATE ${CMAKE_SOURCE_DIR}/builtins/win32gdk/glib) # when we include gdktypes.h it then includes glib.h without glib prefix since it's compiled with -I../glib diff --git a/graf2d/x11/CMakeLists.txt b/graf2d/x11/CMakeLists.txt index 70838e1fa3ba2..2d2ca2410a162 100644 --- a/graf2d/x11/CMakeLists.txt +++ b/graf2d/x11/CMakeLists.txt @@ -9,9 +9,10 @@ # @author Pere Mato, CERN ############################################################################ +set(GX11_HEADERS TGX11.h) ROOT_STANDARD_LIBRARY_PACKAGE(GX11 HEADERS - TGX11.h + ${GX11_HEADERS} SOURCES ../gifencode/gifdecode.cxx ../gifencode/gifencode.cxx @@ -32,5 +33,19 @@ ROOT_STANDARD_LIBRARY_PACKAGE(GX11 FILTER "X11$" ) +set(RELATIVE_INC_HEADERS ${GX11_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(GX11 +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ ../gifencode + FILES + ${RELATIVE_INC_HEADERS} + ../gifencode/gifencode.h + ../gifencode/gifdecode.h + inc/LinkDef.h +) + target_include_directories(GX11 PRIVATE ${X11_INCLUDE_DIR}) target_include_directories(GX11 PRIVATE ../gifencode) diff --git a/graf2d/x11ttf/CMakeLists.txt b/graf2d/x11ttf/CMakeLists.txt index dc0902cd941f8..d8a057216363e 100644 --- a/graf2d/x11ttf/CMakeLists.txt +++ b/graf2d/x11ttf/CMakeLists.txt @@ -9,9 +9,10 @@ # @author Pere Mato, CERN ############################################################################ +set(GX11TTF_HEADERS TGX11TTF.h) ROOT_STANDARD_LIBRARY_PACKAGE(GX11TTF HEADERS - TGX11TTF.h + ${GX11TTF_HEADERS} SOURCES src/TGX11TTF.cxx DICTIONARY_OPTIONS @@ -28,4 +29,16 @@ ROOT_STANDARD_LIBRARY_PACKAGE(GX11TTF Graf ) +set(RELATIVE_INC_HEADERS ${GX11TTF_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(GX11TTF +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) + target_include_directories(GX11TTF PRIVATE ${X11_INCLUDE_DIR}) From f1d152d10b3a7172fc1577671870c7bfc3e2aac2 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Thu, 5 Nov 2026 18:54:15 +0100 Subject: [PATCH 2/2] [win32gdk] win32proxy xatom headers were private --- graf2d/win32gdk/CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/graf2d/win32gdk/CMakeLists.txt b/graf2d/win32gdk/CMakeLists.txt index 2831f0f6b2c50..ab6a998e65941 100644 --- a/graf2d/win32gdk/CMakeLists.txt +++ b/graf2d/win32gdk/CMakeLists.txt @@ -107,11 +107,6 @@ set_target_properties(GDKLIB PROPERTIES FOLDER Builtins) set(WIN32GDK_HEADERS TGWin32.h TGWin32GL.h - TGWin32ProxyBase.h - TGWin32ProxyDefs.h - TGWin32VirtualGLProxy.h - TGWin32VirtualXProxy.h - xatom.h ) ROOT_STANDARD_LIBRARY_PACKAGE(Win32gdk @@ -147,6 +142,11 @@ PRIVATE BASE_DIRS inc/ ../gifencode FILES ${RELATIVE_INC_HEADERS} + inc/TGWin32ProxyBase.h + inc/TGWin32ProxyDefs.h + inc/TGWin32VirtualGLProxy.h + inc/TGWin32VirtualXProxy.h + inc/xatom.h inc/LinkDef.h ../gifencode/gifencode.h ../gifencode/gifdecode.h