From 8c8d95e21d57567bb553c493b3b4947bc35451c1 Mon Sep 17 00:00:00 2001 From: hristov Date: Fri, 5 Dec 2014 22:01:54 +0100 Subject: [PATCH] Converting PWGPPpid to native cmake --- PWGPP/CMakeLists.txt | 3 ++ PWGPP/CMakelibPWGPPpid.pkg | 49 --------------------- PWGPP/pid/CMakeLists.txt | 72 +++++++++++++++++++++++++++++++ PWGPP/{ => pid}/PWGPPpidLinkDef.h | 0 4 files changed, 75 insertions(+), 49 deletions(-) delete mode 100644 PWGPP/CMakelibPWGPPpid.pkg create mode 100644 PWGPP/pid/CMakeLists.txt rename PWGPP/{ => pid}/PWGPPpidLinkDef.h (100%) diff --git a/PWGPP/CMakeLists.txt b/PWGPP/CMakeLists.txt index 4a2aec31c56..4621b32faf5 100644 --- a/PWGPP/CMakeLists.txt +++ b/PWGPP/CMakeLists.txt @@ -13,6 +13,9 @@ # * provided "as is" without express or implied warranty. * # **************************************************************************/ +# Libraries from subdirectories +add_subdirectory(pid) + #Module set (MODULE PWGPP) diff --git a/PWGPP/CMakelibPWGPPpid.pkg b/PWGPP/CMakelibPWGPPpid.pkg deleted file mode 100644 index a7f715ba464..00000000000 --- a/PWGPP/CMakelibPWGPPpid.pkg +++ /dev/null @@ -1,49 +0,0 @@ -# -*- mode: CMake -*- -#--------------------------------------------------------------------------------# -# Package File for PWGPPpid # -# Author : Francesco Noferini (fnoferin@cern.ch) # -# Variables Defined : # -# # -# SRCS - C++ source files # -# HDRS - C++ header files # -# DHDR - ROOT Dictionary Linkdef header file # -# CSRCS - C source files # -# CHDRS - C header files # -# EINCLUDE - Include directories # -# EDEFINE - Compiler definitions # -# ELIBS - Extra libraries to link # -# ELIBSDIR - Extra library directories # -# PACKFFLAGS - Fortran compiler flags for package # -# PACKCXXFLAGS - C++ compiler flags for package # -# PACKCFLAGS - C compiler flags for package # -# PACKSOFLAGS - Shared library linking flags # -# PACKLDFLAGS - Module linker flags # -# PACKBLIBS - Libraries to link (Executables only) # -# EXPORT - Header files to be exported # -# CINTHDRS - Dictionary header files # -# CINTAUTOLINK - Set automatic dictionary generation # -# ARLIBS - Archive Libraries and objects for linking (Executables only) # -# SHLIBS - Shared Libraries and objects for linking (Executables only) # -#--------------------------------------------------------------------------------# -#file ( GLOB SRCS16 "pid/*.cxx" ) -set ( SRCS16 - pid/AliAnalysisTaskK0sBayes.cxx - pid/AliAnalysisTaskLambdaBayes.cxx - pid/AliAnalysisTaskPhiBayes.cxx - pid/AliPIDmaxProb.cxx - pid/AliPIDperfContainer.cxx - pid/AliPIDperfCut.cxx - ) - -list ( APPEND SRCS - ${SRCS16} - ) - - -string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" ) - -set ( DHDR PWGPPpidLinkDef.h) - -set ( EXPORT ) - -set ( EINCLUDE PWGPP/pid STEER/STEER STEER/STEERBase STEER/AOD STEER/ESD ANALYSIS) diff --git a/PWGPP/pid/CMakeLists.txt b/PWGPP/pid/CMakeLists.txt new file mode 100644 index 00000000000..c8a68d9aafd --- /dev/null +++ b/PWGPP/pid/CMakeLists.txt @@ -0,0 +1,72 @@ +# ************************************************************************** +# * 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 PWGPPpid) + +# Module include folder +include_directories(${AliRoot_SOURCE_DIR}/PWGPP/pid) + +# Additional includes - alphabetical order except ROOT +include_directories(${ROOT_INCLUDE_DIRS} + ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSIS + ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSISalice + ${AliRoot_SOURCE_DIR}/STEER/AOD + ${AliRoot_SOURCE_DIR}/STEER/ESD + ${AliRoot_SOURCE_DIR}/STEER/STEERBase + ) + +# Sources - alphabetical order +set(SRCS + AliAnalysisTaskK0sBayes.cxx + AliAnalysisTaskLambdaBayes.cxx + AliAnalysisTaskPhiBayes.cxx + AliPIDmaxProb.cxx + AliPIDperfContainer.cxx + AliPIDperfCut.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}") + +# Add a shared library +add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx) + +# Generate the ROOT map +# Dependecies +set(LIBDEPS ANALYSISalice) +generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") + +# Linking the library +target_link_libraries(${MODULE} ${LIBDEPS}) + +# Public include folders that will be propagated to the dependecies +target_include_directories(${MODULE} PUBLIC ${incdirs}) + +# 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) diff --git a/PWGPP/PWGPPpidLinkDef.h b/PWGPP/pid/PWGPPpidLinkDef.h similarity index 100% rename from PWGPP/PWGPPpidLinkDef.h rename to PWGPP/pid/PWGPPpidLinkDef.h -- 2.43.0