# Generate CVC4's cvc4autoconfig.h header
include(ConfigureCVC4)
+if(NOT ENABLE_SHARED)
+ set(CVC4_STATIC_BUILD ON)
+endif()
configure_file(cvc4autoconfig.h.in cvc4autoconfig.h)
+unset(CVC4_STATIC_BUILD)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
#-----------------------------------------------------------------------------#
available on the system. Override with `ARGS=-jN`.
Use `-jN` for parallel **building** with `N` threads.
+
+
+## Recompiling a specific CVC4 version with different LGPL library versions
+
+To recompile a specific static binary of CVC4 with different versions of the
+linked LGPL libraries perform the following steps:
+
+1. Make sure that you have installed the desired LGPL library versions.
+ You can check the versions found by CVC4's build system during the configure
+ phase.
+
+2. Determine the commit sha and configuration of the CVC4 binary
+```
+cvc4 --show-config
+```
+3. Download the specific source code version:
+```
+wget https://github.com/CVC4/CVC4/archive/<commit-sha>.tar.gz
+```
+4. Extract the source code
+```
+tar xf <commit-sha>.tar.gz
+```
+5. Change into source code directory
+```
+cd CVC4-<commit-sha>
+```
+6. Configure CVC4 with options listed by `cvc4 --show-config`
+```
+./configure.sh --static <options>
+```
+
+7. Follow remaining steps from [build instructions](#building-cvc4)
/* Define to 1 if `strerror_r' returns (char *). */
#cmakedefine01 STRERROR_R_CHAR_P
+#cmakedefine01 CVC4_STATIC_BUILD
+
#endif /* __CVC4__CVC4AUTOCONFIG_H */
return IS_COMPETITION_BUILD;
}
+bool Configuration::isStaticBuild()
+{
+#if defined(CVC4_STATIC_BUILD)
+ return true;
+#else
+ return false;
+#endif
+}
+
string Configuration::getPackageName() {
return CVC4_PACKAGE_NAME;
}
<< " See https://github.com/SRI-CSL/libpoly for copyright and\n"
<< " licensing information.\n\n";
}
+ if (Configuration::isStaticBuild())
+ {
+ ss << "CVC4 is statically linked against these libraries. To recompile\n"
+ "this version of CVC4 with different versions of these libraries\n"
+ "follow the instructions on "
+ "https://github.com/CVC4/CVC4/blob/master/INSTALL.md\n\n";
+ }
}
if (Configuration::isBuiltWithCln()
static bool isCompetitionBuild();
+ static bool isStaticBuild();
+
static std::string getPackageName();
static std::string getVersionString();