summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt14
-rw-r--r--src/main/CMakeLists.txt13
-rw-r--r--src/parser/CMakeLists.txt14
3 files changed, 36 insertions, 5 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 17d7fd814..4ba64c11a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,6 @@
+#-----------------------------------------------------------------------------#
+# Collect libcvc4 source files
+
libcvc4_add_sources(
api/cvc4cpp.cpp
api/cvc4cpp.h
@@ -646,10 +649,15 @@ libcvc4_add_sources(
theory/valuation.h
)
+#-----------------------------------------------------------------------------#
# Add required include paths for this and all subdirectories.
+
include_directories(include)
include_directories(. ${CMAKE_CURRENT_BINARY_DIR})
+#-----------------------------------------------------------------------------#
+# Add subdirectories
+
add_subdirectory(base)
add_subdirectory(expr)
add_subdirectory(main)
@@ -658,8 +666,10 @@ add_subdirectory(parser)
add_subdirectory(theory)
add_subdirectory(util)
-# All sources for libcvc4 are now collected via libcvc4_add_sources. We can
-# now build libcvc4.
+#-----------------------------------------------------------------------------#
+# All sources for libcvc4 are now collected in LIBCVC4_SRCS and (if generated)
+# LIBCVC4_GEN_SRCS (via libcvc4_add_sources). We can now build libcvc4.
+
set_source_files_properties(${LIBCVC4_GEN_SRCS} PROPERTIES GENERATED TRUE)
add_library(cvc4 ${LIBCVC4_SRCS} ${LIBCVC4_GEN_SRCS})
diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
index a0cbd3b77..39c4b2779 100644
--- a/src/main/CMakeLists.txt
+++ b/src/main/CMakeLists.txt
@@ -1,3 +1,6 @@
+#-----------------------------------------------------------------------------#
+# libmain source files
+
set(libmain_src_files
command_executor.cpp
driver_unified.cpp
@@ -7,8 +10,10 @@ set(libmain_src_files
util.cpp
)
+#-----------------------------------------------------------------------------#
# Build object library since we will use the object files for cvc4-bin,
# pcvc4-bin, and main-test library.
+
add_library(main OBJECT ${libmain_src_files})
target_compile_definitions(main PRIVATE -D__BUILDING_CVC4DRIVER)
if(BUILD_SHARED_LIBS)
@@ -29,6 +34,9 @@ target_include_directories(main PRIVATE ${LIBCVC4_INCLUDES})
add_library(main-test $<TARGET_OBJECTS:main>)
target_link_libraries(main-test cvc4 cvc4parser)
+#-----------------------------------------------------------------------------#
+# cvc4 binary configuration
+
add_executable(cvc4-bin main.cpp $<TARGET_OBJECTS:main>)
target_compile_definitions(cvc4-bin PRIVATE -D__BUILDING_CVC4DRIVER)
set_target_properties(cvc4-bin
@@ -69,6 +77,9 @@ if(USE_READLINE)
endif()
endif()
+#-----------------------------------------------------------------------------#
+# Generate language tokens header files.
+
foreach(lang Cvc Smt1 Smt2 Tptp)
string(TOLOWER ${lang} lang_lc)
add_custom_command(
@@ -81,6 +92,7 @@ foreach(lang Cvc Smt1 Smt2 Tptp)
)
endforeach()
+# Create target used as a dependency for libmain.
add_custom_target(gen-tokens
DEPENDS
cvc_tokens.h
@@ -88,3 +100,4 @@ add_custom_target(gen-tokens
smt2_tokens.h
tptp_tokens.h
)
+
diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt
index 389ebd814..b18573fe5 100644
--- a/src/parser/CMakeLists.txt
+++ b/src/parser/CMakeLists.txt
@@ -8,7 +8,10 @@ endif()
# Java runtime is required for ANTLR
find_package(Java COMPONENTS Runtime REQUIRED)
-set(cvc4parser_src_files
+#-----------------------------------------------------------------------------#
+# libcvc4parser source files
+
+set(libcvc4parser_src_files
antlr_input.cpp
antlr_input.h
antlr_input_imports.cpp
@@ -51,7 +54,9 @@ set(cvc4parser_src_files
tptp/tptp_input.h
)
+#-----------------------------------------------------------------------------#
# Generate parsers for all supported languages
+
foreach(lang Cvc Smt1 Smt2 Tptp)
string(TOLOWER ${lang} lang_dir)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${lang_dir})
@@ -78,10 +83,13 @@ foreach(lang Cvc Smt1 Smt2 Tptp)
set_source_files_properties(${gen_src_files} PROPERTIES GENERATED TRUE)
# Add generated source files to the parser source files
- list(APPEND cvc4parser_src_files ${gen_src_files})
+ list(APPEND libcvc4parser_src_files ${gen_src_files})
endforeach()
-add_library(cvc4parser ${cvc4parser_src_files})
+#-----------------------------------------------------------------------------#
+# libcvc4parser configuration
+
+add_library(cvc4parser ${libcvc4parser_src_files})
set_target_properties(cvc4parser PROPERTIES SOVERSION ${CVC4_SOVERSION})
target_compile_definitions(cvc4parser PRIVATE -D__BUILDING_CVC4PARSERLIB)
target_link_libraries(cvc4parser cvc4 ${ANTLR_LIBRARIES})
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback