diff --git a/CMakeLists.txt b/CMakeLists.txt index 63f4741a6..1f71d9403 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,8 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") cmake_policy( NO_POLICY_SCOPE ) endif() +set(configurations Debug) + cmake_policy(SET CMP0043 NEW) project(YAP C CXX) @@ -543,6 +545,10 @@ macro_optional_add_subdirectory (packages/raptor) macro_optional_add_subdirectory (packages/jpl) +macro_optional_add_subdirectory (packages/swig) + +macro_optional_add_subdirectory (packages/bdd) + #add_subdirectory (packages/prosqlite) #add_subdirectory (packages/zlib) diff --git a/packages/bdd/CMakeLists.txt b/packages/bdd/CMakeLists.txt new file mode 100644 index 000000000..38f4d0805 --- /dev/null +++ b/packages/bdd/CMakeLists.txt @@ -0,0 +1,62 @@ +CMAKE_MINIMUM_REQUIRED ( VERSION 2.8 ) + +PROJECT ( YAP_BDD C ) + +SET ( YAP_BDD_VERSION 0.1) + +SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) + + +if (NOT YAP_FOUND) + FIND_PACKAGE(YAP REQUIRED) +ENDIF (NOT YAP_FOUND) +IF (NOT YAP_FOUND) + MESSAGE (SEND_ERROR "YAP was not found!") +ENDIF (NOT YAP_FOUND) + +macro_optional_find_package (CUDD ON) +macro_log_feature (CUDD_FOUND "CUDD" + "Use CUDD Library" + "http://www.r.org" FALSE) +IF (CUDD_FOUND) + # CUDD_FOUND - system has Cudd + # CUDD_LIBRARIES - Link these to use Cudd + # CUDD_INCLUDE_DIR - Include directory for using Cudd + + INCLUDE_DIRECTORIES( + ${YAP_INCLUDE_DIR} + ${CUDD_INCLUDE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + . + ) + + SET ( BDD_SOURCES + cudd.c + ) + + ADD_LIBRARY(cudd SHARED ${BDD_SOURCES} ) + + if(DEFINED YAP_MAJOR_VERSION) + TARGET_LINK_LIBRARIES(cudd + ${CUDD_LIBRARIES} + libYap + ) + else() + TARGET_LINK_LIBRARIES(cudd + ${CUDD_LIBRARIES} + ${YAP_LIBRARY} + ) + endif() + + set_target_properties (cudd PROPERTIES PREFIX "") + + install(TARGETS cudd + LIBRARY DESTINATION ${dlls} + ) + + INSTALL(FILES bdd.yap DESTINATION ${libpl}) + INSTALL(FILES ddnnf.yap DESTINATION ${libpl}) + INSTALL(FILES simpbool.yap DESTINATION ${libpl}) + INSTALL(FILES trie_sp.yap DESTINATION ${libpl}) + +ENDIF (CUDD_FOUND) diff --git a/packages/bdd/cmake/FindCUDD.cmake b/packages/bdd/cmake/FindCUDD.cmake new file mode 100644 index 000000000..0ffc51d9c --- /dev/null +++ b/packages/bdd/cmake/FindCUDD.cmake @@ -0,0 +1,169 @@ +# - Try to find the CUD BDD RDF parsing library (http://librdf.org/CUDD /) +# Once done this will define +# +# CUDD_FOUND - system has CUDD +# CUDD_LIBRARIES - Link these to use CUDD +# CUDD_INCLUDE_DIR - Include directory for using CUDD +# +# +# Based on FindFontconfig Copyright (c) 2006,2007 Laurent Montel, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +MACRO ( FIND_CUDD ) + +ENDMACRO () + + + +# Check if we have cached results in case the last round was successful. +if ( NOT( CUDD_INCLUDE_DIR AND CUDD_LIBRARIES ) OR NOT CUDD_FOUND ) + + set( CUDD_LDFLAGS ) + + find_package(PkgConfig) + + + find_path(CUDD_INCLUDE_DIR + NAMES cudd.h + PATHS $ENV{CUDD_DIR}/include/cudd + $ENV{CUDD_DIR}/include + $ENV{CUDD_DIR} + ~/Library/Frameworks + /Library/Frameworks + /usr/local/include/cudd + /usr/local/include + /usr/include/cudd + /usr/include/ + /sw/include # Fink + /opt/local/include # MacPorts + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include + + ) + + find_library(CUDD_INTERFACE_LIBRARY + NAMES cudd + PATHS + $ENV{CUDD_DIR}/lib + $ENV{CUDD_DIR}/lib64 + $ENV{CUDD_DIR}/lib-dbg + $ENV{CUDD_DIR} + $ENV{CUDD_DIR}/cudd + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /usr/local/lib/cudd + /usr/local/lib64/cudd + /usr/lib/cudd + /usr/lib64/cudd + /usr/freeware/lib64 + ) + + if ( CUDD_INTERFACE_LIBRARY AND CUDD_INCLUDE_DIR ) + set( CUDD_FOUND ON ) + list( APPEND CUDD_LIBRARIES ${CUDD_INTERFACE_LIBRARY} ) + endif () + + find_library(CUDD_UTIL_LIBRARY + NAMES cuddutil util + PATHS + $ENV{CUDD_DIR}/lib + $ENV{CUDD_DIR}/lib64 + $ENV{CUDD_DIR}/lib-dbg + $ENV{CUDD_DIR} + $ENV{CUDD_DIR}/util + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /usr/local/lib/util + /usr/local/lib64/util + /usr/lib/util + /usr/lib64/util + /usr/freeware/lib64 + ) + + if ( CUDD_UTIL_LIBRARY ) + list( APPEND CUDD_LIBRARIES ${CUDD_UTIL_LIBRARY} ) + endif () + + find_library(CUDD_ST_LIBRARY + NAMES cuddst st + PATHS + $ENV{CUDD_DIR}/lib + $ENV{CUDD_DIR}/lib64 + $ENV{CUDD_DIR}/lib-dbg + $ENV{CUDD_DIR} + $ENV{CUDD_DIR}/st + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /usr/lib/st + /usr/lib64/st + /usr/freeware/lib64 + ) + + if ( CUDD_ST_LIBRARY ) + list( APPEND CUDD_LIBRARIES ${CUDD_ST_LIBRARY} ) + endif () + + find_library(CUDD_EPD_LIBRARY + NAMES epd + PATHS + $ENV{CUDD_DIR}/lib + $ENV{CUDD_DIR}/lib64 + $ENV{CUDD_DIR}/lib-dbg + $ENV{CUDD_DIR} + $ENV{CUDD_DIR}/epd + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /usr/lib/epd + /usr/lib64/epd + /usr/freeware/lib64 + ) + + if ( CUDD_MTR_LIBRARY ) + list( APPEND CUDD_LIBRARIES ${CUDD_MTR_LIBRARY} ) + endif () + + find_library(CUDD_MTR_LIBRARY + NAMES mtr + PATHS + $ENV{CUDD_DIR}/lib + $ENV{CUDD_DIR}/lib64 + $ENV{CUDD_DIR}/lib-dbg + $ENV{CUDD_DIR} + $ENV{CUDD_DIR}/mtr + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /usr/lib/mtr + /usr/lib64/mtr + /usr/freeware/lib64 + ) + + if ( CUDD_MTR_LIBRARY ) + list( APPEND CUDD_LIBRARIES ${CUDD_MTR_LIBRARY} ) + endif () + + +endif () # Check for cached values diff --git a/packages/bdd/cmake/FindYAP.cmake b/packages/bdd/cmake/FindYAP.cmake new file mode 100644 index 000000000..3ca553a01 --- /dev/null +++ b/packages/bdd/cmake/FindYAP.cmake @@ -0,0 +1,76 @@ +# CMake module to search for YAP library +# +# If YAP_INCLUDE_DIR and YAP_PL_LIBRARY_DIR sets YAP_FOUND +# Also checks for YAP_LIBRARY + +if (YAP_ROOT) + set( YAP_INCLUDE_DIR ../../include ) + set( YAP_PL_LIBRARY_DIR ${libpl} ) + set( YAP_LIBRARY libYap ) + set( YAP_DLLS ${dlls} ) + +else() + + FIND_PATH(YAP_INCLUDE_DIR YapInterface.h + /usr/local/include/Yap + /usr/include/Yap + #MSVC + "$ENV{LIB_DIR}/include/Yap" + #mingw + c:/msys/local/include/Yap + c:/Yap/include/Yap + c:/Yap64/include/Yap + "c:/Program Files/Yap/include/Yap" + "c:/Program Files (x86)/Yap/include/Yap" + ) + +FIND_PATH(YAP_PL_LIBRARY_DIR terms.yap + /usr/local/share/Yap + /usr/share/Yap + #MSVC + "$ENV{LIB_DIR}/share/Yap" + #mingw + c:/msys/local/share/Yap + c:/Yap/share/Yap + c:/Yap64/share/Yap + "c:/Program Files/Yap/share/Yap" + "c:/Program Files (x86)/Yap/share/Yap" +) + +FIND_LIBRARY(YAP_LIBRARY NAMES libYap.a libYap.so libYap.dylib PATHS + /usr/local/lib + /usr/lib + #MSVC + "$ENV{LIB_DIR}/lib" + #mingw + c:/msys/local/lib + c:/msys/local/lib + c:/Yap/lib + c:/Yap64/lib + "c:/Program Files/Yap/lib" + "c:/Program Files (x86)/Yap/lib" + ) + +If (YAP_INCLUDE_DIR AND YAP_PL_LIBRARY_DIR) + SET(YAP_FOUND TRUE) +ENDIF (YAP_INCLUDE_DIR AND YAP_PL_LIBRARY_DIR) + +IF (YAP_FOUND) + + IF (NOT YAP_FIND_QUIETLY) + MESSAGE(STATUS "Found YAP: ${YAP_LIBRARY}") + ENDIF (NOT YAP_FIND_QUIETLY) + + get_filename_component( YAP_DLLS ${YAP_LIBRARY} PATH ) + set( dlls ${YAP_DLLS}/Yap ) + +ELSE (YAP_FOUND) + + IF (YAP_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find YAP") + ENDIF (YAP_FIND_REQUIRED) + + ENDIF (YAP_FOUND) + +endif() + diff --git a/packages/myddas/CMakeLists.txt b/packages/myddas/CMakeLists.txt index 7e8f7fddd..c44012dd8 100644 --- a/packages/myddas/CMakeLists.txt +++ b/packages/myddas/CMakeLists.txt @@ -103,7 +103,7 @@ if (ODBC_FOUND OR MYSQL_FOUND OR SQLITE3_FOUND OR PostgreSQL_FOUND) endif (PostgreSQL_FOUND) add_custom_target (plmyddas ALL DEPENDS ${GENERATED_SOURCES} ) # WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) -endif (ODBC_FOUND OR MYSQL_FOUND OR SQLITE3_FOUND) +endif (ODBC_FOUND OR MYSQL_FOUND OR SQLITE3_FOUND OR PostgreSQL_FOUND) cmake_dependent_option (WITH_MYDDAS_Stats "enable the MYDDAS library statistics support" OFF