Skip to content

Commit 2569309

Browse files
authored
Fixes needed for FairROOT's split (#24)
1 parent 2e60fa2 commit 2569309

4 files changed

Lines changed: 89 additions & 6 deletions

File tree

Framework/src/InformationService.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616

1717
#include "InformationService.h"
1818
#include "QualityControl/QcInfoLogger.h"
19-
#include <options/FairMQProgOptions.h>
19+
#include <boost/token_functions.hpp>
20+
#include <boost/tokenizer.hpp>
2021

2122
using namespace std;
2223
typedef boost::tokenizer<boost::char_separator<char> > t_tokenizer;

Framework/src/SpyMainFrame.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <QualityControl/DatabaseFactory.h>
2626
#include <Configuration/ConfigurationFactory.h>
2727
#include <TGraph.h>
28+
#include <boost/algorithm/string.hpp>
2829

2930
using namespace std;
3031
using namespace o2::quality_control::repository;

cmake/FindFairMQInFairRoot.cmake

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# DEPRECATED: Remove this file, once we require FairMQ 1.2+
2+
#
3+
# Simple check for availability of FairMQ
4+
#
5+
# The FairMQ module of FairRoot might be disabled in the built of FairRoot
6+
# due to missing dependencies, e.g ZeroMQ and boost. Those dependencies
7+
# also have to be available in the required (minimal) version.
8+
#
9+
10+
if(FairRoot_DIR)
11+
set(FAIRROOTPATH ${FairRoot_DIR})
12+
else()
13+
set(FAIRROOTPATH $ENV{FAIRROOTPATH})
14+
endif(FairRoot_DIR)
15+
16+
if(FAIRROOTPATH)
17+
if(NOT FairMQInFairRoot_FIND_QUIETLY)
18+
MESSAGE(STATUS "FairRoot ... - found ${FAIRROOTPATH}")
19+
endif(NOT FairMQInFairRoot_FIND_QUIETLY)
20+
else()
21+
if(NOT FairMQInFairRoot_FIND_QUIETLY)
22+
MESSAGE(FATAL_ERROR "FairRoot installation not found")
23+
endif(NOT FairMQInFairRoot_FIND_QUIETLY)
24+
endif(FAIRROOTPATH)
25+
26+
set(FAIRMQ_REQUIRED_HEADERS FairMQDevice.h)
27+
if(NOT FairMQInFairRoot_FIND_QUIETLY)
28+
message(STATUS "Looking for FairMQ functionality in FairRoot ...")
29+
endif(NOT FairMQInFairRoot_FIND_QUIETLY)
30+
31+
find_path(FAIRMQ_INCLUDE_DIR NAMES ${FAIRMQ_REQUIRED_HEADERS}
32+
PATHS ${FAIRROOTPATH}/include/fairmq
33+
NO_DEFAULT_PATH
34+
)
35+
36+
# search once more in the system if not yet found
37+
find_path(FAIRMQ_INCLUDE_DIR NAMES ${FAIRMQ_REQUIRED_HEADERS}
38+
)
39+
40+
if(FAIRMQ_INCLUDE_DIR)
41+
if(NOT FairMQInFairRoot_FIND_QUIETLY)
42+
message(STATUS "Looking for FairMQ functionality in FairRoot: yes")
43+
endif(NOT FairMQInFairRoot_FIND_QUIETLY)
44+
set(FAIRMQ_FOUND TRUE)
45+
set(FairMQInFairRoot_FOUND TRUE)
46+
else(FAIRMQ_INCLUDE_DIR)
47+
if(FairMQInFairRoot_FIND_REQUIRED)
48+
message(FATAL_ERROR "FairRoot is not built with FairMQ support")
49+
else(FairMQInFairRoot_FIND_REQUIRED)
50+
if(NOT FairMQInFairRoot_FIND_QUIETLY)
51+
message(STATUS "Looking for FairMQ functionality in FairRoot: no")
52+
endif(NOT FairMQInFairRoot_FIND_QUIETLY)
53+
endif(FairMQInFairRoot_FIND_REQUIRED)
54+
endif(FAIRMQ_INCLUDE_DIR)

cmake/QualityControlDependencies.cmake

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
find_package(Boost 1.58 COMPONENTS container unit_test_framework program_options system log)
1+
find_package(Boost 1.58 COMPONENTS container unit_test_framework program_options system log signals )
22
find_package(Git QUIET)
33
find_package(Configuration REQUIRED)
44
find_package(Monitoring REQUIRED)
5-
find_package(FairRoot REQUIRED)
65
find_package(MySQL REQUIRED)
76
find_package(Common REQUIRED)
87
find_package(InfoLogger REQUIRED)
@@ -20,8 +19,17 @@ if (BOOST_FOUND AND NOT Boost_FOUND)
2019
set(Boost_FOUND 1)
2120
endif ()
2221

22+
find_package(FairRoot REQUIRED)
23+
find_package(FairMQInFairRoot) # DEPRECATED: This looks for FairMQ embedded in old FairRoot versions,
24+
# before FairMQ and FairLogger have moved to separate repos.
25+
# Remove this line, once we require FairMQ 1.2+.
26+
if(NOT FairMQInFairRoot_FOUND) # DEPRECATED: Remove this condition, once we require FairMQ 1.2+
27+
find_package(FairMQ REQUIRED)
28+
find_package(FairLogger REQUIRED)
29+
endif()
30+
31+
2332
link_directories(${FAIRROOT_LIBRARY_DIR})
24-
set(FAIRROOT_LIBRARIES Base FairMQ BaseMQ Logger)
2533

2634
if (NOT MYSQL_FOUND)
2735
message(WARNING "MySQL not found, the corresponding classes won't be built.")
@@ -32,6 +40,25 @@ else ()
3240
# set(ROOT_LIBRARIES "${ROOT_LIBRARIES} -lRMySQL")
3341
endif ()
3442

43+
get_target_property(_boost_incdir Boost::boost INTERFACE_INCLUDE_DIRECTORIES)
44+
45+
46+
if(FairMQInFairRoot_FOUND)
47+
# DEPRECATED: Remove this case, once we require FairMQ 1.2+
48+
get_target_property(_fairmq_incdir FairRoot::FairMQ INTERFACE_INCLUDE_DIRECTORIES)
49+
o2_define_bucket(NAME fairmq_bucket
50+
DEPENDENCIES FairRoot::FairMQ
51+
INCLUDE_DIRECTORIES ${_boost_incdir} ${_fairmq_incdir}
52+
)
53+
else()
54+
get_target_property(_fairmq_incdir FairMQ::FairMQ INTERFACE_INCLUDE_DIRECTORIES)
55+
get_target_property(_fairlogger_incdir FairLogger::FairLogger INTERFACE_INCLUDE_DIRECTORIES)
56+
o2_define_bucket(NAME fairmq_bucket
57+
DEPENDENCIES FairMQ::FairMQ
58+
INCLUDE_DIRECTORIES ${_boost_incdir} ${_fairmq_incdir} ${_fairlogger_incdir}
59+
)
60+
set(_fairlogger_incdir)
61+
endif()
3562

3663
o2_define_bucket(
3764
NAME
@@ -76,7 +103,7 @@ o2_define_bucket(
76103

77104
DEPENDENCIES
78105
o2_qualitycontrol_bucket
79-
${FAIRROOT_LIBRARIES}
106+
fairmq_bucket
80107

81108
SYSTEMINCLUDE_DIRECTORIES
82109
${FAIRROOT_INCLUDE_DIR}
@@ -141,7 +168,7 @@ o2_define_bucket(
141168

142169
DEPENDENCIES
143170
o2_qcmodules_base
144-
${FAIRROOT_LIBRARIES}
171+
fairmq_bucket
145172
${AliceO2_LIBRARIES}
146173

147174
SYSTEMINCLUDE_DIRECTORIES

0 commit comments

Comments
 (0)