summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorGereon Kremer <nafur42@gmail.com>2021-10-27 16:05:02 -0700
committerGitHub <noreply@github.com>2021-10-27 16:05:02 -0700
commit75f92b54a63f80aabf6591e9033f28c62d9ed030 (patch)
tree893c423b4f38b6b2a57c6fd386be8e7f702b17df /src/CMakeLists.txt
parent2519a0ba0491b8500799b56caf952a15bf2d0409 (diff)
parent95685c06c1c3983bc50a5cf4b4196fc1c5ae2247 (diff)
Merge branch 'master' into issue7504issue7504
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt61
1 files changed, 35 insertions, 26 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5bde94a5d..2cb3457e1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -887,6 +887,8 @@ libcvc5_add_sources(
theory/quantifiers/quantifiers_statistics.h
theory/quantifiers/query_generator.cpp
theory/quantifiers/query_generator.h
+ theory/quantifiers/query_generator_unsat.cpp
+ theory/quantifiers/query_generator_unsat.h
theory/quantifiers/relevant_domain.cpp
theory/quantifiers/relevant_domain.h
theory/quantifiers/single_inv_partition.cpp
@@ -1242,36 +1244,43 @@ if (BUILD_DOCS)
)
endif()
+# The mkoptions.py script only updates its output files if their content would
+# actually change. This mechanism makes sure that running the script does not
+# automatically trigger a full rebuild, but only a rebuild of those parts that
+# include files that did actually change.
+# This approach also means that the output files (which gen-options used to
+# depend on) may not actually be updated and thus cmake would keep re-running
+# mkoptions.py over and over again.
+# We thus have an artificial options.stamp file that mkoptions.py always writes
+# to, and can thus be used to communicate that all options files have been
+# properly updated.
add_custom_command(
- OUTPUT
- ${options_gen_cpp_files} ${options_gen_h_files}
- ${options_gen_doc_files}
- COMMAND
- ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/options
- COMMAND
- ${PYTHON_EXECUTABLE}
- ${CMAKE_CURRENT_LIST_DIR}/options/mkoptions.py
- ${CMAKE_CURRENT_LIST_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${abs_toml_files}
- DEPENDS
- options/mkoptions.py
- ${options_toml_files}
- main/options_template.cpp
- options/module_template.h
- options/module_template.cpp
- options/options_public_template.cpp
- options/options_template.h
- options/options_template.cpp
-)
-
-add_custom_target(gen-options
+ OUTPUT
+ options/options.stamp
+ COMMAND
+ ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/options
+ COMMAND
+ ${PYTHON_EXECUTABLE}
+ ${CMAKE_CURRENT_LIST_DIR}/options/mkoptions.py
+ ${CMAKE_CURRENT_LIST_DIR}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${abs_toml_files}
+ BYPRODUCTS
+ ${options_gen_cpp_files} ${options_gen_h_files} ${options_gen_doc_files}
DEPENDS
- ${options_gen_cpp_files}
- ${options_gen_h_files}
+ options/mkoptions.py
+ ${options_toml_files}
+ main/options_template.cpp
+ options/module_template.h
+ options/module_template.cpp
+ options/options_public_template.cpp
+ options/options_template.h
+ options/options_template.cpp
)
+add_custom_target(gen-options DEPENDS options/options.stamp)
+
#-----------------------------------------------------------------------------#
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback