blob: 88ba0ed6fc2c446b8f7f221710f55531792732e6 (
plain)
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
|
###########################################
# #
# Improvements and feedback are welcome #
# #
# This file is released under GPL >= 3 #
# #
###########################################
##### check for ocaml/facile
if( WITH_OCAML_SOLVER )
if( NOT DEFINED HAVE_OCAML )
message( STATUS "Search for ocaml" )
foreach( _exec ocamlc ocamldep ocamlopt )
string( TOUPPER "${_exec}_EXECUTABLE" _exec_var )
if( NOT DEFINED ${_exec_var} )
find_program( ${_exec_var} NAMES ${_exec} )
if( NOT ${_exec_var} )
tde_message_fatal( "${_exec} is requested, but was not found on your system" )
endif( )
endif( )
endforeach( )
if( NOT DEFINED OCAML_BASEDIR )
execute_process(
COMMAND ${OCAMLOPT_EXECUTABLE} -where
OUTPUT_VARIABLE OCAML_BASEDIR
ERROR_VARIABLE OCAML_BASEDIR
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
if( EXISTS ${OCAML_BASEDIR} AND IS_DIRECTORY ${OCAML_BASEDIR} )
set( OCAML_BASEDIR ${OCAML_BASEDIR} CACHE PATH "Ocaml base directory" )
set( OCAML_LIBRARY_DIR ${OCAML_BASEDIR} CACHE PATH "Ocaml libraries directory" )
else( )
tde_message_fatal( "Ocaml is requested, but was not found on your system" )
endif( )
endif( )
set( HAVE_OCAML 1 CACHE INTERNAL "" )
message( STATUS "Search for ocaml - found" )
endif( )
if( NOT DEFINED HAVE_FACILE )
message( STATUS "Search for facile" )
if( NOT DEFINED FACILE_LIBRARIES )
find_library( FACILE_LIBRARIES
NAMES facile.a
HINTS ${OCAML_BASEDIR}
PATH_SUFFIXES facile ocaml/facile
)
endif( )
if( NOT DEFINED FACILE_INCLUDE_DIR )
find_path( FACILE_INCLUDE_DIR
NAMES facile.cmi
HINTS ${OCAML_BASEDIR}
PATH_SUFFIXES facile lib/ocaml/facile
)
endif( )
if( (NOT FACILE_LIBRARIES) OR (NOT FACILE_INCLUDE_DIR) )
tde_message_fatal( "Facile is requested, but was not found on your system" )
endif( )
set( HAVE_FACILE 1 CACHE INTERNAL "Enable build with ocaml/facile" )
message( STATUS "Search for facile - found" )
endif( )
if( NOT DEFINED HAVE_NUMS )
message( STATUS "Search for nums" )
if( NOT DEFINED NUMS_LIBRARIES )
find_library( NUMS_LIBRARY
NAMES nums.a
HINTS ${OCAML_BASEDIR}
PATH_SUFFIXES num ocaml/num
)
if( NUMS_LIBRARY )
set( NUMS_LIBRARIES ${NUMS_LIBRARY} )
endif()
endif( )
if( NOT DEFINED NUMS_INCLUDE_DIR )
find_path( NUMS_INCLUDE_DIR
NAMES num.cmi
HINTS ${OCAML_BASEDIR}
PATH_SUFFIXES nums lib/ocaml/nums
)
endif( )
if( NUMS_LIBRARIES AND NUMS_INCLUDE_DIR )
set( HAVE_NUMS 1 CACHE INTERNAL "Enable build with ocaml/nums" )
message( STATUS "Search for nums - found" )
else()
message( STATUS "Search for nums - not found" )
endif()
endif( )
if( NOT DEFINED HAVE_ZARITH )
message( STATUS "Search for zarith" )
if( NOT DEFINED ZARITH_LIBRARIES )
find_library( ZARITH_LIBRARY
NAMES zarith.a
HINTS ${OCAML_BASEDIR}
PATH_SUFFIXES zarith ocaml/zarith
)
if( ZARITH_LIBRARY )
set( ZARITH_LIBRARIES ${ZARITH_LIBRARY} )
endif()
endif( )
if( NOT DEFINED ZARITH_INCLUDE_DIR )
find_path( ZARITH_INCLUDE_DIR
NAMES z.cmi
HINTS ${OCAML_BASEDIR}
PATH_SUFFIXES zarith lib/ocaml/zarith
)
endif( )
if( ZARITH_LIBRARIES AND ZARITH_INCLUDE_DIR )
set( HAVE_ZARITH 1 CACHE INTERNAL "Enable build with ocaml/zarith" )
message( STATUS "Search for zarith - found" )
else()
message( STATUS "Search for zarith - not found" )
endif()
endif( )
if( (NOT HAVE_NUMS) AND (NOT HAVE_ZARITH) )
tde_message_fatal( "Facile requires nums or zarith, but neither is found on your system" )
endif()
endif( WITH_OCAML_SOLVER )
|