diff options
-rw-r--r-- | kalzium/ConfigureChecks.cmake | 66 | ||||
-rw-r--r-- | kalzium/src/CMakeLists.txt | 2 |
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 |