diff --git a/Build/AtlasLCG/LCGConfig-version.cmake b/Build/AtlasLCG/LCGConfig-version.cmake index 8da6b4dc8272b1e1326f0e1d9f63afe47cc10650..80e6e5efddd2b2f1c2a5d18d71a2840721649c5d 100644 --- a/Build/AtlasLCG/LCGConfig-version.cmake +++ b/Build/AtlasLCG/LCGConfig-version.cmake @@ -1,6 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -# $Id: LCGConfig-version.cmake 740816 2016-04-17 08:12:15Z krasznaa $ +# $Id: LCGConfig-version.cmake 752088 2016-06-03 11:34:42Z krasznaa $ # # This file is used to figure out whether the LCG version that the user # requested can be delivered or not. @@ -27,20 +27,35 @@ endif() set( LCG_releases_base ${LCG_RELEASE_BASE} CACHE PATH "Directory holding LCG releases" FORCE ) +# Requesting version 0 means that we only want to use the package's +# modules. But not set up an actual release from AFS/CVMFS. +if( PACKAGE_FIND_VERSION EQUAL 0 ) + message( STATUS "Using the LCG modules without setting up a release" ) + set( PACKAGE_VERSION 0 ) + set( PACKAGE_VERSION_NUMBER 0 ) + set( PACKAGE_VERSION_COMPATIBLE TRUE ) + set( PACKAGE_VERSION_EXACT FALSE ) # If a directory with the requested version string exists, then we're # done already. -if( EXISTS +elseif( EXISTS ${LCG_RELEASE_BASE}/LCG_${PACKAGE_FIND_VERSION}${LCG_VERSION_POSTFIX} ) set( PACKAGE_VERSION ${PACKAGE_FIND_VERSION}${LCG_VERSION_POSTFIX} ) set( PACKAGE_VERSION_NUMBER ${PACKAGE_FIND_VERSION} ) set( PACKAGE_VERSION_COMPATIBLE TRUE ) set( PACKAGE_VERSION_EXACT TRUE ) +elseif( NOT PACKAGE_FIND_VERSION ) + # If no version was requested: + message( STATUS "No LCG version requested. Not setting up release." ) + set( PACKAGE_VERSION 0 ) + set( PACKAGE_VERSION_NUMBER 0 ) + set( PACKAGE_VERSION_COMPATIBLE TRUE ) + set( PACKAGE_VERSION_EXACT FALSE ) else() # If it doesn't exist, then pick up the latest release, and check if it's # newer than the one requested. message( WARNING "Can't find the requested LCG version. " - "Falling back to LCG_82." ) - set( PACKAGE_VERSION "82" ) + "Falling back to LCG_84." ) + set( PACKAGE_VERSION "84" ) set( PACKAGE_VERSION_NUMBER ${PACKAGE_VERSION} ) if( "${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) set( PACKAGE_VERSION_COMPATIBLE FALSE ) diff --git a/Build/AtlasLCG/LCGConfig.cmake b/Build/AtlasLCG/LCGConfig.cmake index 24ebf8a9775ccfcee26bb96f52ec2a34ba493b78..5e067b6c281c8c49ad4925d165f2c0ce18a08a2c 100644 --- a/Build/AtlasLCG/LCGConfig.cmake +++ b/Build/AtlasLCG/LCGConfig.cmake @@ -1,6 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -# $Id: LCGConfig.cmake 751138 2016-05-31 13:50:48Z krasznaa $ +# $Id: LCGConfig.cmake 755442 2016-06-16 15:08:07Z krasznaa $ # # File implementing the code that gets called when a project imports # LCG using something like: @@ -99,7 +99,7 @@ function( lcg_os_id os isValid ) elseif( _lcgLinuxId MATCHES "Ubuntu" ) set( _linuxShort "ubuntu" ) elseif( _lcgLinuxId MATCHES "CentOS" ) - set( _linuxShort "cc" ) + set( _linuxShort "centos" ) else() message( WARNING "Linux flavour (${_lcgLinuxId}) not recognised" ) set( _linuxShort "linux" ) @@ -334,57 +334,63 @@ function( lcg_setup_release lcgReleaseDir ) endfunction( lcg_setup_release ) -# Get the platform ID: -if( NOT "$ENV{LCG_PLATFORM}" STREQUAL "" ) - set( LCG_PLATFORM $ENV{LCG_PLATFORM} - CACHE STRING "Platform name for the LCG release being used" ) -else() - lcg_platform_id( LCG_PLATFORM ) - set( LCG_PLATFORM ${LCG_PLATFORM} - CACHE STRING "Platform name for the LCG release being used" ) -endif() +# Only set up a release, if the requested release number was +# something other than 0. +if( NOT LCG_VERSION EQUAL 0 ) -# Tell the user what's happening: -if( NOT LCG_FIND_QUIETLY ) - message( STATUS - "Setting up LCG release \"${LCG_VERSION}\" for platform: " - "${LCG_PLATFORM}" ) -endif() + # Get the platform ID: + if( NOT "$ENV{LCG_PLATFORM}" STREQUAL "" ) + set( LCG_PLATFORM $ENV{LCG_PLATFORM} + CACHE STRING "Platform name for the LCG release being used" ) + else() + lcg_platform_id( LCG_PLATFORM ) + set( LCG_PLATFORM ${LCG_PLATFORM} + CACHE STRING "Platform name for the LCG release being used" ) + endif() -# Some sanity checks: -if( LCG_FIND_COMPONENTS ) - message( WARNING "Components \"${LCG_FIND_COMPONENTS}\" requested, but " - "finding LCG components is not supported" ) -endif() + # Tell the user what's happening: + if( NOT LCG_FIND_QUIETLY ) + message( STATUS + "Setting up LCG release \"${LCG_VERSION}\" for platform: " + "${LCG_PLATFORM}" ) + endif() + + # Some sanity checks: + if( LCG_FIND_COMPONENTS ) + message( WARNING "Components \"${LCG_FIND_COMPONENTS}\" requested, but " + "finding LCG components is not supported" ) + endif() + + # Construct the path to pick up the release from: + set( LCG_RELEASE_DIR ${LCG_RELEASE_BASE}/LCG_${LCG_VERSION} + CACHE PATH "Directory holding the LCG release" ) + + # Start out with the assumption that LCG is now found: + set( LCG_FOUND TRUE CACHE BOOL + "Flag showing whether LCG was found or not" ) + mark_as_advanced( LCG_FOUND ) + + # Set up the release: + lcg_setup_release( ${LCG_RELEASE_DIR} ) + + # Extra setting(s) for some package(s): + file( GLOB BOOST_INCLUDEDIR "${BOOST_ROOT}/include/*" ) + list( APPEND CMAKE_PREFIX_PATH ${PYTHON_ROOT} ) + file( GLOB PYTHON_INCLUDE_DIR "${PYTHON_ROOT}/include/*" ) + set( PYTHON_INCLUDE_DIR ${PYTHON_INCLUDE_DIR} CACHE PATH + "Python include directory" FORCE ) + file( GLOB PYTHON_LIBRARY "${PYTHON_ROOT}/lib/libpython*.so" ) + set( PYTHON_LIBRARY ${PYTHON_LIBRARY} + CACHE FILEPATH "Python library" FORCE ) + list( APPEND CMAKE_PREFIX_PATH ${DOXYGEN_ROOT} ) + set( GSL_ROOT_DIR ${GSL_ROOT} ) + list( APPEND CMAKE_PREFIX_PATH ${QT_ROOT} ) + list( APPEND CMAKE_PREFIX_PATH ${QT5_ROOT} ) + list( APPEND CMAKE_PREFIX_PATH ${GRAPHVIZ_ROOT} ) + list( APPEND CMAKE_PREFIX_PATH ${COIN3D_ROOT} ) + list( APPEND CMAKE_PREFIX_PATH ${EXPAT_ROOT} ) -# Construct the path to pick up the release from: -set( LCG_RELEASE_DIR ${LCG_RELEASE_BASE}/LCG_${LCG_VERSION} - CACHE PATH "Directory holding the LCG release" ) - -# Start out with the assumption that LCG is now found: -set( LCG_FOUND TRUE CACHE BOOL - "Flag showing whether LCG was found or not" ) -mark_as_advanced( LCG_FOUND ) - -# Set up the release: -lcg_setup_release( ${LCG_RELEASE_DIR} ) - -# Extra setting(s) for some package(s): -file( GLOB BOOST_INCLUDEDIR "${BOOST_ROOT}/include/*" ) -list( APPEND CMAKE_PREFIX_PATH ${PYTHON_ROOT} ) -file( GLOB PYTHON_INCLUDE_DIR "${PYTHON_ROOT}/include/*" ) -set( PYTHON_INCLUDE_DIR ${PYTHON_INCLUDE_DIR} CACHE PATH - "Python include directory" FORCE ) -file( GLOB PYTHON_LIBRARY "${PYTHON_ROOT}/lib/libpython*.so" ) -set( PYTHON_LIBRARY ${PYTHON_LIBRARY} - CACHE FILEPATH "Python library" FORCE ) -list( APPEND CMAKE_PREFIX_PATH ${DOXYGEN_ROOT} ) -set( GSL_ROOT_DIR ${GSL_ROOT} ) -list( APPEND CMAKE_PREFIX_PATH ${QT_ROOT} ) -list( APPEND CMAKE_PREFIX_PATH ${QT5_ROOT} ) -list( APPEND CMAKE_PREFIX_PATH ${GRAPHVIZ_ROOT} ) -list( APPEND CMAKE_PREFIX_PATH ${COIN3D_ROOT} ) -list( APPEND CMAKE_PREFIX_PATH ${EXPAT_ROOT} ) +endif() # Get the current directory: get_filename_component( _thisdir "${CMAKE_CURRENT_LIST_FILE}" PATH ) diff --git a/Build/AtlasLCG/modules/FindPythonInterp.cmake b/Build/AtlasLCG/modules/FindPythonInterp.cmake index 6f72def0c3fcff4daa8458c592fa2a09be368ae1..d58bcbfe10b1338fd6ceaa898ab8ced2c5bf8ee1 100644 --- a/Build/AtlasLCG/modules/FindPythonInterp.cmake +++ b/Build/AtlasLCG/modules/FindPythonInterp.cmake @@ -1,6 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -# $Id: FindPythonInterp.cmake 719980 2016-01-27 08:38:07Z krasznaa $ +# $Id: FindPythonInterp.cmake 752031 2016-06-03 09:12:47Z krasznaa $ # # This file is here to intercept find_package(PythonInterp) calls, and extend # the environment setup file of the project with the correct Python paths. @@ -14,9 +14,12 @@ include( LCGFunctions ) set( _modulePathBackup ${CMAKE_MODULE_PATH} ) set( CMAKE_MODULE_PATH ) -# Make the code ignore the system path(s): -set( CMAKE_SYSTEM_IGNORE_PATH /usr/include /usr/bin /usr/lib /usr/lib32 - /usr/lib64 ) +# Make the code ignore the system path(s). If we are to pick up Python +# from the release. +if( PYTHON_ROOT ) + set( CMAKE_SYSTEM_IGNORE_PATH /usr/include /usr/bin /usr/lib /usr/lib32 + /usr/lib64 ) +endif() # Call CMake's own FindPythonInterp.cmake. Note that the arguments created # for this script by CMake pass through to the official script. So we don't diff --git a/Build/AtlasLCG/modules/FindPythonLibs.cmake b/Build/AtlasLCG/modules/FindPythonLibs.cmake index 7ddded8651e229cfe37bd6c8388f640d9392fd8f..93dc624d418a909030d9fdf25077467a4a3b1140 100644 --- a/Build/AtlasLCG/modules/FindPythonLibs.cmake +++ b/Build/AtlasLCG/modules/FindPythonLibs.cmake @@ -1,6 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -# $Id: FindPythonLibs.cmake 734923 2016-04-08 15:32:19Z krasznaa $ +# $Id: FindPythonLibs.cmake 752031 2016-06-03 09:12:47Z krasznaa $ # # This file is here to intercept find_package(PythonLibs) calls, and # massage the paths produced by the system module, to make them relocatable. @@ -14,9 +14,12 @@ include( LCGFunctions ) set( _modulePathBackup ${CMAKE_MODULE_PATH} ) set( CMAKE_MODULE_PATH ) -# Make the code ignore the system path(s): -set( CMAKE_SYSTEM_IGNORE_PATH /usr/include /usr/bin /usr/lib /usr/lib32 - /usr/lib64 ) +# Make the code ignore the system path(s). If we are to pick up Python +# from the release. +if( PYTHON_ROOT ) + set( CMAKE_SYSTEM_IGNORE_PATH /usr/include /usr/bin /usr/lib /usr/lib32 + /usr/lib64 ) +endif() # Call CMake's own FindPythonLibs.cmake. Note that the arguments created # for this script by CMake pass through to the official script. So we don't