cmake: Updated and prettified configuration printing.
authorAina Niemetz <aina.niemetz@gmail.com>
Fri, 7 Sep 2018 21:13:44 +0000 (14:13 -0700)
committerMathias Preiner <mathias.preiner@gmail.com>
Sat, 22 Sep 2018 23:30:59 +0000 (16:30 -0700)
CMakeLists.txt

index 883ebc7523729ed55ee9b07e0751d54747253451..5aa67f6c08161781ea4c21a0105a7dec8a3fe18d 100644 (file)
@@ -280,6 +280,9 @@ endif()
 cvc4_set_option(ENABLE_PORTFOLIO OFF)
 cvc4_set_option(ENABLE_SHARED ON)
 cvc4_set_option(ENABLE_VALGRIND OFF)
+cvc4_set_option(USE_ABC OFF)
+cvc4_set_option(USE_GLPK OFF)
+cvc4_set_option(USE_READLINE OFF)
 
 #-----------------------------------------------------------------------------#
 # Set options for best configuration
@@ -567,7 +570,6 @@ endif()
 
 #-----------------------------------------------------------------------------#
 # Print build configuration
-
 if(CVC4_BUILD_PROFILE_PRODUCTION)
   set(CVC4_BUILD_PROFILE_STRING "production")
 elseif(CVC4_BUILD_PROFILE_DEBUG)
@@ -582,45 +584,88 @@ endif()
 get_directory_property(CVC4_DEFINITIONS COMPILE_DEFINITIONS)
 string(REPLACE ";" " " CVC4_DEFINITIONS "${CVC4_DEFINITIONS}")
 
+# Print configuration of 2/3-valued option 'var' with prefix 'str'
+macro(print_config str var)
+  if(${var} STREQUAL "ON")
+    set(OPT_VAL_STR "on")
+  elseif(${var} STREQUAL "OFF")
+    set(OPT_VAL_STR "off")
+  elseif(${var} STREQUAL "IGNORE")
+    set(OPT_VAL_STR "default")
+  endif()
+  message("${str} ${OPT_VAL_STR}")
+endmacro()
+
 message("CVC4 ${CVC4_RELEASE_STRING}")
 message("")
 message("Build profile        : ${CVC4_BUILD_PROFILE_STRING}")
-message("Optimized            : ${ENABLE_OPTIMIZED}")
-message("Optimization level   : ${OPTIMIZATION_LEVEL}")
-message("Debug symbols        : ${ENABLE_DEBUG_SYMBOLS}")
-message("Debug context mem mgr: ${ENABLE_DEBUG_CONTEXT_MM}")
-message("Proofs               : ${ENABLE_PROOFS}")
-message("Statistics           : ${ENABLE_STATISTICS}")
-message("Replay               : ${ENABLE_REPLAY}")
-message("Assertions           : ${ENABLE_ASSERTIONS}")
-message("Tracing              : ${ENABLE_TRACING}")
-message("Dumping              : ${ENABLE_DUMPING}")
-message("Muzzle               : ${ENABLE_MUZZLE}")
 message("")
-message("Unit tests           : ${ENABLE_UNIT_TESTING}")
-message("Coverage (gcov)      : ${ENABLE_COVERAGE}")
-message("Profiling (gprof)    : ${ENABLE_PROFILING}")
+print_config("GPL                  :" ENABLE_GPL)
+print_config("Best configuration   :" ENABLE_BEST)
+print_config("Optimized            :" ENABLE_OPTIMIZED)
+print_config("Optimization level   :" OPTIMIZATION_LEVEL)
 message("")
-message("Shared libs          : ${ENABLE_SHARED}")
-#message("Static binary: ${enable_static_binary}")
-#message("Compat lib   : ${CVC4_BUILD_LIBCOMPAT}")
-#message("Bindings     : ${bindings_to_be_built}")
-#message("")
-#message("Multithreaded: ${support_multithreaded}")
-message("Portfolio            : ${ENABLE_PORTFOLIO}")
+print_config("Assertions           :" ENABLE_ASSERTIONS)
+print_config("Debug symbols        :" ENABLE_DEBUG_SYMBOLS)
+print_config("Debug context mem mgr:" ENABLE_DEBUG_CONTEXT_MM)
 message("")
-message("ABC                  : ${USE_ABC}")
-message("CaDiCaL              : ${USE_CADICAL}")
-message("CryptoMiniSat        : ${USE_CRYPTOMINISAT}")
-message("GLPK                 : ${USE_GLPK}")
-message("LFSC                 : ${USE_LFSC}")
+print_config("Dumping              :" ENABLE_DUMPING)
+print_config("Muzzle               :" ENABLE_MUZZLE)
+print_config("Proofs               :" ENABLE_PROOFS)
+print_config("Replay               :" ENABLE_REPLAY)
+print_config("Statistics           :" ENABLE_STATISTICS)
+print_config("Tracing              :" ENABLE_TRACING)
+message("")
+print_config("Asan                 :" ENABLE_ASAN)
+print_config("Coverage (gcov)      :" ENABLE_COVERAGE)
+print_config("Profiling (gprof)    :" ENABLE_PROFILING)
+print_config("Unit tests           :" ENABLE_UNIT_TESTING)
+print_config("Valgrind             :" ENABLE_VALGRIND)
+message("")
+print_config("Shared libs          :" ENABLE_SHARED)
+print_config("Java bindings        :" BUILD_BINDINGS_JAVA)
+print_config("Python bindings      :" BUILD_BINDINGS_PYTHON)
+message("")
+print_config("Portfolio            :" ENABLE_PORTFOLIO)
+message("")
+print_config("ABC                  :" USE_ABC)
+print_config("CaDiCaL              :" USE_CADICAL)
+print_config("CryptoMiniSat        :" USE_CRYPTOMINISAT)
+print_config("GLPK                 :" USE_GLPK)
+print_config("LFSC                 :" USE_LFSC)
+
 if(CVC4_USE_CLN_IMP)
   message("MP library           : cln")
 else()
   message("MP library           : gmp")
 endif()
-message("Readline             : ${USE_READLINE}")
-message("SymFPU               : ${USE_SYMFPU}")
+print_config("Readline             :" ${USE_READLINE})
+print_config("SymFPU               :" ${USE_SYMFPU})
+message("")
+if(ABC_DIR)
+  message("ABC dir              : ${ABC_DIR}")
+endif()
+if(ANTLR_DIR)
+  message("ANTLR dir            : ${ANTLR_DIR}")
+endif()
+if(CADICAL_DIR)
+  message("CADICAL dir          : ${CADICAL_DIR}")
+endif()
+if(CRYPTOMINISAT_DIR)
+  message("CRYPTOMINISAT dir    : ${CRYPTOMINISAT_DIR}")
+endif()
+if(GLPK_DIR)
+  message("GLPK dir             : ${GLPK_DIR}")
+endif()
+if(GMP_DIR)
+  message("GMP dir              : ${GMP_DIR}")
+endif()
+if(LFSC_DIR)
+  message("LFSC dir              : ${LFSC_DIR}")
+endif()
+if(SYMFPU_DIR)
+  message("SYMFPU dir              : ${SYMFPU_DIR}")
+endif()
 message("")
 message("CPPLAGS (-D...)      : ${CVC4_DEFINITIONS}")
 message("CXXFLAGS             : ${CMAKE_CXX_FLAGS}")
@@ -638,7 +683,7 @@ message("")
 
 if(GPL_LIBS)
   message(
-  "CVC4 license      : GPLv3 (due to optional libraries; see below)"
+  "CVC4 license         : GPLv3 (due to optional libraries; see below)"
   "\n"
   "\n"
   "Please note that CVC4 will be built against the following GPLed libraries:"
@@ -655,7 +700,7 @@ if(GPL_LIBS)
   )
 else()
   message(
-  "CVC4 license      : modified BSD"
+  "CVC4 license         : modified BSD"
   "\n"
   "\n"
   "Note that this configuration is NOT built against any GPL'ed libraries, so"