Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 30 additions & 29 deletions roottest/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
# set(ROOT_CONFIG_EXECUTABLE $<TARGET_FILE:root-config>) # Does not exist
# BINDIR set by RootConfiguration.cmake
if(MSVC)
set(ROOT_CONFIG_EXECUTABLE ${ROOT_BINDIR}/root-config.bat)
else()
set(ROOT_CONFIG_EXECUTABLE ${ROOT_BINDIR}/root-config)
endif()
if(NOT EXISTS ${ROOT_CONFIG_EXECUTABLE})
message(FATAL_ERROR "root-config was not found in ${ROOT_CONFIG_EXECUTABLE}.")
endif()
set(ROOT_root_CMD $<TARGET_FILE:root.exe>)
set(ROOT_hadd_CMD $<TARGET_FILE:hadd>)
set(ROOT_genreflex_CMD $<TARGET_FILE:genreflex>)
set(ROOT_rootcint_CMD $<TARGET_FILE:rootcint>)
set(ROOT_rootcling_CMD $<TARGET_FILE:rootcling>)

execute_process(COMMAND ${ROOT_CONFIG_EXECUTABLE} "--tutdir" OUTPUT_VARIABLE ROOT_TUTORIALS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${ROOT_CONFIG_EXECUTABLE} "--incdir" OUTPUT_VARIABLE ROOT_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${ROOT_CONFIG_EXECUTABLE} "--libdir" OUTPUT_VARIABLE ROOT_LIBRARY_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${ROOT_CONFIG_EXECUTABLE} "--prefix" OUTPUT_VARIABLE ROOTSYS RESULT_VARIABLE RETVAR OUTPUT_STRIP_TRAILING_WHITESPACE)
# root-config --prefix helps to retrieve ROOTSYS env variable.
if(NOT IS_DIRECTORY ${ROOTSYS})
message(FATAL_ERROR "ROOTSYS should be set before configuring roottest.")
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are still a couple of tests using ROOTSYS, so can't get fully rid of this

endif()


if(MSVC)
set(CMAKE_SKIP_TEST_ALL_DEPENDENCY TRUE)
set(CMAKE_SUPPRESS_REGENERATION TRUE)
Expand All @@ -21,52 +47,27 @@ if(MSVC)
set(WILLFAIL_ON_WIN32 WILLFAIL)
endif()

# ROOT_BINDIR is set by ROOTConfig.cmake
set(ROOT_CONFIG_EXECUTABLE ${ROOT_BINDIR}/root-config.bat)
execute_process(COMMAND ${ROOT_CONFIG_EXECUTABLE} "--prefix" OUTPUT_VARIABLE ROOTSYS RESULT_VARIABLE RETVAR OUTPUT_STRIP_TRAILING_WHITESPACE)
cmake_path(CONVERT "${ROOTSYS}" TO_CMAKE_PATH_LIST ROOTSYS)
set(ROOTSYS ${ROOTSYS} CACHE INTERNAL "")
execute_process(COMMAND ${ROOT_CONFIG_EXECUTABLE} "--tutdir" OUTPUT_VARIABLE ROOT_TUTORIALS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
cmake_path(CONVERT "${ROOT_TUTORIALS_DIR}" TO_CMAKE_PATH_LIST ROOT_TUTORIALS_DIR)
set(ROOT_root_CMD ${ROOTSYS}/bin/root.exe)
set(ROOT_hadd_CMD ${ROOTSYS}/bin/hadd.exe)
set(ROOT_genreflex_CMD ${ROOTSYS}/bin/genreflex.exe)
set(ROOT_rootcint_CMD ${ROOTSYS}/bin/rootcint.exe)
set(ROOT_rootcling_CMD ${ROOTSYS}/bin/rootcling.exe)
cmake_path(CONVERT "${ROOT_INCLUDE_DIRS}" TO_CMAKE_PATH_LIST ROOT_INCLUDE_DIRS)
cmake_path(CONVERT "${ROOT_LIBRARY_DIR}" TO_CMAKE_PATH_LIST ROOT_LIBRARY_DIR)
if(CMAKE_GENERATOR MATCHES Ninja)
set(ROOT_LIBRARIES Core RIO Net Hist Gpad Graf Tree Rint Matrix MathCore)
else()
set(ROOT_LIBRARIES libCore libRIO libNet libHist libGpad libGraf libTree libRint libMatrix libMathCore)
endif()
else()

# We can not use CMAKE_SHARED_LIBRARY_SUFFIX as on macos it uses the standard dylib rather than the .so
set(libsuffix .so)
set(grep_cmd grep)

# only for non-Windows platforms
set(OptionalMultiProc MultiProc)

# root-config --prefix helps to retrieve ROOTSYS env variable.
# ROOT_BINDIR is set by ROOTConfig.cmake
set(ROOT_CONFIG_EXECUTABLE ${ROOT_BINDIR}/root-config)
if(NOT EXISTS ${ROOT_CONFIG_EXECUTABLE})
message(FATAL_ERROR "root-config was not found in ${ROOT_CONFIG_EXECUTABLE}.")
endif()
if(NOT IS_DIRECTORY ${ROOTSYS})
message(FATAL_ERROR "ROOTSYS should be set before configuring roottest.")
endif()
execute_process(COMMAND ${ROOT_CONFIG_EXECUTABLE} "--tutdir" OUTPUT_VARIABLE ROOT_TUTORIALS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ROOT_LIBRARIES Core RIO Net Hist Gpad Tree Rint Matrix MathCore)
set(ROOT_root_CMD ${ROOTSYS}/bin/root.exe)
set(ROOT_hadd_CMD ${ROOTSYS}/bin/hadd)
set(ROOT_genreflex_CMD ${ROOTSYS}/bin/genreflex)
set(ROOT_rootcint_CMD ${ROOTSYS}/bin/rootcint)
set(ROOT_rootcling_CMD rootcling)
endif()

get_filename_component(ROOT_LIBRARY_DIR "${ROOTSYS}/lib" ABSOLUTE)

set(ref_suffix ".ref")

# Detect bitness.
Expand Down Expand Up @@ -107,8 +108,8 @@ find_library(OPENGL_gl_LIBRARY NAMES GL)

# Set global include dirs and library dirs for roottest.
# These are picked up in the old-style dictionary generation and when standard CMake targets are created.
include_directories(${ROOTSYS}/include ${CMAKE_CURRENT_SOURCE_DIR})
link_directories(${ROOTSYS}/lib)
include_directories(${ROOT_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR})
link_directories(${ROOT_LIBRARY_DIR})
set(CMAKE_MACOSX_RPATH TRUE) # use RPATH for MacOSX

include(RoottestCTest)
Expand Down
4 changes: 2 additions & 2 deletions roottest/main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ configure_file(RootcpReplaceEntireFileCheck.C . COPYONLY)
# We should explicitly use the Python executable from the Python version that
# was used to build ROOT. Otherwise, we risk picking up a different Python
# version at test time.
set(PY_TOOLS_PREFIX ${Python3_EXECUTABLE} ${ROOTSYS}/bin)
set(TOOLS_PREFIX ${ROOTSYS}/bin)
set(PY_TOOLS_PREFIX ${Python3_EXECUTABLE} ${ROOT_BINDIR})
set(TOOLS_PREFIX ${ROOT_BINDIR})

if(MSVC)
set(pyext .py)
Expand Down
2 changes: 1 addition & 1 deletion roottest/python/JupyROOT/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ if(NOT MSVC OR win_broken_tests)
# Do not run with classic build or if tests are vetoed
if (pyroot AND NOT ROOT_CLASSIC_BUILD)

set(MODULES_LOCATION ${ROOTSYS}/lib/ROOT/_jupyroot/helpers)
set(MODULES_LOCATION ${ROOT_LIBRARY_DIR}/ROOT/_jupyroot/helpers)
set(NBDIFFUTIL ${CMAKE_CURRENT_SOURCE_DIR}/nbdiff.py )
set(DOCTEST_LAUNCHER ${CMAKE_CURRENT_SOURCE_DIR}/doctest_launcher.py)

Expand Down
2 changes: 1 addition & 1 deletion roottest/root/multicore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ if(NOT MSVC AND NOT dev)
if(xrootd)
ROOTTEST_GENERATE_EXECUTABLE(processExecutorH1Test
tProcessExecutorH1Test.cpp
COMPILE_FLAGS "-I${ROOTSYS}/tutorials/legacy/multicore"
COMPILE_FLAGS "-I${ROOT_TUTORIALS_DIR}/legacy/multicore"
LIBRARIES ROOT::MultiProc ROOT::Core ROOT::Net ROOT::TreePlayer ROOT::Tree ROOT::RIO ROOT::Hist ROOT::Gpad ROOT::Graf
FIXTURES_SETUP root-multicore-processExecutorH1Test-fixture)

Expand Down
Loading
Loading