mana-core-gaudikernel / cmt / requirements

Full commit
package GaudiKernel
version v27r13
author "LHCb Gaudi Team"

branches GaudiKernel cmt doc src

# cannot be used in GaudiKernel
# Note: the tag must be set before including GaudiPolicy
apply_tag skip_genconfuser

use GaudiPolicy  *
use Reflex       *   LCG_Interfaces
use Boost        *   LCG_Interfaces

apply_pattern install_more_includes more=GaudiKernel

#-----Linker library
library GaudiKernel -no_static Lib/*.cpp
apply_pattern linker_library library=GaudiKernel
apply_pattern ld_library_path
apply_pattern install_scripts
apply_pattern install_python_modules

#-----Dictionary generation

apply_pattern reflex_dictionary dictionary=GaudiKernel \
                                headerfiles=$(GAUDIKERNELROOT)/dict/dictionary.h \
macro GaudiKernelDict_use_linkopts $(use_linkopts)
# MCl: ensure that the headers are installed before the build of the dictionary (should not be needed)
macro_append GaudiKernelGen_dependencies "install_more_includes"

#-----Generate Configurables 
macro genconfig_cmd           $(GAUDIKERNELROOT)/$(tag)/genconf.exe \
     GAUDI_with_installarea  genconf.exe \
     GAUDIATLAS_with_installarea  genconf.exe


application genconf -import=Boost Util/genconf.cpp
macro_append genconflinkopts "$(GaudiKernel_linkopts) $(Boost_linkopts) $(Boost_linkopts_filesystem) $(Boost_linkopts_program_options)"
macro genconf_dependencies GaudiKernel

# FIXME: (MCl) I do not understand why genconf gets the CppUnit link options,
#        but it happens, so I have to explicitly remove them.
macro_remove genconflinkopts "$(CppUnit_linkopts)"

macro_append cppflags "" \
         target-linux " -pedantic -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-long-long " \
        target-darwin "" \
         target-winxp ""

## For Gaudi::Sleep and Gaudi::NanoSleep
macro_append Boost_linkopts ' $(Boost_linkopts_thread) $(Boost_linkopts_date_time)' 

## For DirSearchPath
macro_append Boost_linkopts ' $(Boost_linkopts_system) $(Boost_linkopts_filesystem) '

application DirSearchPath_test -group=tests ../tests/src/DirSearchPath_test.cpp

application PathResolver_test -group=tests ../tests/src/PathResolver_test.cpp

use CppUnit * LCG_Interfaces -no_auto_imports

application test_SerializeSTL -group=tests -import=CppUnit \
# FIXME: (MCl) this hides warnings from a broken header file in CppUnit, but may
#              hide problems in the actual test source.
macro_append app_test_SerializeSTL_cppflags ' -Wno-unused-parameter ' \
                           no-hide-warnings '' \
                               target-winxp '' \
                                 target-icc ''

# FIXME: (MCl) hides the warning due to hidden virtual functions in the __shadow__ classes
#              generated in the dictionaries.
macro_append dictionary_dict_cpp_cppflags ' -Wno-overloaded-virtual ' no-hide-warnings '' target-winxp ''

apply_pattern QMTest