-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFindMoja.cmake
More file actions
321 lines (287 loc) · 8.11 KB
/
FindMoja.cmake
File metadata and controls
321 lines (287 loc) · 8.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
54
55
56
57
58
59
60
61
62
63
64
65
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
SET(SEARCH_PATH_MOJA "" CACHE PATH "Additional Moja search path")
SET(SEARCH_PATH_LIB_MOJA "" CACHE PATH "Additional Moja library search path")
SET(MOJA_INCLUDE_PATH_DESCRIPTION "top-level directory containing the moja include directories. E.g /usr/local/include/ or c:\\moja\\include\\moja_1_0_3")
SET(MOJA_INCLUDE_DIR_MESSAGE "Set the MOJA_INCLUDE_DIR cmake cache entry to the ${MOJA_INCLUDE_PATH_DESCRIPTION}")
SET(MOJA_LIBRARY_PATH_DESCRIPTION "top-level directory containing the moja libraries.")
SET(MOJA_LIBRARY_DIR_MESSAGE "Set the Moja_LIBRARY_DIR cmake cache entry to the ${MOJA_LIBRARY_PATH_DESCRIPTION}")
SET(SEARCH_PATH_MOJA "" CACHE PATH "Additional Moja search path")
if(CMAKE_SYSTEM MATCHES "Windows")
SET(MOJA_DIR_SEARCH
$ENV{MOJA_ROOT}
${SEARCH_PATH_MOJA}
${MOJA_DIR_SEARCH}
)
SET(MOJA_LIB_DIR_SEARCH
$ENV{MOJA_ROOT}
${SEARCH_PATH_LIB_MOJA}
${MOJA_DIR_SEARCH}
)
SET(MOJA_LIBNAME "moja")
if (EXISTS "C:/")
SET(MOJA_DIR_SEARCH
${MOJA_DIR_SEARCH}
"C:/Development/moja.global/dist"
"C:/Development/moja.global/dist/lib/Debug"
"C:/Development/moja.global/dist/lib/Release"
"C:/Development/Software/moja/moja_develop"
)
SET(MOJA_LIB_DIR_SEARCH
${MOJA_LIB_DIR_SEARCH}
"C:/Development/moja.global/dist"
"C:/Development/moja.global/dist/lib/Debug"
"C:/Development/moja.global/dist/lib/Release"
"C:/Development/Software/moja/moja_develop"
)
endif()
endif()
if (CMAKE_SYSTEM MATCHES "Linux" )
SET(MOJA_DIR_SEARCH
${MOJA_DIR_SEARCH}
# /usr/local/include/
/usr/local/
)
SET(MOJA_LIB_DIR_SEARCH
${MOJA_LIB_DIR_SEARCH}
# /usr/local/lib/
/usr/local/
/usr/lib/x86_64-linux-gnu/
)
endif(CMAKE_SYSTEM MATCHES "Linux")
SET(SUFFIX_FOR_INCLUDE_PATH
moja_develop
moja.develop
moja_1_0_5
moja_1_0_4
moja_1_0_3
moja_1_0_1
moja
)
SET(SUFFIX_FOR_LIBRARY_PATH
moja_develop/lib
moja_develop/bin
moja.develop/lib
moja.develop/bin
moja_1_0_5/lib
moja_1_0_5/bin
moja_1_0_4/lib
moja_1_0_4/bin
moja_1_0_3/lib
moja_1_0_3/bin
moja_1_0_1/lib
moja_1_0_1/bin
lib
bin
moja/lib
moja/bin
)
#
# Look for an installation.
#
FIND_PATH(
MOJA_INCLUDE_DIR NAMES
include/moja/itiming.h
PATH_SUFFIXES
${SUFFIX_FOR_INCLUDE_PATH}
PATHS
# Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_DIR_SEARCH}
DOC
# Help the user find it if we cannot.
"The ${MOJA_INCLUDE_PATH_DESCRIPTION}"
)
#
# Look for standard unix include paths
#
IF(NOT MOJA_INCLUDE_DIR)
FIND_PATH(
MOJA_INCLUDE_DIR
moja/itiming.h
DOC
"The ${MOJA_INCLUDE_PATH_DESCRIPTION}"
)
ENDIF(NOT MOJA_INCLUDE_DIR)
#
# Assume we didn't find it.
#
SET(Moja_FOUND 0)
#
# Now try to get the include and library path.
#
SET(Moja_INCLUDE_DIRS
${MOJA_INCLUDE_DIR}/include
CACHE PATH
"Location of Moja include files"
)
SET(Moja_FOUND 1)
IF(NOT MOJA_LIBRARY_DIR)
FIND_LIBRARY(
MOJA_LIB NAMES
moja.core moja.cored
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
PATHS
# Look in other places.
${Moja_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
DOC
# Help the user find it if we cannot.
"The ${MOJA_LIBRARY_PATH_DESCRIPTION}"
)
GET_FILENAME_COMPONENT(MOJA_LIBRARY_DIR ${MOJA_LIB} PATH CACHE)
IF(Moja_LIBRARY_DIR)
# Look for the moja binary path.
SET(Moja_BINARY_DIR ${MOJA_INCLUDE_DIR})
IF(Moja_BINARY_DIR AND EXISTS "${Moja_BINARY_DIR}/bin64")
SET(Moja_BINARY_DIRS ${Moja_BINARY_DIR}/bin64 CACHE PATH "Path to Moja binaries")
ENDIF(Moja_BINARY_DIR AND EXISTS "${Moja_BINARY_DIR}/bin64")
ENDIF(Moja_LIBRARY_DIR)
# Debug lubraries
find_library(
Moja_CORE_DEBUG NAMES
moja.cored
moja.cored_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
debug
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
find_library(
Moja_DATAREPOSITORY_DEBUG NAMES
moja.datarepositoryd
moja.datarepositoryd_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
debug
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
find_library(
Moja_FLINT_CONFIGURATION_DEBUG NAMES
moja.flint.configurationd
moja.flint.configurationd_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
debug
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
find_library(
Moja_FLINT_DEBUG NAMES
moja.flintd
moja.flintd_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
debug
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
# Release lubraries
find_library(
Moja_CORE_RELEASE NAMES
moja.core
moja.core_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
release
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
find_library(
Moja_DATAREPOSITORY_RELEASE NAMES
moja.datarepository
moja.datarepository_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
release
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
find_library(
Moja_FLINT_CONFIGURATION_RELEASE NAMES
moja.flint.configuration
moja.flint.configuration_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
release
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
find_library(
Moja_FLINT_RELEASE NAMES
moja.flint
moja.flint_dll
PATH_SUFFIXES
${SUFFIX_FOR_LIBRARY_PATH}
release
PATHS # Look in other places.
${MOJA_INCLUDE_DIR}
${MOJA_LIB_DIR_SEARCH}
)
if(Moja_CORE_DEBUG AND NOT Moja_CORE_RELEASE)
set(Moja_CORE ${Moja_CORE_DEBUG} CACHE STRING "Moja core link library text")
endif()
if(Moja_CORE_RELEASE AND NOT Moja_CORE_DEBUG)
set(Moja_CORE ${Moja_CORE_RELEASE} CACHE STRING "Moja core link library text")
endif()
if(Moja_CORE_RELEASE AND Moja_CORE_DEBUG)
set(Moja_CORE debug ${Moja_CORE_DEBUG}
optimized ${Moja_CORE_RELEASE}
CACHE STRING "Moja core link library text")
endif()
if(Moja_DATAREPOSITORY_DEBUG AND NOT Moja_DATAREPOSITORY_RELEASE)
set(Moja_DATAREPOSITORY ${Moja_DATAREPOSITORY_DEBUG} CACHE STRING "Moja datarepository link library text")
endif()
if(Moja_DATAREPOSITORY_RELEASE AND NOT Moja_DATAREPOSITORY_DEBUG)
set(Moja_DATAREPOSITORY ${Moja_DATAREPOSITORY_RELEASE} CACHE STRING "Moja datarepository link library text")
endif()
if(Moja_DATAREPOSITORY_RELEASE AND Moja_DATAREPOSITORY_DEBUG)
set(Moja_DATAREPOSITORY debug ${Moja_DATAREPOSITORY_DEBUG}
optimized ${Moja_DATAREPOSITORY_RELEASE}
CACHE STRING "Moja datarepository link library text")
endif()
if(Moja_FLINT_CONFIGURATION_DEBUG AND NOT Moja_FLINT_CONFIGURATION_RELEASE)
set(Moja_FLINT_CONFIGURATION ${Moja_FLINT_CONFIGURATION_DEBUG} CACHE STRING "Moja flint configuration link library text")
endif()
if(Moja_FLINT_CONFIGURATION_RELEASE AND NOT Moja_FLINT_CONFIGURATION_DEBUG)
set(Moja_FLINT_CONFIGURATION ${Moja_FLINT_CONFIGURATION_RELEASE} CACHE STRING "Moja flint configuration link library text")
endif()
if(Moja_FLINT_CONFIGURATION_RELEASE AND Moja_FLINT_CONFIGURATION_DEBUG)
set(Moja_FLINT_CONFIGURATION debug ${Moja_FLINT_CONFIGURATION_DEBUG}
optimized ${Moja_FLINT_CONFIGURATION_RELEASE}
CACHE STRING "Moja flint configuration link library text")
endif()
if(Moja_FLINT_DEBUG AND NOT Moja_FLINT_RELEASE)
set(Moja_FLINT ${Moja_FLINT_DEBUG} CACHE STRING "Moja flint link library text")
endif()
if(Moja_FLINT_RELEASE AND NOT Moja_FLINT_DEBUG)
set(Moja_FLINT ${Moja_FLINT_RELEASE} CACHE STRING "Moja flint link library text")
endif()
if(Moja_FLINT_RELEASE AND Moja_FLINT_DEBUG)
set(Moja_FLINT debug ${Moja_FLINT_DEBUG}
optimized ${Moja_FLINT_RELEASE}
CACHE STRING "Moja flint link library text")
endif()
ENDIF(NOT MOJA_LIBRARY_DIR)
IF(NOT Moja_FOUND)
IF(Moja_FIND_QUIETLY)
message(STATUS "Moja was not found. ${MOJA_INCLUDE_DIR_MESSAGE}")
ELSE(Moja_FIND_QUIETLY)
IF(Moja_FIND_REQUIRED)
message(FATAL_ERROR "Moja was not found. ${MOJA_INCLUDE_DIR_MESSAGE}")
ENDIF(Moja_FIND_REQUIRED)
ENDIF(Moja_FIND_QUIETLY)
ENDIF(NOT Moja_FOUND)
# handle the QUIETLY and REQUIRED arguments and set OPENAL_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MOJA DEFAULT_MSG MOJA_INCLUDE_DIR)
MARK_AS_ADVANCED(MOJA_INCLUDE_DIR)