summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>2021-03-31 21:16:05 +0200
committerGitHub <noreply@github.com>2021-03-31 19:16:05 +0000
commitb7210ed60d517aebb25c23a2f407ee59562587dd (patch)
tree082a225b399f5db85d3cda3dfe0c410090244433 /src
parenta779d33c559e5e494e71ca1a0c744d0275b31b5c (diff)
Refactor SymFPU dependency (#6218)
This PR refactors the contrib script to download SymFPU to a cmake external project.
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt25
-rw-r--r--src/main/CMakeLists.txt12
-rw-r--r--src/parser/CMakeLists.txt8
3 files changed, 32 insertions, 13 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4e2113c51..1a8c1964d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1127,47 +1127,46 @@ if(ENABLE_VALGRIND)
target_include_directories(cvc4 PRIVATE ${Valgrind_INCLUDE_DIR})
endif()
if(USE_ABC)
- target_link_libraries(cvc4 ${ABC_LIBRARIES})
+ target_link_libraries(cvc4 PRIVATE ${ABC_LIBRARIES})
target_include_directories(cvc4 PRIVATE ${ABC_INCLUDE_DIR})
endif()
if(USE_CADICAL)
- target_link_libraries(cvc4 ${CaDiCaL_LIBRARIES})
+ target_link_libraries(cvc4 PRIVATE ${CaDiCaL_LIBRARIES})
target_include_directories(cvc4 PRIVATE ${CaDiCaL_INCLUDE_DIR})
endif()
if(USE_CLN)
- target_link_libraries(cvc4 ${CLN_LIBRARIES})
- target_include_directories(cvc4 PUBLIC $<BUILD_INTERFACE:${CLN_INCLUDE_DIR}>)
+ target_link_libraries(cvc4 PRIVATE ${CLN_LIBRARIES})
+ target_include_directories(cvc4 PRIVATE $<BUILD_INTERFACE:${CLN_INCLUDE_DIR}>)
endif()
if(USE_CRYPTOMINISAT)
- target_link_libraries(cvc4 ${CryptoMiniSat_LIBRARIES})
+ target_link_libraries(cvc4 PRIVATE ${CryptoMiniSat_LIBRARIES})
target_include_directories(cvc4 PRIVATE ${CryptoMiniSat_INCLUDE_DIR})
endif()
if(USE_KISSAT)
- target_link_libraries(cvc4 ${Kissat_LIBRARIES})
+ target_link_libraries(cvc4 PRIVATE ${Kissat_LIBRARIES})
target_include_directories(cvc4 PRIVATE ${Kissat_INCLUDE_DIR})
endif()
if(USE_GLPK)
- target_link_libraries(cvc4 ${GLPK_LIBRARIES})
+ target_link_libraries(cvc4 PRIVATE ${GLPK_LIBRARIES})
target_include_directories(cvc4 PRIVATE ${GLPK_INCLUDE_DIR})
endif()
if(USE_POLY)
- target_link_libraries(cvc4 ${POLY_LIBRARIES})
+ target_link_libraries(cvc4 PRIVATE ${POLY_LIBRARIES})
target_include_directories(cvc4 PRIVATE ${POLY_INCLUDE_DIR})
endif()
if(USE_SYMFPU)
- target_include_directories(cvc4
- PUBLIC $<BUILD_INTERFACE:${SymFPU_INCLUDE_DIR}>)
+ target_link_libraries(cvc4 PRIVATE SymFPU)
endif()
# Note: When linked statically GMP needs to be linked after CLN since CLN
# depends on GMP.
-target_link_libraries(cvc4 ${GMP_LIBRARIES})
-target_include_directories(cvc4 PUBLIC $<BUILD_INTERFACE:${GMP_INCLUDE_DIR}>)
+target_link_libraries(cvc4 PRIVATE ${GMP_LIBRARIES})
+target_include_directories(cvc4 PRIVATE $<BUILD_INTERFACE:${GMP_INCLUDE_DIR}>)
# Add rt library
# Note: For glibc < 2.17 we have to additionally link against rt (man clock_gettime).
# RT_LIBRARIES should be empty for glibc >= 2.17
-target_link_libraries(cvc4 ${RT_LIBRARIES})
+target_link_libraries(cvc4 PRIVATE ${RT_LIBRARIES})
#-----------------------------------------------------------------------------#
# Visit main subdirectory after creating target cvc4. For target main, we have
diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
index 6a960a214..2e9757fc7 100644
--- a/src/main/CMakeLists.txt
+++ b/src/main/CMakeLists.txt
@@ -47,6 +47,12 @@ target_include_directories(main PRIVATE ${LIBCVC4_INCLUDES})
add_library(main-test driver_unified.cpp $<TARGET_OBJECTS:main>)
target_compile_definitions(main-test PRIVATE -D__BUILDING_CVC4DRIVER)
target_link_libraries(main-test cvc4 cvc4parser)
+if(USE_CLN)
+ target_link_libraries(main-test ${CLN_LIBRARIES})
+ target_include_directories(main-test PRIVATE $<BUILD_INTERFACE:${CLN_INCLUDE_DIR}>)
+endif()
+target_link_libraries(main-test ${GMP_LIBRARIES})
+target_include_directories(main-test PRIVATE $<BUILD_INTERFACE:${GMP_INCLUDE_DIR}>)
#-----------------------------------------------------------------------------#
# cvc4 binary configuration
@@ -58,6 +64,12 @@ set_target_properties(cvc4-bin
OUTPUT_NAME cvc4
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
target_link_libraries(cvc4-bin cvc4 cvc4parser)
+if(USE_CLN)
+ target_link_libraries(cvc4-bin ${CLN_LIBRARIES})
+ target_include_directories(cvc4-bin PRIVATE $<BUILD_INTERFACE:${CLN_INCLUDE_DIR}>)
+endif()
+target_link_libraries(cvc4-bin ${GMP_LIBRARIES})
+target_include_directories(cvc4-bin PRIVATE $<BUILD_INTERFACE:${GMP_INCLUDE_DIR}>)
if(PROGRAM_PREFIX)
install(PROGRAMS
$<TARGET_FILE:cvc4-bin>
diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt
index fdf268dc6..236517b0c 100644
--- a/src/parser/CMakeLists.txt
+++ b/src/parser/CMakeLists.txt
@@ -103,6 +103,14 @@ set_target_properties(cvc4parser PROPERTIES SOVERSION ${CVC4_SOVERSION})
target_compile_definitions(cvc4parser PRIVATE -D__BUILDING_CVC4PARSERLIB)
target_link_libraries(cvc4parser PUBLIC cvc4)
target_link_libraries(cvc4parser PRIVATE ANTLR3)
+
+if(USE_CLN)
+ target_link_libraries(cvc4parser PRIVATE ${CLN_LIBRARIES})
+ target_include_directories(cvc4parser PRIVATE $<BUILD_INTERFACE:${CLN_INCLUDE_DIR}>)
+endif()
+target_link_libraries(cvc4parser PRIVATE ${GMP_LIBRARIES})
+target_include_directories(cvc4parser PRIVATE $<BUILD_INTERFACE:${GMP_INCLUDE_DIR}>)
+
install(TARGETS cvc4parser
EXPORT cvc4-targets
DESTINATION ${CMAKE_INSTALL_LIBDIR})
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback