Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / MICROCERN / CMakeLists.txt
CommitLineData
29bccb0a 1# **************************************************************************
2# * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
3# * *
4# * Author: The ALICE Off-line Project. *
5# * Contributors are mentioned in the code where appropriate. *
6# * *
7# * Permission to use, copy, modify and distribute this software and its *
8# * documentation strictly for non-commercial purposes is hereby granted *
9# * without fee, provided that the above copyright notice appears in all *
10# * copies and that both the copyright notice and this permission notice *
11# * appear in the supporting documentation. The authors make no claims *
12# * about the suitability of this software for any purpose. It is *
13# * provided "as is" without express or implied warranty. *
14# **************************************************************************
6d839a5c 15
29bccb0a 16# Module
17set(MODULE microcern)
6d839a5c 18
29bccb0a 19# Module include folder
427d561c 20include_directories(${AliRoot_SOURCE_DIR}/MICROCERN)
6d839a5c 21
29bccb0a 22# Additional include folders in alphabetical order except ROOT
f0315837 23include_directories(${ROOT_INCLUDE_DIR}
29bccb0a 24 )
25
26# Sources in alphabetical order
27set(SRCS
28 )
29
30# Fortran sources
31set(FSRCS
32 cltou.F
33 gamma.F
34 gamma64.F
35 sortzv.F
36 ufill.F
37 fint.F
38 abend.F
39 cfill.F
40 mtlprt.F
41 mtlset.F
42 kerset.F
43 gauss.F
44 getenvf.F
45 gauss64.F
46 )
47
48# C sources
49set(CSRCS
50 geteni.c
51 fchput.c
52 fchtak.c
53 dummies.c
54 )
55
56# On Darwin
57if(${CMAKE_SYSTEM} MATCHES Darwin)
58 set(CSRCS ${CSRCS} lnblnk.c)
59endif(${CMAKE_SYSTEM} MATCHES Darwin)
60
61# Headers from sources
62#string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
63
6f2765e2 64# System dependent definitions
65
66if(${CMAKE_SYSTEM} MATCHES Darwin)
67 add_definitions(-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC)
68endif(${CMAKE_SYSTEM} MATCHES Darwin)
69if(${CMAKE_SYSTEM} MATCHES Linux)
70 add_definitions(-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ)
71endif(${CMAKE_SYSTEM} MATCHES Linux)
72
29bccb0a 73# Generate the dictionary
74# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
75#get_directory_property(incdirs INCLUDE_DIRECTORIES)
76#generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
77
78# Generate the ROOT map
79# Dependecies
80set(LIBDEPS)
81generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
82
83
84# Add a library to the project using the specified source files
85add_library(${MODULE} SHARED ${SRCS} ${FSRCS} ${CSRCS})
86
87# Additional compilation flags
68aeb13b 88set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
29bccb0a 89
90# System dependent: Modify the way the library is build
91if(${CMAKE_SYSTEM} MATCHES Darwin)
92 set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
93endif(${CMAKE_SYSTEM} MATCHES Darwin)
94
95# Installation
96install(TARGETS ${MODULE}
97 ARCHIVE DESTINATION lib
98 LIBRARY DESTINATION lib)
99
100#install(FILES ${HDRS} DESTINATION include)