Skip to content
Snippets Groups Projects
Commit 66f98a0b authored by Marco Clemencic's avatar Marco Clemencic
Browse files

Add test build of public headers (again)

See merge request gaudi/Gaudi!1394
parents 4db49345 bd537801
No related branches found
No related tags found
1 merge request!1394Add test build of public headers (again)
Pipeline #4769321 passed
Showing
with 56 additions and 251 deletions
...@@ -52,8 +52,10 @@ default: ...@@ -52,8 +52,10 @@ default:
- .ccache - .ccache
.build-check: &template_build_check .build-check: &template_build_check
variables:
LOG: build/build.log
script: script:
- ci-utils/build-check build/build.log - ci-utils/build-check ${LOG}
allow_failure: true allow_failure: true
.test: &template_test .test: &template_test
...@@ -77,6 +79,25 @@ default: ...@@ -77,6 +79,25 @@ default:
when: always when: always
expire_in: 1 week expire_in: 1 week
.test_headers: &template_test_headers
tags:
- cvmfs
script:
- export CCACHE_DIR=$PWD/.ccache_headers
- find build -type f -exec touch -d $(date +@%s) \{} \; # not to re-run cmake
- ccache -z
- cmake --build build --target test_public_headers_build 2>&1 | tee build/test_public_headers_build.log
- ccache -s
artifacts:
paths:
- build/test_public_headers_build.log
when: always
expire_in: 1 week
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- .ccache_headers
### Build ### Build
x86_64-centos7-gcc11-opt: x86_64-centos7-gcc11-opt:
...@@ -135,12 +156,24 @@ x86_64-centos7-gcc11-opt:test: ...@@ -135,12 +156,24 @@ x86_64-centos7-gcc11-opt:test:
- job: "x86_64-centos7-gcc11-opt" - job: "x86_64-centos7-gcc11-opt"
artifacts: true artifacts: true
x86_64-centos7-gcc11-opt:test_headers:
<<: *template_test_headers
needs:
- job: "x86_64-centos7-gcc11-opt"
artifacts: true
x86_64-centos7-gcc11-dbg:test: x86_64-centos7-gcc11-dbg:test:
<<: *template_test <<: *template_test
needs: needs:
- job: "x86_64-centos7-gcc11-dbg" - job: "x86_64-centos7-gcc11-dbg"
artifacts: true artifacts: true
x86_64-centos7-gcc11-dbg:test_headers:
<<: *template_test_headers
needs:
- job: "x86_64-centos7-gcc11-dbg"
artifacts: true
view-gcc8:test: view-gcc8:test:
<<: *template_test <<: *template_test
needs: needs:
...@@ -189,6 +222,22 @@ x86_64-centos7-gcc11-dbg:build-check: ...@@ -189,6 +222,22 @@ x86_64-centos7-gcc11-dbg:build-check:
- job: "x86_64-centos7-gcc11-dbg" - job: "x86_64-centos7-gcc11-dbg"
artifacts: true artifacts: true
x86_64-centos7-gcc11-opt:build-headers-check:
<<: *template_build_check
variables:
LOG: build/test_public_headers_build.log
needs:
- job: "x86_64-centos7-gcc11-opt:test_headers"
artifacts: true
x86_64-centos7-gcc11-dbg:build-headers-check:
<<: *template_build_check
variables:
LOG: build/test_public_headers_build.log
needs:
- job: "x86_64-centos7-gcc11-dbg:test_headers"
artifacts: true
view-gcc8:build-check: view-gcc8:build-check:
<<: *template_build_check <<: *template_build_check
needs: needs:
......
...@@ -194,6 +194,7 @@ install(EXPORT ${PROJECT_NAME} NAMESPACE ${PROJECT_NAME}:: ...@@ -194,6 +194,7 @@ install(EXPORT ${PROJECT_NAME} NAMESPACE ${PROJECT_NAME}::
DESTINATION "${GAUDI_INSTALL_CONFIGDIR}") DESTINATION "${GAUDI_INSTALL_CONFIGDIR}")
# Install cmake files for downstream project to be able to use Gaudi # Install cmake files for downstream project to be able to use Gaudi
gaudi_install(CMAKE cmake/GaudiToolbox.cmake gaudi_install(CMAKE cmake/GaudiToolbox.cmake
cmake/header_build_test.tpl
cmake/GaudiDependencies.cmake cmake/GaudiDependencies.cmake
cmake/DeveloperBuildType.cmake cmake/DeveloperBuildType.cmake
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
* or submit itself to any jurisdiction. * * or submit itself to any jurisdiction. *
\*****************************************************************************/ \*****************************************************************************/
#include "GaudiAlg/FunctionalDetails.h" #include "GaudiAlg/FunctionalDetails.h"
#include "GaudiAlg/FunctionalUtilities.h"
#include "GaudiKernel/IBinder.h" #include "GaudiKernel/IBinder.h"
#define GAUDI_FUNCTIONAL_TOOL_BINDER_USES_CREATE #define GAUDI_FUNCTIONAL_TOOL_BINDER_USES_CREATE
......
...@@ -24,6 +24,7 @@ if(GAUDI_USE_AIDA) ...@@ -24,6 +24,7 @@ if(GAUDI_USE_AIDA)
PUBLIC GaudiKernel PUBLIC GaudiKernel
Boost::system Boost::system
Boost::filesystem Boost::filesystem
Rangev3::rangev3
ROOT::Hist ROOT::Hist
ROOT::RIO ROOT::RIO
AIDA::aida) AIDA::aida)
......
...@@ -10,9 +10,6 @@ ...@@ -10,9 +10,6 @@
##################################################################################### #####################################################################################
# GaudiHive subdirectory # GaudiHive subdirectory
# Register the header only library (install include/)
gaudi_add_header_only_library(GaudiHiveHeaders)
# Build the plugin # Build the plugin
gaudi_add_module(GaudiHive gaudi_add_module(GaudiHive
SOURCES src/AlgResourcePool.cpp SOURCES src/AlgResourcePool.cpp
...@@ -37,8 +34,7 @@ gaudi_add_module(GaudiHive ...@@ -37,8 +34,7 @@ gaudi_add_module(GaudiHive
src/ThreadPoolSvc.cpp src/ThreadPoolSvc.cpp
src/TimelineSvc.cpp src/TimelineSvc.cpp
src/ViewTester.cpp src/ViewTester.cpp
LINK GaudiHiveHeaders LINK GaudiKernel
GaudiKernel
GaudiAlgLib GaudiAlgLib
Boost::headers Boost::headers
Boost::system Boost::system
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* or submit itself to any jurisdiction. * * or submit itself to any jurisdiction. *
\***********************************************************************************/ \***********************************************************************************/
// Local includes // Local includes
#include "GaudiHive/HiveSlimEventLoopMgr.h" #include "HiveSlimEventLoopMgr.h"
#include "HistogramAgent.h" #include "HistogramAgent.h"
// Framework includes // Framework includes
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* granted to it by virtue of its status as an Intergovernmental Organization * * granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. * * or submit itself to any jurisdiction. *
\***********************************************************************************/ \***********************************************************************************/
#include "GaudiHive/HiveTestAlgorithm.h" #include "HiveTestAlgorithm.h"
#include "GaudiKernel/MsgStream.h" #include "GaudiKernel/MsgStream.h"
#include "GaudiKernel/ThreadLocalContext.h" #include "GaudiKernel/ThreadLocalContext.h"
......
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#ifndef GAUDIKERNEL_ALGFACTORY_H
#define GAUDIKERNEL_ALGFACTORY_H
#warning "obsolete empty header, please remove it"
#endif // GAUDIKERNEL_ALGFACTORY_H
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#ifndef GAUDIKERNEL_AUDFACTORY_H
#define GAUDIKERNEL_AUDFACTORY_H
#warning "obsolete empty header, please remove it"
#endif // GAUDIKERNEL_AUDFACTORY_H
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#ifndef GAUDIKERNEL_CNVFACTORY_H
#define GAUDIKERNEL_CNVFACTORY_H
#warning "obsolete empty header, please remove it"
#endif // GAUDIKERNEL_CNVFACTORY_H
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#include <GAUDI_VERSION.h>
#if GAUDI_VERSION >= CALC_GAUDI_VERSION( 33, 0 ) && GAUDI_MAJOR_VERSION < 999
# pragma message "warning: deprecated header, use <Gaudi/Accumulators.h> instead"
#endif
#include <Gaudi/Accumulators.h>
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#ifndef GAUDIKERNEL_DECLAREFACTORYENTRIES_H
#define GAUDIKERNEL_DECLAREFACTORYENTRIES_H 1
#warning "obsolete empty header, please remove it"
#endif // GAUDIKERNEL_DECLAREFACTORYENTRIES_H
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#pragma once
#include <GAUDI_VERSION.h>
#if GAUDI_MAJOR_VERSION < 999
# if GAUDI_VERSION >= CALC_GAUDI_VERSION( 35, 0 )
# error "deprecated header: removed in v35r0, use <Gaudi/Property.h>"
# elif GAUDI_VERSION >= CALC_GAUDI_VERSION( 34, 0 )
# warning "deprecated header: to be removed in v35r0, use <Gaudi/Property.h>"
# endif
#endif
#include <Gaudi/Property.h>
/// \fixme backward compatibility hack for old Property base class
using Property
//[[deprecated("use Gaudi::Details::PropertyBase instead")]]
= Gaudi::Details::PropertyBase;
/// \fixme backward compatibility hack for PropertyWithValue
template <class TYPE, class VERIFIER = Gaudi::Details::Property::NullVerifier,
class HANDLERS = Gaudi::Details::Property::UpdateHandler>
using PropertyWithValue
//[[deprecated("use Gaudi::Property instead")]]
= Gaudi::Property<TYPE, VERIFIER, HANDLERS>;
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#pragma once
#include <GAUDI_VERSION.h>
#if GAUDI_MAJOR_VERSION < 999
# if GAUDI_VERSION >= CALC_GAUDI_VERSION( 35, 0 )
# error "deprecated header: removed in v35r0, use <Gaudi/PropertyFwd.h>"
# elif GAUDI_VERSION >= CALC_GAUDI_VERSION( 34, 0 )
# warning "deprecated header: to be removed in v35r0, use <Gaudi/PropertyFwd.h>"
# endif
#endif
#include <Gaudi/PropertyFwd.h>
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#ifndef GAUDIKERNEL_PROPERTYLIST_H
#define GAUDIKERNEL_PROPERTYLIST_H
// Include Files
#include "GaudiKernel/IProperty.h"
#include "Property.h"
#include <vector>
/** @class PropertyList PropertyList.h GaudiKernel/PropertyList.h
List of properties.
@author David Quarrie
@author Pere Mato
*/
class GAUDI_API PropertyList : public Property {
public:
/// Constructor
PropertyList();
/// Constructor giving a name
PropertyList( const std::string& name );
/// Virtual destructor
virtual ~PropertyList();
/// Accessor members (const)
bool isRef() const { return false; }
/// Add a property to the list
void addProperty( const std::string& name, Property& p );
/// Add a property to the list
void addProperty( Property& p );
/// Remove a property from the list
void removeProperty( const std::string& name );
/// Remove a property from the list
void removeProperty( Property& p );
/// Property implementation: set property
bool assign( const Property& p ) override;
/// Property implementation: get property
bool load( Property& p ) const override;
/// Property implementation: set property
bool assign( const std::string& name, const Property& p );
/// Property implementation: get property
bool load( const std::string& name, Property& p ) const;
/// Get the property with a given name
const Property& getProperty( std::string_view name ) const;
/// Get the complete list of properties
const std::vector<Property*>& getProperties() const;
private:
std::vector<Property*> m_propertyList;
};
#endif // GAUDIKERNEL_PROPERTYLIST_H
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#warning deprecated header, do not use it (will be removed in Gaudi v29r0)
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#warning deprecated header, do not use it (will be removed in Gaudi v29r0)
/***********************************************************************************\
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
* *
* This software is distributed under the terms of the Apache version 2 licence, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\***********************************************************************************/
#ifndef GAUDIKERNEL_REFTABLE_H
#define GAUDIKERNEL_REFTABLE_H 1
#ifndef GAUDI_TEST_PUBLIC_HEADERS_BUILD
# warning Obsolete header file.
#endif // GAUDI_TEST_PUBLIC_HEADERS_BUILD
#endif // GAUDIKERNEL_REFTABLE_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment