use FeatureSummary

This commit is contained in:
Vitor Santos Costa 2017-07-30 22:24:00 +01:00
parent 8ad14f6765
commit 5b5e954dbc
28 changed files with 30 additions and 94 deletions

View File

@ -12,6 +12,7 @@ include(CMakeToolsHelpers OPTIONAL)
project( YAP )
include(FeatureSummary)
set(YAP_APP_DIR "${CMAKE_SOURCE_DIR}/../..")
cmake_policy(VERSION 3.4)
@ -29,7 +30,7 @@ include(CheckTypeSize)
include(CMakeDependentOption)
include(MacroOptionalAddSubdirectory)
include(MacroOptionalFindPackage)
include(MacroLogFeature)
include(FeatureSummary)
include(FindPackageHandleStandardArgs)
include (GNUInstallDirs)
@ -93,9 +94,6 @@ OPTION (WITH_SWIG " Enable SWIG interfaces to foreign languages" ON)
IF (WITH_SWIG)
find_host_package (SWIG)
macro_log_feature (SWIG_FOUND "Swig"
"Use SWIG Interface Generator "
"http://www.swig.org" ON)
ENDIF (WITH_SWIG)
option (WITH_PYTHON
@ -193,3 +191,7 @@ if (PYTHONLIBS_FOUND AND SWIG_FOUND)
endif()
include(Config NO_POLICY_SCOPE)
feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES
INCLUDE_QUIET_PACKAGES
)

View File

@ -51,8 +51,6 @@ set(LIBJIT_FULL_VERSION
# multiples times is the approach recommended in the docs.
macro_optional_find_package (LLVM OFF)
macro_log_feature (LLVM_FOUND "LLVM JIT generator"
"The LLVM Compiler Infrastructure" "http://www.llvm.org")
set (YAP_JIT ${LLVM_FOUND} SCOPE GLOBAL)

View File

@ -1,7 +1,3 @@
macro_log_feature (PYTHONLIBS_FOUND "Python"
"Use Python System"
"http://www.python.org" FALSE )
message(STATUS "Building YAP packages version ${YAP_VERSION}")
@ -29,6 +25,8 @@ OPTION (WITH_CPLINT " Enable the cplint probabilistic language" ON)
OPTION (WITH_HORUS " Enable the CLPBN and PFL probabilistic languages" ON)
OPTION (WITH_HORUS " Enable documentation, requires doxygen-yap" ON)
IF (WITH_CLPBN)
add_subDIRECTORY (packages/CLPBN)
ENDIF(WITH_CLPBN)

View File

@ -1,9 +1,7 @@
macro_optional_find_package (Threads OFF)
macro_log_feature (THREADS_FOUND "Threads Support"
"GNU Threads Library (or similar)"
"http://www.gnu.org/software/threads")
if (WITH_Threads)
#
# CMAKE_THREAD_LIBS_INIT - the thread library

View File

@ -265,6 +265,7 @@ check_symbol_exists(flsl <string.h> HAVE_FLSL)
check_symbol_exists(flsll <string.h> HAVE_FLSLL)
check_function_exists(fmemopen HAVE_FMEMOPEN)
check_function_exists(fpclass HAVE_FPCLASS)
check_function_exists(fpurge HAVE_FPURGE)
check_function_exists(ftime HAVE_FTIME)
check_function_exists(ftruncate HAVE_FTRUNCATE)
check_function_exists(funopen HAVE_FUNOPEN)

View File

@ -1,6 +1,6 @@
# This file defines the Feature Logging macros.
#
# MACRO_LOG_FEATURE(VAR FEATURE DESCRIPTION URL [REQUIRED [MIN_VERSION [COMMENTS]]])
# (VAR FEATURE DESCRIPTION URL [REQUIRED [MIN_VERSION [COMMENTS]]])
# Logs the information so that it can be displayed at the end
# of the configure run
# VAR : TRUE or FALSE, indicating whether the feature is supported

View File

@ -1,9 +1,6 @@
macro_optional_find_package (Threads OFF)
macro_log_feature (THREADS_FOUND "Threads Support"
"GNU Threads Library (or similar)"
"http://www.gnu.org/software/threads")
if (WITH_Threads)
#
# CMAKE_THREAD_LIBS_INIT - the thread library

View File

@ -10,9 +10,6 @@ find_package(CUDD)
# CUDD_LIBRARIES - Link these to use CUDD
# CUDD_INCLUDE_DIR - Include directory for using CUDD
#
macro_log_feature (CUDD_FOUND "CUDD"
"Use CUDD BDD library"
"http://vlsi.colorado.edu/~fabio/CUDD/" FALSE)
if (CUDD_FOUND)

View File

@ -8,9 +8,7 @@ find_package(Java 1.5 COMPONENTS Runtime Development)
# find_package(Java COMPONENTS Development)
# find_package(Java COMPONENTS Runtime)
#find_package(JavaLibs)
macro_log_feature (Java_Development_FOUND "Java"
"Use Java System"
"http://www.java.org" FALSE)
if (Java_Development_FOUND)

View File

@ -421,6 +421,11 @@ function. */
#cmakedefine HAVE_FPCLASS ${HAVE_FPCLASS}
#endif
/* Define to 1 if you have the `fpurge' function. */
#ifndef HAVE_FPURGE
#cmakedefine HAVE_FPURGE ${HAVE_FPURGE}
#endif
/* Define to 1 if you have the <fpu_control.h> header file. */
#ifndef HAVE_FPU_CONTROL_H
#cmakedefine HAVE_FPU_CONTROL_H ${HAVE_FPU_CONTROL_H}

View File

@ -12,9 +12,6 @@ if (QTCONSOLE)
macro_optional_find_package(Qt5Core on)
macro_log_feature (Qt5Widgets_FOUND "QT GUI Libraries"
"The QT Project" "http://www.qt-project.org")
endif(QTCONSOLE)

View File

@ -63,10 +63,7 @@ include_directories (CXX ${CMAKE_SOURCE_DIR}/../generated/src/jni)
endif()
find_package (GMP)
macro_log_feature (GMP_FOUND
"GNU libgmp (in some cases MPIR"
"GNU big integers and rationals"
"http://gmplib.org")
list(APPEND YAP_SYSTEM_OPTIONS big_numbers)
if (GMP_FOUND)

View File

@ -3,10 +3,7 @@ set (MPI_SOURCES
hash.c prologterms2c.c yap_mpi.c)
macro_optional_find_package(MPI ON)
macro_log_feature (MPI_C_FOUND "Mpi"
"Use Mpi System"
"http://www.mpi.org" FALSE)
if (MPI_C_FOUND)
# === Variables ===
#

View File

@ -1,7 +1,5 @@
macro_optional_find_package (Matlab OFF)
macro_log_feature (MATLAB_FOUND "matlab"
"MATLAB A Language for Technical Computing"
"http://matlab.com")
if (MATLAB_FOUND)
# MATLAB_INCLUDE_DIR: include path for mex.h, engine.h
# MATLAB_LIBRARIES: required libraries: libmex, etc

View File

@ -16,10 +16,8 @@ if (NOT ANDROID AND WITH_OPENSSL)
# but right now Open SSL is not supported enough.
#
find_package (OpenSSL)
macro_log_feature (OPENSSL_FOUND
OpenSLL
"Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols"
"https://www.openssl.org/")
if (OPENSSL_FOUND)
include_directories (${OPENSSL_INCLUDE_DIR})
target_link_libraries(${TARGET} ${OPENSSL_LIBRARIES})

View File

@ -84,10 +84,7 @@ include(CheckVariableExists)
if (WITH_READLINE)
macro_optional_find_package (Readline ON)
macro_log_feature (READLINE_FOUND "libreadline"
"Readline line editing library"
"http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html")
if (READLINE_FOUND)
# - Find the readline library
# This module defines

View File

@ -4,9 +4,6 @@
#CHECK: GECODE
macro_optional_find_package (Gecode ON)
macro_log_feature (GECODE_FOUND "libgecode"
"Use Generic Constraint Development Environment (GECODE) library"
"http://www.gecode.org" FALSE)
if (GECODE_FOUND)
#DEFINES:

View File

@ -34,9 +34,8 @@ extract_vars((_-V).MapList, V.Vs) :-
complex_to_andor(empty, Map, Map, 0).
complex_to_andor([list(Els)], Map0, MapF, Tree) :- !,
complex_to_andor(Els, Map0, MapF, Tree).
complex_to_andor(Els, Map0, MapF, Tree).
complex_to_andor([endlist|_], Map, Map, 1) :- !.
El1 == endlist, !.
complex_to_andor([El1,El2|Els], Map0, MapF, or(T1,T2)) :- !,
complex_to_and(El1, Map0, MapI, T1),
complex_to_andor([El2|Els], MapI, MapF, T2).
@ -45,8 +44,9 @@ complex_to_andor([Els], Map0, MapF, V) :-
complex_to_and(int(A1,[endlist]), Map0, MapF, V) :- !,
check(Map0, A1, V, MapF).
complex_to_and(atom(true,[endlist]), Map0, MapF, 1) :- !.
complex_to_and(atom(true,[endlist]), Map, Map, 1) :- !.
complex_to_and(atom(A1,[endlist]), Map0, MapF, V) :- !,
check(Map0, A1, V, MapF).
complex_to_and(functor(not,1,[int(A1,[endlist])]), Map0, MapF, not(V)) :- !,
check(Map0, A1, V, MapF).
complex_to_and(functor(not,1,[atom(A1,[endlist])]), Map0, MapF, not(V)) :- !,
@ -77,7 +77,6 @@ complex_to_and(functor(not,1,[int(A1,Els)|More]), Map0, MapF, or(NOTV1,O2)) :-
complex_to_and(functor(not,1,More), MapI2, MapF, O2).
complex_to_and(functor(not,1,[atom(A1,Els)|More]), Map0, MapF, or(NOTV1,O2)) :-
check(Map0, A1, V, MapI),
check(Map0, A1, V, MapF).
(Els == [endlist]
->
NOTV1 = not(V),
@ -96,7 +95,6 @@ tabled_complex_to_andor(IN, Map, Map, Tab, Tab, 1) :-
IN = !.
tabled_complex_to_andor([Els], Map0, MapF, Tab0, TabF, V) :-
tabled_complex_to_and(Els, Map0, MapF, Tab0, TabF, V).
rb_insert(Tab0, IN, OUT, Tab1),
tabled_complex_to_andor([El1,Dl2], Map0, MapF, Tab0, TabF, or(T1,T2)) :-
tabled_complex_to_and(El1, Map0, MapI, Tab1, TabI, T1),
tabled_complex_to_andor(El2.Els, MapI, MapF, TabI, TabF, T2).

View File

@ -1,9 +1,6 @@
#CHECK: CUDA
macro_optional_find_package (CUDA ON)
macro_log_feature (CUDA_FOUND "CUDA"
"CUDA GGPU Programming "
"http://www.nvidia.com/object/cuda_home_new.html" FALSE)
if (CUDA_FOUND)
# CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.

View File

@ -1,12 +1,8 @@
#TODO: change macro_log_feature to check both WITH_{$name} and ${name}_FOUND
#TODO: improve FindGecode.cmake to be similar to other Find*.cmake
#CHECK: GECODE
macro_optional_find_package (Gecode ON)
macro_log_feature (GECODE_FOUND "libgecode"
"Use Generic Constraint Development Environment (GECODE) library"
"http://www.gecode.org" FALSE)
if (GECODE_FOUND)
#DEFINES:

View File

@ -12,10 +12,6 @@
macro_optional_find_package(MySQL ON)
macro_log_feature(MYSQL_FOUND "MySQL"
"MYSQL Driver for MYDDAS Data-Base Interface "
"http://www.mysql.org" FALSE)
if (MYSQL_FOUND)
# MYSQL_INCLUDE_DIR - where to find mysql.h, etc.
# MYSQL_LIBRARIES - List of libraries when using MySQL.

View File

@ -9,10 +9,6 @@ set(SO_PATCH 0)
macro_optional_find_package(ODBC ON)
macro_log_feature (ODBC_FOUND "Odbc"
"ODBC Driver for MYDDAS Data-Base Interface "
"http://www.odbc.org" FALSE)
if (ODBC_FOUND)
# ODBC_INCLUDE_DIRECTORIES, where to find sql.h
# ODBC_LIBRARIES, the libraries to link against to use ODBC

View File

@ -9,10 +9,6 @@ set(SO_PATCH 0)
macro_optional_find_package(PostgreSQL ON)
macro_log_feature (PostgreSQL_FOUND "postgres"
"PostgreSQL Driver for MYDDAS Data-Base Interface "
"http://www.postgres.org" FALSE)
if (PostgreSQL_FOUND)
# PostgreSQL_FOUND - Set to true when PostgreSQL is found.
# PostgreSQL_INCLUDE_DIRS - Include directories for PostgreSQL

View File

@ -606,9 +606,9 @@ static Int c_sqlite3_row(USES_REGS1) {
break;
case SQLITE_BLOB: {
size_t bytes = sqlite3_column_bytes(res_set->stmt, i);
tf = Yap_AllocExternalDataInStack(EXTERNAL_BLOB, bytes);
memcpy(ExternalBlobFromTerm(tf), sqlite3_column_blob(res_set->stmt, i),
bytes);
void *pt;
tf = Yap_AllocExternalDataInStack(EXTERNAL_BLOB, bytes, &pt);
memcpy(pt, sqlite3_column_blob(res_set->stmt, i), bytes);
} break;
case SQLITE_NULL:
null_atom[0] = MkIntegerTerm(null_id++);

View File

@ -1,7 +1,4 @@
macro_optional_find_package (Sqlite3 ON)
macro_log_feature (SQLITE3_FOUND "sqlite3"
"SQLITE3 Light Weight Database Manager"
"http://sqlite3.com")
if (SQLITE3_FOUND)
# SQLITE3_INCLUDE_DIR - Where to find Sqlite 3 header files (directory)
# SQLITE3_LIBRARIES - Sqlite 3 libraries

View File

@ -15,9 +15,6 @@ IF (NOT YAP_FOUND)
ENDIF (NOT YAP_FOUND)
macro_optional_find_package (LibXml2 ON)
macro_log_feature (LIBXML2_FOUND "LIBXML2"
"Use XML2 Library"
"http://www.xmlsoft.org" FALSE)
IF (LIBXML2_FOUND)
# LIBXML2_FOUND - System has LibXml2
# LIBXML2_INCLUDE_DIR - The LibXml2 include directory
@ -75,9 +72,7 @@ endif(WIN32)
ENDIF (LIBXML2_FOUND)
macro_optional_find_package (RAPTOR ON)
macro_log_feature (RAPTOR_FOUND "RAPTOR"
"Use RAPTOR Library"
"http://www.librdf.org" FALSE)
IF (RAPTOR_FOUND)
# RAPTOR_FOUND - system has Raptor
# RAPTOR_LIBRARIES - Link these to use Raptor

View File

@ -10,10 +10,6 @@
#
macro_optional_find_package (LibR ON)
macro_log_feature (LIBR_FOUND "R"
"Use R Environment"
"http://www.r.org" FALSE)
if (LIBR_FOUND)
set (REAL_SOURCES

View File

@ -5,13 +5,7 @@ macro_optional_find_package(Java ON)
find_package(Java COMPONENTS Runtime Development)
#find_package(Java COMPONENTS Runtime)
macro_log_feature (Java_Development_FOUND "Java"
"Use Java System"
"http://www.java.org" FALSE)
macro_optional_find_package(JNI ON)
macro_log_feature (JNI_FOUND "JNI"
"Use Java Native Interface"
"http://www.java.org" FALSE)
if (Java_Development_FOUND)