Commits (19)
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Locate the Apfel package.
# Defines:
# - APFEL_FOUND
# - APFEL_INCLUDE_DIR
# - APFEL_INCLUDE_DIRS
# - APFEL_LIBRARIES
# - APFEL_LIBRARY_DIRS
#
# Can be steered by APFEL_LCGROOT.
#
# The LCG include(s):
include( LCGFunctions )
# Declare the external module:
lcg_external_module( NAME Apfel
INCLUDE_SUFFIXES include INCLUDE_NAMES APFEL/APFEL.h
LIBRARY_SUFFIXES lib
COMPULSORY_COMPONENTS APFEL )
# Handle the standard find_package arguments:
include( FindPackageHandleStandardArgs )
find_package_handle_standard_args( Apfel DEFAULT_MSG APFEL_INCLUDE_DIR
APFEL_LIBRARIES )
mark_as_advanced( APFEL_FOUND APFEL_INCLUDE_DIR APFEL_INCLUDE_DIRS
APFEL_LIBRARIES APFEL_LIBRARY_DIRS )
# Set up the RPM dependency:
lcg_need_rpm( apfel )
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
#
# Defines:
# - CAIRO_FOUND
......@@ -39,4 +39,8 @@ mark_as_advanced( CAIRO_FOUND CAIRO_INCLUDE_DIR CAIRO_INCLUDE_DIRS
CAIRO_LIBRARY_DIRS )
# Set up the RPM dependency:
lcg_need_rpm( cairo )
if( "${LCG_VERSION_NUMBER}" VERSION_LESS 92 )
lcg_need_rpm( Cairo )
else()
lcg_need_rpm( cairo )
endif()
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Module finding Hto4l in the LCG release. Defines:
# - HTO4L_BINARY_PATH
# - HTO4L_Hto4l_EXECUTABLE
#
# The LCG include(s).
include( LCGFunctions )
# Declare the module.
lcg_external_module( NAME Hto4l
BINARY_NAMES Hto4l
BINARY_SUFFIXES bin bin32 bin64 )
# Handle the standard find_package arguments.
include( FindPackageHandleStandardArgs )
find_package_handle_standard_args( Hto4l DEFAULT_MSG
HTO4L_Hto4l_EXECUTABLE HTO4L_BINARY_PATH )
mark_as_advanced( HTO4L_FOUND )
# Set up the RPM dependency.
lcg_need_rpm( hto4l )
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Module finding Prophecy4f in the LCG release. Defines:
# - PROPHECY4F_BINARY_PATH
# - PROPHECY4F_Prophecy4f_EXECUTABLE
#
# The LCG include(s).
include( LCGFunctions )
# Declare the module.
lcg_external_module( NAME Prophecy4f
BINARY_NAMES Prophecy4f
BINARY_SUFFIXES bin bin32 bin64 )
# Handle the standard find_package arguments.
include( FindPackageHandleStandardArgs )
find_package_handle_standard_args( Prophecy4f DEFAULT_MSG
PROPHECY4F_Prophecy4f_EXECUTABLE PROPHECY4F_BINARY_PATH )
mark_as_advanced( PROPHECY4F_FOUND )
# Set up the RPM dependency.
lcg_need_rpm( prophecy4f )
......@@ -15,6 +15,8 @@ include( LCGFunctions )
# Declare the external module:
lcg_external_module( NAME Superchic
BINARY_NAMES superchic
BINARY_SUFFIXES bin bin32 bin64
INCLUDE_SUFFIXES include src/inc
INCLUDE_NAMES anom.f bpsi.f
LIBRARY_SUFFIXES lib lib64
......@@ -29,3 +31,9 @@ mark_as_advanced( SUPERCHIC_FOUND SUPERCHIC_INCLUDE_DIR SUPERCHIC_INCLUDE_DIRS
# Set up the RPM dependency:
lcg_need_rpm( superchic )
# Set the SUPERCHIC environment variable:
if( SUPERCHIC_FOUND )
set( SUPERCHIC_ENVIRONMENT
FORCESET SUPERCHICPATH ${SUPERCHIC_LCGROOT} )
endif()
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Defines:
#
# LIBZIP_FOUND
# LIBZIP_INCLUDE_DIR
# LIBZIP_INCLUDE_DIRS
# LIBZIP_<component>_FOUND
# LIBZIP_<component>_LIBRARY
# LIBZIP_LIBRARIES
# LIBZIP_LIBRARY_DIRS
#
# Can be steered using LIBZIP_LCGROOT.
#
# The LCG include(s):
include( LCGFunctions )
# Declare the external module:
lcg_external_module( NAME libzip
INCLUDE_SUFFIXES include INCLUDE_NAMES zip.h
LIBRARY_SUFFIXES lib lib64
COMPULSORY_COMPONENTS zip )
# Handle the standard find_package arguments:
include( FindPackageHandleStandardArgs )
find_package_handle_standard_args( libzip DEFAULT_MSG LIBZIP_INCLUDE_DIR
LIBZIP_LIBRARIES )
mark_as_advanced( LIBZIP_FOUND LIBZIP_INCLUDE_DIR LIBZIP_INCLUDE_DIRS
LIBZIP_LIBRARIES LIBZIP_LIBRARY_DIRS )
# Set up the RPM dependency:
lcg_need_rpm( libzip )
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Some helper functions, used by the Find<Bla>.cmake modules of the package.
#
......@@ -17,6 +17,7 @@ include( CMakeParseArguments )
# - <NAME>_INCLUDE_DIRS
# - <NAME>_LIBRARIES
# - <NAME>_LIBRARY_DIRS
# - <NAME>_BINARY_PATH
# - <NAME>_<component>_FOUND
# - <NAME>_<component>_LIBRARY
# - <NAME>_FOUND_COMPONENTS
......@@ -39,6 +40,8 @@ include( CMakeParseArguments )
# [LIBRARY_SUFFIXES libDir1 libDir2...]
# [LIBRARY_PREFIX prefix_]
# [LIBRARY_POSTFIX _postfix]
# [BINARY_NAMES exe1 exe2...]
# [BINARY_SUFFIXES dir3 dir4...]
# [EXTRA_OPTIONS cmakeOpt1...]
# [SEARCH_PATHS path1 path2...] )
#
......@@ -47,7 +50,8 @@ function( lcg_external_module )
# Parse the arguments:
set( _singleArgParams NAME LIBRARY_PREFIX LIBRARY_POSTFIX )
set( _multiArgParams INCLUDE_SUFFIXES INCLUDE_NAMES DEFAULT_COMPONENTS
COMPULSORY_COMPONENTS LIBRARY_SUFFIXES EXTRA_OPTIONS SEARCH_PATHS )
BINARY_NAMES BINARY_SUFFIXES COMPULSORY_COMPONENTS
LIBRARY_SUFFIXES EXTRA_OPTIONS SEARCH_PATHS )
cmake_parse_arguments( ARG "" "${_singleArgParams}" "${_multiArgParams}"
${ARGN} )
......@@ -99,6 +103,35 @@ function( lcg_external_module )
unset( _relocatableDir )
endif()
# Look for an optional binary directory, and the executables therein.
if( ARG_BINARY_NAMES )
foreach( binary ${ARG_BINARY_NAMES} )
find_program( ${nameUpper}_${binary}_EXECUTABLE
NAMES ${binary}
PATH_SUFFIXES ${ARG_BINARY_SUFFIXES}
PATHS ${ARG_SEARCH_PATHS} ${${nameUpper}_LCGROOT}
${ARG_EXTRA_OPTIONS} )
endforeach()
find_path( ${nameUpper}_BINARY_PATH
NAMES ${ARG_BINARY_NAMES}
PATH_SUFFIXES ${ARG_BINARY_SUFFIXES}
PATHS ${ARG_SEARCH_PATHS} ${${nameUpper}_LCGROOT}
${ARG_EXTRA_OPTIONS} )
set( _relocatableDir ${${nameUpper}_BINARY_PATH} )
_lcg_make_paths_relocatable( _relocatableDir )
if ( ${nameUpper}_BINARY_PATH )
if( GAUDI_ATLAS )
set( ${nameUpper}_BINARY_PATH ${${nameUpper}_BINARY_PATH}
PARENT_SCOPE )
else()
set( ${nameUpper}_BINARY_PATH
$<BUILD_INTERFACE:${${nameUpper}_BINARY_PATH}>
$<INSTALL_INTERFACE:${_relocatableDir}> PARENT_SCOPE )
endif()
endif()
unset( _relocatableDir )
endif()
# Set up the components:
if( ARG_DEFAULT_COMPONENTS AND NOT ${ARG_NAME}_FIND_COMPONENTS )
set( ${ARG_NAME}_FIND_COMPONENTS ${ARG_DEFAULT_COMPONENTS} )
......
......@@ -65,6 +65,7 @@ ExternalProject_Add_Step( HDF5 purgeBuild
DEPENDERS patch )
ExternalProject_Add_Step( HDF5 buildinstall
COMMAND ${CMAKE_COMMAND} -E remove -f ${_buildDir}/lib/libdynlib*
COMMAND ${CMAKE_COMMAND} -E remove -f ${_buildDir}/lib/pkgconfig/*.pc
COMMAND ${CMAKE_COMMAND} -E copy_directory ${_buildDir}/ <INSTALL_DIR>
COMMENT "Installing HDF5 into the build area"
DEPENDEES install )
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
# Package building KLFitter as part of an analysis release
#
......@@ -24,8 +24,8 @@ endif()
set( _bat_root ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM} )
# KLFitter version and hash
set( _version_tag "v1.3.2" )
set( _version_hash "07879c562e04017bcf27acf3a5247908" )
set( _version_tag "v1.4.0" )
set( _version_hash "8bf9ad8b37a83fd9d5ae2d8ce9eb0f1e" )
# Temporary directory for the build results:
set( _buildDir ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/KLFitterBuild )
......
......@@ -129,6 +129,12 @@ if( NOT PIP_FOUND OR ATLAS_BUILD_PYTHON )
if( ATLAS_BUILD_PYTHON )
add_dependencies( wheel Python )
endif()
# This makes sure that package compilation would happen one-by-one. Otherwise
# some race conditions can arise when installing packages into the same area
# at once.
if( NOT NUMPY_FOUND OR ATLAS_BUILD_PYTHON )
add_dependencies( wheel numpy )
endif()
# Build/install pip:
set( _source
......
# 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 YAMPL for ATLAS.
#
......@@ -20,8 +20,8 @@ set( _buildDir ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/yamplBuild )
# Set up the build of YAMPL:
ExternalProject_Add( yampl
PREFIX ${CMAKE_BINARY_DIR}
GIT_REPOSITORY https://github.com/vitillo/yampl.git
GIT_TAG 46f7a48
URL "http://cern.ch/atlas-software-dist-eos/externals/yampl/yampl-46f7a48.tar.bz2"
URL_MD5 "85e2c2429e034b61581ef1c45927f0d7"
BUILD_IN_SOURCE 1
PATCH_COMMAND patch -p1 <
${CMAKE_CURRENT_SOURCE_DIR}/patches/yampl-46f7a48-uuid.patch
......@@ -30,6 +30,10 @@ ExternalProject_Add( yampl
INSTALL_COMMAND make install
COMMAND ${CMAKE_COMMAND} -E copy_directory ${_buildDir}/
${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM} )
ExternalProject_Add_Step( yampl forcedownload
COMMAND ${CMAKE_COMMAND} -E echo
"Forcing the re-download of yampl (2021.01.04.)"
DEPENDERS download )
add_dependencies( Package_yampl yampl )
# Install YAMPL:
......