Hello,
I have a root project that I compile together using CMake and I would like to incorporate the FastJet (http://fastjet.fr/) project into. I see that FastJet is already included in cvmfs, so I assume there’s no need for any further installation steps:
/cvmfs/sft.cern.ch/lcg/releases/LCG_98/fastjet/3.3.4
I don’t have much experience with writing CMake files so I would like some guidance on going about including these cvmfs FastJet into my existing CMake code, below :
cmake_minimum_required(VERSION 3.11.0 FATAL_ERROR)
#----------------------------------------------------------------------------
project(WWbbAnalysis)
set(PROJECT_VERSION 1.0.0)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules ${CMAKE_MODULE_PATH})
#This module respects HFS, e.g. defines lib or lib64 when it is needed.
include(GNUInstallDirs)
include(CheckCXXCompilerFlag)
#This is a workaround for ROOT+Cmake problem.
set(CMAKE_CXX_STANDARD 17)
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(QUALITY_CXX_FLAGS_TO_CHECK "-g" "-O2" "-pedantic" "-Werror" "-Wall" "-Wextra" "-Wno-unused-parameter")
add_compile_options(-g -Wall -fPIC -std=c++2a -O2 )
#----------------------------------------------------------------------------
# ROOT
#----------------------------------------------------------------------------
find_package(ROOT REQUIRED COMPONENTS Core RIO Tree Physics)
#----------------------------------------------------------------------------
# wwbb
#----------------------------------------------------------------------------
file( GLOB libwwbb_SRC "${PROJECT_SOURCE_DIR}/Root/*.cxx" "${PROJECT_SOURCE_DIR}/Root/*.C" )
add_library( libwwbb SHARED ${libwwbb_SRC} )
message(STATUS "ROOT INCLUDE DIRS = ${ROOT_INCLUDE_DIRS}")
target_include_directories( libwwbb PRIVATE
${PROJECT_SOURCE_DIR}/WWbbAnalysis
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/toml11
${ROOT_INCLUDE_DIRS} )
set_target_properties( libwwbb PROPERTIES OUTPUT_NAME wwbb )
# specify the executable
add_executable( WWbbAnalysis src/WWbbAnalysis.cxx )
target_include_directories(WWbbAnalysis PRIVATE
${PROJECT_SOURCE_DIR}/WWbbAnalysis
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/toml11
${ROOT_INCLUDE_DIRS} )
# invoke linker from the C++ compiler
set_target_properties( WWbbAnalysis PROPERTIES LINKER_LANGUAGE CXX )
set_target_properties( libwwbb PROPERTIES LINKER_LANGUAGE CXX )
target_link_libraries( libwwbb ${ROOT_LIBRARIES} stdc++fs )
target_link_libraries( WWbbAnalysis libwwbb )
# --- Install
install (TARGETS WWbbAnalysis
DESTINATION lib)
install (DIRECTORY "${PROJECT_SOURCE_DIR}/WWbbAnalysis" DESTINATION include
FILES_MATCHING PATTERN "*.h")
#---------------------------------------------------------------------------
I haven’t been able to find more detailed instructions beyond the “Quick-start” guide on the fast jet website regarding this, so any help is greatly appreciated.
Thanks,
Charlie
_ROOT Version: 6.24/06
_Platform: Ubuntu 20.04
Compiler: Not Provided