cmake support for bdd package
This commit is contained in:
parent
e710319c0e
commit
76cd423784
@ -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)
|
||||
|
62
packages/bdd/CMakeLists.txt
Normal file
62
packages/bdd/CMakeLists.txt
Normal file
@ -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)
|
169
packages/bdd/cmake/FindCUDD.cmake
Normal file
169
packages/bdd/cmake/FindCUDD.cmake
Normal file
@ -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, <montel@kde.org>
|
||||
#
|
||||
# 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
|
76
packages/bdd/cmake/FindYAP.cmake
Normal file
76
packages/bdd/cmake/FindYAP.cmake
Normal file
@ -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()
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user