Features:
The following flags enable optional features (disable with --no-<option name>).
--static build static libraries and binaries [default=no]
- --static-binary statically link against system libraries
- (must be disabled for static macOS builds) [default=yes]
--auto-download automatically download dependencies if necessary
--debug-symbols include debug symbols
--valgrind Valgrind instrumentation
The following flags enable optional packages (disable with --no-<option name>).
--cln use CLN instead of GMP
--glpk use GLPK simplex solver
- --abc use the ABC AIG library
--cryptominisat use the CryptoMiniSat SAT solver
--kissat use the Kissat SAT solver
--poly use the LibPoly library [default=yes]
--editline support the editline library
Optional Path to Optional Packages:
- --abc-dir=PATH path to top level of ABC source tree
--glpk-dir=PATH path to top level of GLPK installation
--dep-path=PATH path to a dependency installation dir
buildtype=default
-abc=default
asan=default
assertions=default
auto_download=default
python_bindings=default
java_bindings=default
editline=default
-shared=default
-static_binary=default
+build_shared=ON
statistics=default
tracing=default
tsan=default
werror=default
ipo=default
-abc_dir=default
glpk_dir=default
-lib_only=default
-
#--------------------------------------------------------------------------#
cmake_opts=""
-h|--help) usage;;
- --abc) abc=ON;;
- --no-abc) abc=OFF;;
-
--asan) asan=ON;;
--no-asan) asan=OFF;;
# Best configuration
--best)
ipo=ON
- abc=ON
cln=ON
cryptominisat=ON
glpk=ON
--muzzle) muzzle=ON;;
--no-muzzle) muzzle=OFF;;
- --static) shared=OFF; static_binary=ON;;
- --no-static) shared=ON;;
-
- --static-binary) static_binary=ON;;
- --no-static-binary) static_binary=OFF;;
+ --static) build_shared=OFF;;
+ --no-static) build_shared=ON;;
--auto-download) auto_download=ON;;
--no-auto-download) auto_download=OFF;;
--editline) editline=ON;;
--no-editline) editline=OFF;;
- --abc-dir) die "missing argument to $1 (try -h)" ;;
- --abc-dir=*) abc_dir=${1##*=} ;;
-
--glpk-dir) die "missing argument to $1 (try -h)" ;;
--glpk-dir=*) glpk_dir=${1##*=} ;;
--dep-path) die "missing argument to $1 (try -h)" ;;
--dep-path=*) dep_path="${dep_path};${1##*=}" ;;
- --lib-only) lib_only=ON ;;
-D*) cmake_opts="${cmake_opts} $1" ;;
-*) die "invalid option '$1' (try -h)";;
[ $ninja != default ] && cmake_opts="$cmake_opts -G Ninja"
[ $muzzle != default ] \
&& cmake_opts="$cmake_opts -DENABLE_MUZZLE=$muzzle"
-[ $shared != default ] \
- && cmake_opts="$cmake_opts -DENABLE_SHARED=$shared"
-[ $static_binary != default ] \
- && cmake_opts="$cmake_opts -DENABLE_STATIC_BINARY=$static_binary"
+[ $build_shared != default ] \
+ && cmake_opts="$cmake_opts -DBUILD_SHARED_LIBS=$build_shared"
[ $statistics != default ] \
&& cmake_opts="$cmake_opts -DENABLE_STATISTICS=$statistics"
[ $tracing != default ] \
&& cmake_opts="$cmake_opts -DENABLE_PROFILING=$profiling"
[ $editline != default ] \
&& cmake_opts="$cmake_opts -DUSE_EDITLINE=$editline"
-[ $abc != default ] \
- && cmake_opts="$cmake_opts -DUSE_ABC=$abc"
[ $cln != default ] \
&& cmake_opts="$cmake_opts -DUSE_CLN=$cln"
[ $cryptominisat != default ] \
&& cmake_opts="$cmake_opts -DUSE_POLY=$poly"
[ $cocoa != default ] \
&& cmake_opts="$cmake_opts -DUSE_COCOA=$cocoa"
-[ "$abc_dir" != default ] \
- && cmake_opts="$cmake_opts -DABC_DIR=$abc_dir"
[ "$glpk_dir" != default ] \
&& cmake_opts="$cmake_opts -DGLPK_DIR=$glpk_dir"
[ "$dep_path" != default ] \
&& cmake_opts="$cmake_opts -DCMAKE_PREFIX_PATH=$dep_path"
-[ "$lib_only" != default ] \
- && cmake_opts="$cmake_opts -DBUILD_LIB_ONLY=$lib_only"
[ "$install_prefix" != default ] \
&& cmake_opts="$cmake_opts -DCMAKE_INSTALL_PREFIX=$install_prefix"
[ -n "$program_prefix" ] \