Did you know ... | Search Documentation: |
Pack rolog -- CMakeLists.txt |
cmake_minimum_required(VERSION 3.5)
project(swipl-pack-rolog)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(FindR)
include(FindRcpp)
include(FindRInside)
set(CMAKE_VERBOSE_MAKEFILE ON)
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
list(INSERT CMAKE_MODULE_PATH 0 $ENV{SWIPL_HOME_DIR}/cmake)
include(swipl)
add_library(rolog MODULE src/crolog.cpp) target_compile_options(rolog PRIVATE -DPROLOGPACK) include_directories(${R_INCLUDE_DIR}) include_directories(${RCPP_INCLUDE_DIR}) include_directories(${RINSIDE_INCLUDE_DIR})
lib
prefix
target_link_swipl(rolog)
target_link_directories(rolog PRIVATE ${RINSIDE_LIB_DIR})
target_link_libraries(rolog R RInside)
list(APPEND CMAKE_INSTALL_RPATH ${RINSIDE_LIB_DIR})
install(TARGETS rolog DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/${swipl_module_dir})
swipl_test(name)
runs Prolog with the command line below.
#
# swipl -p foreign=${CMAKE_CURRENT_SOURCE_DIR}/${swipl_module_dir} \
# -p library=${CMAKE_CURRENT_SOURCE_DIR}/prolog \
# --on-error=status \
# -g test_${name} \
# -t halt \
# ${CMAKE_CURRENT_SOURCE_DIR}/test/test_${name}.pl
#
# This implies that a test name
must be defined in a file
# `test/test_${name}.pl`, which exports a predicate `test_${name}`. The
# test succeeds if this predicate succeeds and no error messages are
# printed.
enable_testing()
swipl_add_test(rolog)