Newer
Older
MACRO (WRITE_CONFIG_FILE filename)
MESSAGE(STATUS "filename ${filename}")
IF(${filename} MATCHES "[.]csh")
SET(CSH_OUT TRUE)
ELSE(${filename} MATCHES "[.]csh")
SET(CSH_OUT FALSE)
ENDIF(${filename} MATCHES "[.]csh")
SET(PAWIANLIBDIR ${CMAKE_CURRENT_BINARY_DIR}/lib)
IF(CMAKE_SYSTEM_NAME MATCHES Linux)
SET(LD_LIBRARY_PATH ${PAWIANLIBDIR} ${LD_LIBRARY_PATH} /usr/lib /usr/X11R6/lib)
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
ELSE(CMAKE_SYSTEM_NAME MATCHES Linux)
IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
SET(LD_LIBRARY_PATH ${FAIRLIBDIR} ${LD_LIBRARY_PATH})
ENDIF(CMAKE_SYSTEM_NAME MATCHES Darwin)
ENDIF(CMAKE_SYSTEM_NAME MATCHES Linux)
# configure_file(${PROJECT_SOURCE_DIR}/CMakeModules/scripts/check_system.sh.in
# ${CMAKE_CURRENT_BINARY_DIR}/check_system.sh
# )
# IF(CMAKE_SYSTEM_NAME MATCHES Linux)
# FILE(READ /etc/issue _linux_flavour)
# STRING(REGEX REPLACE "[\\]" " " _result1 "${_linux_flavour}")
# STRING(REGEX REPLACE "\n" ";" _result "${_result1}")
# SET(_counter 0)
# FOREACH(_line ${_result})
# if (_counter EQUAL 0)
# SET(_counter 1)
# set(_linux_flavour ${_line})
# endif (_counter EQUAL 0)
# ENDFOREACH(_line ${_result})
# EXECUTE_PROCESS(COMMAND uname -m
# OUTPUT_VARIABLE _system
# OUTPUT_STRIP_TRAILING_WHITESPACE
# )
#
# WRITE_TO_FILE(${filename} Linux_Flavour_ ${_linux_flavour} "")
# WRITE_TO_FILE(${filename} System_ ${_system} APPEND)
# WRITE_FILE(${filename} ". ${CMAKE_CURRENT_BINARY_DIR}/check_system.sh" APPEND)
# WRITE_FILE(${filename} " if [ \"$same_system\" == \"1\" ]; then" APPEND)
# ENDIF(CMAKE_SYSTEM_NAME MATCHES Linux)
MESSAGE("config filename: " ${filename})
WRITE_TO_FILE(${filename} CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR} APPEND)
WRITE_TO_FILE(${filename} GENEVA_ROOT ${GENEVA_ROOT} APPEND)
if(BOOST_ROOT)
WRITE_TO_FILE(${filename} BOOST_ROOT ${BOOST_ROOT} APPEND)
endif(BOOST_ROOT)
Bertram Kopf
committed
if(Minuit2_ROOT)
WRITE_TO_FILE(${filename} Minuit2_ROOT ${Minuit2_ROOT} APPEND)
endif(Minuit2_ROOT)
WRITE_TO_FILE(${filename} ROOTSYS ${ROOTSYS} APPEND)
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
CONVERT_LIST_TO_STRING(${LD_LIBRARY_PATH})
IF(CMAKE_SYSTEM_NAME MATCHES Linux)
WRITE_TO_FILE(${filename} LD_LIBRARY_PATH ${output} APPEND)
ELSE(CMAKE_SYSTEM_NAME MATCHES Linux)
IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
WRITE_TO_FILE(${filename} DYLD_LIBRARY_PATH ${output} APPEND)
ENDIF(CMAKE_SYSTEM_NAME MATCHES Darwin)
ENDIF(CMAKE_SYSTEM_NAME MATCHES Linux)
IF($ENV{PATH} MATCHES ^${ROOT_BINARY_DIR})
SET (PATH "$ENV{PATH}")
ELSE()
SET (PATH "${ROOT_BINARY_DIR}:$ENV{PATH}")
ENDIF($ENV{PATH} MATCHES ^${ROOT_BINARY_DIR})
CONVERT_LIST_TO_STRING(${PATH})
WRITE_TO_FILE(${filename} PATH ${output} APPEND)
ENDMACRO (WRITE_CONFIG_FILE)
MACRO (CONVERT_LIST_TO_STRING)
set (tmp "")
foreach (_current ${ARGN})
set(tmp1 ${tmp})
set(tmp "")
set(tmp ${tmp1}:${_current})
endforeach (_current ${ARGN})
STRING(REGEX REPLACE "^:(.*)" "\\1" output ${tmp})
ENDMACRO (CONVERT_LIST_TO_STRING LIST)
MACRO (WRITE_TO_FILE FILENAME ENVVARIABLE VALUE OPTION)
IF(CSH_OUT)
WRITE_FILE(${FILENAME} "setenv ${ENVVARIABLE} \"${VALUE}\"" ${OPTION})
ELSE(CSH_OUT)
WRITE_FILE(${FILENAME} "export ${ENVVARIABLE}=\"${VALUE}\"" ${OPTION})
ENDIF(CSH_OUT)
ENDMACRO (WRITE_TO_FILE)
MACRO(UNIQUE var_name list)
#######################################################################
# Make the given list have only one instance of each unique element and
# store it in var_name.
#######################################################################
SET(unique_tmp "")
FOREACH(l ${list})
STRING(REGEX REPLACE "[+]" "\\\\+" l1 ${l})
IF(NOT "${unique_tmp}" MATCHES "(^|;)${l1}(;|$)")
SET(unique_tmp ${unique_tmp} ${l})
ENDIF(NOT "${unique_tmp}" MATCHES "(^|;)${l1}(;|$)")
ENDFOREACH(l)
SET(${var_name} ${unique_tmp})
ENDMACRO(UNIQUE)