Commits (12)
......@@ -94,7 +94,7 @@ function( atlas_add_dictionary libName libHeader libSelection )
# CMake configuration. But CMake's Ninja generator is not clever enough to
# figure out that we're referring to already existing files here...
add_custom_command( OUTPUT "${_stampFile}"
COMMAND ${CMAKE_COMMAND} -E echo "Generating ${_stampFile}" )
COMMAND ${CMAKE_COMMAND} -E true )
# Set common compiler options:
atlas_set_compiler_flags()
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# This file collects the ATLAS CMake helper functions that set up the build and
# installation of all the different kinds of libraries that we create in offline
......@@ -488,7 +488,7 @@ function( _atlas_add_cnv_library libName )
# CMake configuration. But CMake's Ninja generator is not clever enough to
# figure out that we're referring to already existing files here...
add_custom_command( OUTPUT "${_stampFile}"
COMMAND ${CMAKE_COMMAND} -E echo "Generating ${_stampFile}" )
COMMAND ${CMAKE_COMMAND} -E true )
# Find the types that we need to make converter(s) for:
set( _typeCache )
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Package building FastJet as part of the offline software build.
#
......@@ -13,8 +13,8 @@ endif()
# The source code of FastJet:
set( _source
"http://cern.ch/lcgpackages/tarFiles/sources/fastjet-3.3.4.tar.gz" )
set( _md5 "19de6f4be3e7cf7dad29e6174d2739cf" )
"http://cern.ch/lcgpackages/tarFiles/sources/fastjet-3.4.0.tar.gz" )
set( _md5 "69879b19006fb6dc7d0b98d01c5cd115" )
# Decide whether to request debug symbols from the build:
if( "${CMAKE_BUILD_TYPE}" STREQUAL "Release" OR
......@@ -38,6 +38,18 @@ if( CMAKE_OSX_SYSROOT )
list( APPEND _ldflags -isysroot ${CMAKE_OSX_SYSROOT} )
endif()
# Specify optimisation flags explicitly, as 3.4.0 doesn't seem to do that itself
# anymore. But only do this for "known" compilers, not to intentionally break
# the build with more exotic ones.
if( ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" ) OR
( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) )
if( "${CMAKE_BUILD_TYPE}" STREQUAL "Debug" )
list( APPEND _cflags -O0 )
else()
list( APPEND _cflags -O2 )
endif()
endif()
# Massage the options to make them usable in the configuration script.
string( REPLACE ";" " " _cflags "${_cflags}" )
string( REPLACE ";" " " _ldflags "${_ldflags}" )
......@@ -56,8 +68,6 @@ ExternalProject_Add( FastJet
URL "${_source}"
URL_MD5 "${_md5}"
INSTALL_DIR ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}
PATCH_COMMAND patch -p1 <
${CMAKE_CURRENT_SOURCE_DIR}/patches/thread-local-rng.patch
CONFIGURE_COMMAND
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/configure.sh
INSTALL_COMMAND make install
......@@ -65,7 +75,8 @@ ExternalProject_Add( FastJet
COMMAND ${CMAKE_COMMAND} -E copy_directory
${_buildDir}/ <INSTALL_DIR> )
ExternalProject_Add_Step( FastJet forcedownload
COMMAND ${CMAKE_COMMAND} -E echo "Forcing the re-download of FastJet."
COMMAND ${CMAKE_COMMAND} -E echo
"Forcing the re-download of FastJet (2021.06.30.)"
DEPENDERS download )
ExternalProject_Add_Step( FastJet purgeBuild
COMMAND ${CMAKE_COMMAND} -E remove_directory "<BINARY_DIR>"
......
#!/bin/bash
#
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Script configuring the build of FastJet.
#
......@@ -12,5 +12,5 @@ export CXX=@CMAKE_CXX_COMPILER@
# Configure the build.
@CMAKE_BINARY_DIR@/src/FastJet/configure --prefix=@_buildDir@ \
--enable-shared --disable-static --enable-allcxxplugins \
--disable-auto-ptr @_fastJetExtraConfig@ \
--disable-auto-ptr --enable-limited-thread-safety @_fastJetExtraConfig@ \
CXXFLAGS="@_cflags@ -std=c++@CMAKE_CXX_STANDARD@" LDFLAGS="@_ldflags@"
--- FastJet/include/fastjet/GhostedAreaSpec.hh-orig 2019-11-22 14:26:57.139645000 -0500
+++ FastJet/include/fastjet/GhostedAreaSpec.hh 2019-11-22 14:27:42.758176677 -0500
@@ -232,7 +232,7 @@
std::vector<int> _random_checkpoint;
- static BasicRandom<double> _random_generator;
+ static thread_local BasicRandom<double> _random_generator;
//mutable BasicRandom<double> _random_generator;
static LimitedWarning _warn_fj2_placement_deprecated;
--- FastJet/src/GhostedAreaSpec.cc-orig 2019-11-22 14:28:07.042772000 -0500
+++ FastJet/src/GhostedAreaSpec.cc 2019-11-22 14:28:14.711919913 -0500
@@ -37,7 +37,7 @@
FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
-BasicRandom<double> GhostedAreaSpec::_random_generator;
+thread_local BasicRandom<double> GhostedAreaSpec::_random_generator;
LimitedWarning GhostedAreaSpec::_warn_fj2_placement_deprecated;
/// explicit constructor
......@@ -28,6 +28,23 @@ else()
find_package( FastJet )
endif()
# Extra environment options for the configuration.
set( _cflags )
# Specify optimisation flags explicitly. But only do this for "known" compilers,
# not to intentionally break the build with more exotic ones.
if( ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" ) OR
( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) )
if( "${CMAKE_BUILD_TYPE}" STREQUAL "Debug" )
list( APPEND _cflags -O0 -g )
else()
list( APPEND _cflags -O2 )
endif()
endif()
# Massage the options to make them usable in the configuration script.
string( REPLACE ";" " " _cflags "${_cflags}" )
# Set up the script used for configuring the build of FastJetConntrib.
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/configure.sh.in
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/configure.sh @ONLY )
......
......@@ -7,4 +7,5 @@ export CC=@CMAKE_C_COMPILER@
export CXX=@CMAKE_CXX_COMPILER@
@CMAKE_BINARY_DIR@@CMAKE_FILES_DIRECTORY@/atlas_build_run.sh \
./configure --fastjet-config=@FASTJET_CONFIG_SCRIPT@ \
--prefix=@_buildDir@ CXXFLAGS="-fPIC -std=c++@CMAKE_CXX_STANDARD@"
--prefix=@_buildDir@ \
CXXFLAGS="@_cflags@ -fPIC -std=c++@CMAKE_CXX_STANDARD@"
......@@ -115,6 +115,16 @@ if( "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" OR
list( APPEND _extraArgs -Dbuiltin_fftw3:BOOL=ON )
endif()
# Make it possible to build LLVM/Cling in a non-Release mode as well. Which can
# come in handy for debugging dictionary issues. However this should only be
# modified for local builds, for debugging. (The size of ROOT increases
# drastically, and it becomes quite a bit slower with this turned to "Debug".)
set( ATLAS_ROOT_LLVM_BUILD_TYPE "Release" CACHE STRING
"Build type used for ROOT's LLVM/Cling" )
mark_as_advanced( ATLAS_ROOT_LLVM_BUILD_TYPE )
list( APPEND _extraArgs
-DLLVM_BUILD_TYPE:STRING="${ATLAS_ROOT_LLVM_BUILD_TYPE}" )
# Generate the script that will configure the build of ROOT.
string( REPLACE ";" " " _configureArgs "${_extraArgs}" )
string( REPLACE "%" ";" _configureArgs "${_configureArgs}" )
......
......@@ -30,8 +30,8 @@ set( _buildDir ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/lwtnnBuild )
ExternalProject_Add( lwtnn
PREFIX ${CMAKE_BINARY_DIR}
INSTALL_DIR ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}
URL http://cern.ch/atlas-software-dist-eos/externals/lwtnn/v2.11.1.tar.gz
URL_MD5 4a7111d6399167cfa79a69dbfaca69a0
URL http://cern.ch/atlas-software-dist-eos/externals/lwtnn/v2.12.tar.gz
URL_MD5 9bd0268d6d3041a6ecdfff6faae2224b
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${_buildDir}
-DEIGEN3_INCLUDE_DIR:PATH=${EIGEN_INCLUDE_DIRS}
......
......@@ -13,8 +13,8 @@ if( ATLAS_RELEASE_MODE )
endif()
# Set the source
set( _prmonSource "https://atlas-software-dist-eos.web.cern.ch/externals/prmon/v2.2.0.tar.gz" )
set( _prmonSourceMD5 "3c84aa76eddfa31e2d8dddeda2baf076" )
set( _prmonSource "https://atlas-software-dist-eos.web.cern.ch/externals/prmon/v2.2.1.tar.gz" )
set( _prmonSourceMD5 "ac7f3fef14a7fa73c27df601ed8bd024" )
# Print what's going on
message( STATUS "Buliding prmon as part of this project" )
......
......@@ -3,7 +3,6 @@
# List of packages to build as part of AthAnalysisExternals.
#
+ External/BAT
+ External/FastJet
+ External/flake8_atlas
+ External/Gaudi
+ External/GPerfTools
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# List of packages to build as part of AthDerivationExternals.
#
+ External/CheckerGccPlugins
+ External/CLHEP
+ External/FastJet
+ External/Gaudi
+ External/Gdb
+ External/GPerfTools
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# List of packages to build as part of AthGenerationExternals.
#
+ External/CLHEP
+ External/FastJet
+ External/Gaudi
+ External/GPerfTools
+ External/Gdb
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# List of packages to build as part of AthSimulationExternals.
#
+ External/CLHEP
+ External/FastJet
+ External/Gaudi
+ External/GPerfTools
+ External/Gdb
+ External/Geant4
+ External/GeoModel
+ External/GoogleTest
+ External/HepMCAnalysis
+ External/MKL
+ External/PyModules
+ External/dSFMT
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# List of packages to build as part of AthenaExternals.
#
......@@ -6,7 +6,6 @@
+ External/CheckerGccPlugins
+ External/CLHEP
+ External/Coin3D
+ External/FastJet
+ External/flake8_atlas
+ External/Gaudi
+ External/GPerfTools
......@@ -14,7 +13,6 @@
+ External/Geant4
+ External/GeoModel
+ External/GoogleTest
+ External/HepMCAnalysis
+ External/lwtnn
+ External/MKL
+ External/onnxruntime
......