Skip to content

Commit c186cc5

Browse files
committed
Merge branch 'release/v3_11_00'
2 parents c876211 + 1d1c68f commit c186cc5

File tree

199 files changed

+4858
-5151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

199 files changed

+4858
-5151
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
1515

1616
find_package(cetmodules 2.13.00 REQUIRED)
17-
project(art VERSION 3.10.00 LANGUAGES CXX C)
17+
project(art VERSION 3.11.00 LANGUAGES CXX C)
1818

1919
include(CetCMakeEnv)
2020
cet_cmake_env()

CMakePresets.json

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
{
2+
"configurePresets" : [
3+
{
4+
"cacheVariables" : {
5+
"CMAKE_BUILD_TYPE" : {
6+
"type" : "STRING",
7+
"value" : "RelWithDebInfo"
8+
},
9+
"CMAKE_CXX_COMPILER" : {
10+
"type" : "STRING",
11+
"value" : "clang++"
12+
},
13+
"CMAKE_CXX_EXTENSIONS" : {
14+
"type" : "BOOL",
15+
"value" : "OFF"
16+
},
17+
"CMAKE_CXX_STANDARD" : {
18+
"type" : "STRING",
19+
"value" : "17"
20+
},
21+
"CMAKE_CXX_STANDARD_REQUIRED" : {
22+
"type" : "BOOL",
23+
"value" : "ON"
24+
},
25+
"CMAKE_C_COMPILER" : {
26+
"type" : "STRING",
27+
"value" : "clang"
28+
},
29+
"CMAKE_Fortran_COMPILER" : {
30+
"type" : "STRING",
31+
"value" : "gfortran"
32+
},
33+
"art_ADD_NOARCH_DIRS_INIT" : {
34+
"type" : "INTERNAL",
35+
"value" : "PERLLIB_DIR"
36+
},
37+
"art_FHICL_DIR_INIT" : {
38+
"type" : "STRING",
39+
"value" : ""
40+
}
41+
},
42+
"description" : "Configuration settings translated from ups/product_deps",
43+
"displayName" : "Configuration from product_deps",
44+
"hidden" : true,
45+
"name" : "from_product_deps"
46+
},
47+
{
48+
"cacheVariables" : {
49+
"UPS_CXX_COMPILER_ID" : {
50+
"type" : "STRING",
51+
"value" : "Clang"
52+
},
53+
"UPS_CXX_COMPILER_VERSION" : {
54+
"type" : "STRING",
55+
"value" : "7.0.0"
56+
},
57+
"UPS_C_COMPILER_ID" : {
58+
"type" : "STRING",
59+
"value" : "Clang"
60+
},
61+
"UPS_C_COMPILER_VERSION" : {
62+
"type" : "STRING",
63+
"value" : "7.0.0"
64+
},
65+
"UPS_Fortran_COMPILER_ID" : {
66+
"type" : "STRING",
67+
"value" : "GNU"
68+
},
69+
"UPS_Fortran_COMPILER_VERSION" : {
70+
"type" : "STRING",
71+
"value" : "8.2.0"
72+
},
73+
"WANT_UPS" : {
74+
"type" : "BOOL",
75+
"value" : true
76+
},
77+
"art_EXEC_PREFIX_INIT" : {
78+
"type" : "STRING",
79+
"value" : "$env{CETPKG_FQ_DIR}"
80+
},
81+
"art_UPS_BUILD_ONLY_DEPENDENCIES_INIT" : {
82+
"type" : "STRING",
83+
"value" : "catch;cetmodules;range"
84+
},
85+
"art_UPS_PRODUCT_FLAVOR_INIT" : {
86+
"type" : "STRING",
87+
"value" : "$env{CETPKG_FLAVOR}"
88+
},
89+
"art_UPS_PRODUCT_NAME_INIT" : {
90+
"type" : "STRING",
91+
"value" : "art"
92+
},
93+
"art_UPS_QUALIFIER_STRING_INIT" : {
94+
"type" : "STRING",
95+
"value" : "$env{CETPKG_QUALSPEC}"
96+
},
97+
"art_UPS_USE_TIME_DEPENDENCIES_INIT" : {
98+
"type" : "STRING",
99+
"value" : "canvas"
100+
}
101+
},
102+
"description" : "Extra configuration for UPS package generation",
103+
"displayName" : "UPS extra configuration",
104+
"hidden" : true,
105+
"name" : "extra_for_UPS"
106+
},
107+
{
108+
"description" : "Default configuration including settings from ups/product_deps",
109+
"displayName" : "Default configuration",
110+
"inherits" : "from_product_deps",
111+
"name" : "default"
112+
},
113+
{
114+
"description" : "Default configuration for UPS package generation",
115+
"displayName" : "Default configuration for UPS",
116+
"inherits" : [
117+
"default",
118+
"extra_for_UPS"
119+
],
120+
"name" : "for_UPS"
121+
}
122+
],
123+
"version" : 3
124+
}

art/Framework/Art/BasicPostProcessor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace art {
1010
#include "art/Framework/Art/OptionsHandler.h"
1111
#include "cetlib/filepath_maker.h"
1212

13-
class art::BasicPostProcessor : public art::OptionsHandler {
13+
class art::BasicPostProcessor : public OptionsHandler {
1414
private:
1515
// Check selected options for consistency.
1616
int doCheckOptions(bpo::variables_map const& vm) override;

art/Framework/Art/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ cet_make_library(SOURCE
4747
cetlib_except::cetlib_except
4848
Boost::filesystem
4949
TBB::tbb
50+
range-v3::range-v3
5051
)
5152

5253
# Build an art exec.

art/Framework/Art/OptionsHandler.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ namespace {
4747
}
4848
} // namespace
4949

50+
art::OptionsHandler::~OptionsHandler() = default;
51+
5052
int
5153
art::OptionsHandler::checkOptions(bpo::variables_map const& vm)
5254
{

art/Framework/Art/OptionsHandler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace art {
1212

1313
class OptionsHandler {
1414
public:
15-
virtual ~OptionsHandler() = default;
15+
virtual ~OptionsHandler();
1616

1717
int checkOptions(bpo::variables_map const& vm);
1818
int processOptions(bpo::variables_map const& vm,

art/Framework/Art/art.cc.in

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
// vim: set sw=2 expandtab :
2-
#include "art/Framework/Art/artapp.h"
3-
#include "art/Framework/Art/detail/info_success.h"
4-
5-
#include "messagefacility/MessageLogger/MessageLogger.h"
62

7-
#include <iostream>
3+
// Initialize ExitCodePrinter as early as possible, before other
4+
// include files, to have its destructor called as late as possible.
5+
#include "art/Framework/Art/detail/ExitCodePrinter.h"
6+
namespace {
7+
art::detail::ExitCodePrinter p;
8+
}
89

9-
using namespace std;
10+
#include "art/Framework/Art/artapp.h"
11+
#include "messagefacility/MessageLogger/MessageLogger.h"
1012

1113
int
1214
main(int argc, char* argv[])
1315
{
14-
int result = artapp(argc, argv);
16+
p = artapp(argc, argv);
1517
mf::EndMessageFacility();
16-
if (result == art::detail::info_success()) {
17-
return 0;
18-
}
19-
cout << "Art has completed and will exit with status " << result << "." << endl;
20-
return result;
18+
return p.exitcode();
2119
}
2220

2321
// Local Variables:

art/Framework/Art/artapp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
int artapp(int argc, char* argv[], bool report_unused = true);
88

9-
#endif /* art_Framework_Art_@ART_MAIN_FUNC@_h */
9+
#endif /* art_Framework_Art_artapp_h */
1010

1111
// Local Variables:
1212
// mode: c++
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#ifndef art_Framework_Art_detail_ExitCodePrinter_h
2+
#define art_Framework_Art_detail_ExitCodePrinter_h
3+
4+
#include "art/Framework/Art/detail/info_success.h"
5+
#include <iostream>
6+
7+
namespace art::detail {
8+
class ExitCodePrinter {
9+
public:
10+
ExitCodePrinter&
11+
operator=(int exitcode) noexcept
12+
{
13+
code_ = exitcode;
14+
return *this;
15+
}
16+
17+
~ExitCodePrinter() noexcept
18+
{
19+
if (code_ != info_success()) {
20+
std::cout << "Art has completed and will exit with status " << code_
21+
<< "." << std::endl;
22+
}
23+
}
24+
25+
int
26+
exitcode() const noexcept
27+
{
28+
return code_ == info_success() ? 0 : code_;
29+
}
30+
31+
private:
32+
int code_{};
33+
};
34+
}
35+
36+
#endif /* art_Framework_Art_detail_ExitCodePrinter_h */
37+
38+
// Local Variables:
39+
// mode: c++
40+
// End:

art/Framework/Art/detail/get_LibraryInfoCollection.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,11 +211,10 @@ namespace {
211211
std::size_t i{};
212212
for (auto const& lib : libs) {
213213
auto const& libspecs = lm.getSpecsByPath(lib);
214-
std::string const& shortspec = libspecs.first;
215-
std::string const& fullspec = libspecs.second;
214+
auto const& [shortspec, fullspec] = libspecs;
216215

217216
result.emplace(lib,
218-
std::make_pair(shortspec, fullspec),
217+
libspecs,
219218
getFilePath(lm, shortspec), // full specs may be empty
220219
getAllowedConfiguration(
221220
lm, shortspec, shortspec), // for user-defined servicxes

0 commit comments

Comments
 (0)