--- /dev/null
+#if !defined(__CINT__) && !defined(__CLING__)
+# error Not for compilation
+#else
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ class AliHLTSampleComponent1+;
+#pragma link C++ class AliHLTSampleComponent2+;
+#pragma link C++ class AliHLTSampleCalibrationComponent+;
+#pragma link C++ class AliHLTSampleESDAnalysisComponent+;
+#pragma link C++ class AliHLTSampleRawAnalysisComponent+;
+#pragma link C++ class AliHLTSampleMonitoringComponent+;
+#pragma link C++ class AliHLTAgentSample+;
+#pragma link C++ class AliHLTSamplePreprocessor+;
+#pragma link C++ class AliHLTDummyComponent+;
+
+#endif // __CINT__
--- /dev/null
+# **************************************************************************
+# * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
+# * *
+# * Author: The ALICE Off-line Project. *
+# * Contributors are mentioned in the code where appropriate. *
+# * *
+# * Permission to use, copy, modify and distribute this software and its *
+# * documentation strictly for non-commercial purposes is hereby granted *
+# * without fee, provided that the above copyright notice appears in all *
+# * copies and that both the copyright notice and this permission notice *
+# * appear in the supporting documentation. The authors make no claims *
+# * about the suitability of this software for any purpose. It is *
+# * provided "as is" without express or implied warranty. *
+# **************************************************************************
+
+# Module
+set(MODULE AliHLTSample)
+
+# Module include folder
+include_directories(${CMAKE_SOURCE_DIR}/HLT/SampleLib)
+
+# Additional include folders in alphabetical order except ROOT
+include_directories(${ROOT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/HLT/BASE
+ ${CMAKE_SOURCE_DIR}/RAW/RAWDatabase
+ ${CMAKE_SOURCE_DIR}/RAW/RAWDatarec
+ ${CMAKE_SOURCE_DIR}/STEER/CDB
+ ${CMAKE_SOURCE_DIR}/STEER/ESD
+ ${CMAKE_SOURCE_DIR}/STEER/STEERBase
+ )
+
+# Sources in alphabetical order
+set(SRCS
+ AliHLTAgentSample.cxx
+ AliHLTDummyComponent.cxx
+ AliHLTSampleCalibrationComponent.cxx
+ AliHLTSampleComponent1.cxx
+ AliHLTSampleComponent2.cxx
+ AliHLTSampleESDAnalysisComponent.cxx
+ AliHLTSampleMonitoringComponent.cxx
+ AliHLTSamplePreprocessor.cxx
+ AliHLTSampleRawAnalysisComponent.cxx
+ )
+
+# Headers from sources
+string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
+
+# Generate the dictionary
+# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
+get_directory_property(incdirs INCLUDE_DIRECTORIES)
+generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
+
+# Generate the ROOT map
+# Dependecies
+set(LIBDEPS STEERBase CDB ESD RAWDatabase RAWDatarec HLTbase)
+generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
+
+# Add a library to the project using the specified source files
+add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
+
+# Additional compilation flags
+set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g")
+
+# System dependent: Modify the way the library is build
+if(${CMAKE_SYSTEM} MATCHES Darwin)
+ set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
+endif(${CMAKE_SYSTEM} MATCHES Darwin)
+
+# Installation
+install(TARGETS ${MODULE}
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
+
+install(FILES ${HDRS} DESTINATION include)
\ No newline at end of file
if(NOT ROOT_CONFIG)
message(FATAL_ERROR "Could not find root-config script.")
endif(NOT ROOT_CONFIG)
-
+
# Check for rlibmap
find_program(ROOT_LIBMAP NAMES rlibmap PATHS ${ROOTSYS}/bin NO_DEFAULT_PATH)
if(ROOT_LIBMAP)
message(FATAL_ERROR "Error retrieving ROOT version : ${error}")
endif(error)
string(STRIP ${ROOT_VERSION} ROOT_VERSION)
-
+
# Extract major, minor, and patch versions from
string(REGEX REPLACE "^([0-9]+)\\.[0-9][0-9]+\\/[0-9][0-9]+.*" "\\1" ROOT_VERSION_MAJOR "${ROOT_VERSION}")
string(REGEX REPLACE "^[0-9]+\\.([0-9][0-9])+\\/[0-9][0-9]+.*" "\\1" ROOT_VERSION_MINOR "${ROOT_VERSION}")
message(STATUS "ROOT was build with the following features: ${ROOT_FEATURES}")
endif(error)
string(STRIP ${ROOT_FEATURES} ROOT_FEATURES)
-
+
# Checking for ROOT libdir
execute_process(COMMAND ${ROOT_CONFIG} --libdir OUTPUT_VARIABLE ROOT_LIBDIR ERROR_VARIABLE error OUTPUT_STRIP_TRAILING_WHITESPACE )
if(error)
message(FATAL_ERROR "Error retrieving ROOT libdir: ${error}")
endif(error)
string(STRIP ${ROOT_LIBS} ROOT_LIBS)
-
+
foreach(lib ${ROOT_LIBS})
string(REPLACE "-rdynamic" "" new_lib ${lib})
string(REPLACE "-l" "" lib ${new_lib})
endforeach()
string(STRIP ${ROOT_LIBRARIES} ROOT_LIBRARIES)
separate_arguments(ROOT_LIBRARIES)
-
+
# Checking for ROOT incdir
execute_process(COMMAND ${ROOT_CONFIG} --incdir OUTPUT_VARIABLE ROOT_INCDIR ERROR_VARIABLE error OUTPUT_STRIP_TRAILING_WHITESPACE )
if(error)
message(FATAL_ERROR "Error retrieving ROOT incdir: ${error}")
endif(error)
string(STRIP ${ROOT_INCDIR} ROOT_INCDIR)
-
+
# Checking for glibs
execute_process(COMMAND ${ROOT_CONFIG} --noldflags --glibs OUTPUT_VARIABLE ROOT_GLIBS ERROR_VARIABLE error OUTPUT_STRIP_TRAILING_WHITESPACE )
if(error)
endforeach()
string(STRIP ${ROOT_GLIBRARIES} ROOT_GLIBRARIES)
separate_arguments(ROOT_GLIBRARIES)
-
+
# Checking for AliEn support
execute_process(COMMAND ${ROOT_CONFIG} --has-alien OUTPUT_VARIABLE ROOT_HASALIEN ERROR_VARIABLE error OUTPUT_STRIP_TRAILING_WHITESPACE )
if(error)
message(FATAL_ERROR "Error checking if ROOT was build with AliEn support: ${error}")
endif(error)
string(STRIP ${ROOT_HASALIEN} ROOT_HASALIEN)
-
+
# Checking for xml support
execute_process(COMMAND ${ROOT_CONFIG} --has-xml OUTPUT_VARIABLE ROOT_HASXML ERROR_VARIABLE error OUTPUT_STRIP_TRAILING_WHITESPACE )
if(error)
message(FATAL_ERROR "Error checking ROOT fortran compiler: ${error}")
endif(error)
string(STRIP ${ROOT_FORTRAN} ROOT_FORTRAN)
-
+
set(ROOT_FOUND TRUE)
else()
message(FATAL_ERROR "ROOT installation not found! Please point to the ROOT installation using -DROOTSYS=ROOT_INSTALL_DIR.")