summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kalzium/ConfigureChecks.cmake66
-rw-r--r--kalzium/src/CMakeLists.txt2
2 files changed, 67 insertions, 1 deletions
diff --git a/kalzium/ConfigureChecks.cmake b/kalzium/ConfigureChecks.cmake
index bb1da003..88ba0ed6 100644
--- a/kalzium/ConfigureChecks.cmake
+++ b/kalzium/ConfigureChecks.cmake
@@ -72,4 +72,70 @@ if( WITH_OCAML_SOLVER )
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 )
diff --git a/kalzium/src/CMakeLists.txt b/kalzium/src/CMakeLists.txt
index 5a91842b..ee4f437b 100644
--- a/kalzium/src/CMakeLists.txt
+++ b/kalzium/src/CMakeLists.txt
@@ -20,7 +20,7 @@ link_directories(
)
if( WITH_OCAML_SOLVER )
- set( OCAML_LIBRARIES asmrun nums m ${CMAKE_DL_LIBS} )
+ set( OCAML_LIBRARIES asmrun m ${NUMS_LIBRARIES} ${ZARITH_LIBRARIES} ${CMAKE_DL_LIBS} )
set( OCAML_SOLVER
${CMAKE_CURRENT_BINARY_DIR}/solver/modwrap.o
${CMAKE_CURRENT_BINARY_DIR}/solver/solver.o