-# AliRoot Build System CMakeLists for STRUCT
-#
-# Author: Johny Jose m(johny.jose@cern.ch)
-# Port of previous Makefile build to cmake
+# **************************************************************************
+# * 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. *
+# **************************************************************************
-cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
+# Module
+set(MODULE STRUCT)
-file(GLOB PACKAGES CMake*.pkg)
+# Module include folders
+include_directories(${CMAKE_SOURCE_DIR}/${MODULE})
-ALICE_BuildModule()
+# Additional include directories in alphabetical order except ROOT
+include_directories(${ROOT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/STEER/STEER
+ ${CMAKE_SOURCE_DIR}/STEER/STEERBase
+ )
+# Sources in alphabetical order
+set(SRCS
+ AliABSO.cxx
+ AliABSOv3.cxx
+ AliBODY.cxx
+ AliDIPO.cxx
+ AliDIPOv2.cxx
+ AliDIPOv3.cxx
+ AliFRAME.cxx
+ AliFRAMEv2.cxx
+ AliFRAMEv3.cxx
+ AliHALL.cxx
+ AliHALLv3.cxx
+ AliMAG.cxx
+ AliPIPE.cxx
+ AliPIPEupgrade.cxx
+ AliPIPEv0.cxx
+ AliPIPEv3.cxx
+ AliPIPEv4.cxx
+ AliSHIL.cxx
+ AliSHILv3.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 STEER)
+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)
+
+message(STATUS "${MODULE} enabled")
+++ /dev/null
-# -*- mode: CMake -*-
-#--------------------------------------------------------------------------------#
-# Package File for STRUCT #
-# Author : Johny Jose (johny.jose@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) #
-#--------------------------------------------------------------------------------#
-
-set ( SRCS
- AliMAG.cxx
- AliABSO.cxx
- AliDIPO.cxx
- AliDIPOv2.cxx
- AliDIPOv3.cxx
- AliFRAME.cxx
- AliFRAMEv2.cxx
- AliFRAMEv3.cxx
- AliHALL.cxx
- AliHALLv3.cxx
- AliSHIL.cxx
- AliABSOv3.cxx
- AliPIPE.cxx
- AliPIPEv0.cxx
- AliPIPEv3.cxx
- AliPIPEv4.cxx
- AliBODY.cxx
- AliSHILv3.cxx
- AliPIPEupgrade.cxx
- )
-
-string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
-
-set ( DHDR STRUCTLinkDef.h)
-set ( EINCLUDE STEER/STEER STEER/STEERBase)