about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJulian Büning <julian.buening@comsys.rwth-aachen.de>2020-11-17 10:20:35 +0100
committerCristian Cadar <c.cadar@imperial.ac.uk>2020-11-20 09:29:43 +0000
commite7fd8c10f03c99a373eb800cf03ba019dc35f81a (patch)
tree98bc1deb1ebd429106d455896d3a98907caa7a2d
parent4d548131c1ac079719a26b37867a6b18ba65cee1 (diff)
downloadklee-e7fd8c10f03c99a373eb800cf03ba019dc35f81a.tar.gz
slightly improve C++-related CMake strings
-rw-r--r--CMakeLists.txt28
-rw-r--r--README-CMake.md8
2 files changed, 21 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cc739d65..ba1e221b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -557,20 +557,24 @@ endif()
 ################################################################################
 # KLEE libcxx support
 ################################################################################
-option(ENABLE_KLEE_LIBCXX "Enable libcxx for klee" OFF)
+option(ENABLE_KLEE_LIBCXX "Enable libc++ for klee" OFF)
 if (ENABLE_KLEE_LIBCXX)
-  message(STATUS "klee-libcxx support enabled")
+  message(STATUS "klee-libc++ support enabled")
   set(SUPPORT_KLEE_LIBCXX 1) # For config.h
-  set(KLEE_LIBCXX_DIR "" CACHE PATH "Path to root directory with libcxx shared object")
+  set(KLEE_LIBCXX_DIR "" CACHE PATH "Path to directory containing libc++ shared object (bitcode)")
   if (NOT EXISTS "${KLEE_LIBCXX_DIR}")
     message(FATAL_ERROR
-      "${KLEE_LIBCXX_PATH} does not exist. Try passing -DKLEE_LIBCXX_DIR=<path>")
+      "KLEE_LIBCXX_DIR (\"${KLEE_LIBCXX_DIR}\") does not exist.\n"
+      "Try passing -DKLEE_LIBCXX_DIR=<path> to CMake where <path> is the path"
+      "to the directory containing the libc++ shared object file (as bitcode).")
   endif()
 
-  set(KLEE_LIBCXX_INCLUDE_DIR "" CACHE PATH "Path to libcxx include directory")
+  set(KLEE_LIBCXX_INCLUDE_DIR "" CACHE PATH "Path to libc++ include directory")
   if (NOT EXISTS "${KLEE_LIBCXX_INCLUDE_DIR}")
     message(FATAL_ERROR
-      "${KLEE_LIBCXX_INCLUDE_DIR} does not exist. Try passing -DKLEE_LIBCXX_INCLUDE_DIR=<path>")
+      "KLEE_LIBCXX_INCLUDE_DIR (\"${KLEE_LIBCXX_INCLUDE_DIR}\") does not exist.\n"
+      "Try passing -DKLEE_LIBCXX_INCLUDE_DIR=<path> to CMake where <path> is the"
+      "libc++ include directory.")
   endif()
   message(STATUS "Use libc++ include path: \"${KLEE_LIBCXX_INCLUDE_DIR}\"")
 
@@ -604,7 +608,7 @@ if (ENABLE_KLEE_LIBCXX)
   list(APPEND KLEE_COMPONENT_CXX_DEFINES
     -DKLEE_LIBCXX_BC_NAME=\"${KLEE_LIBCXX_BC_NAME}\")
 
-  # Add libcxx to the install target. We install the original
+  # Add libc++ to the install target. We install the original
   # file rather than the symlink because CMake would just copy the symlink
   # rather than the file.
   install(FILES "${KLEE_LIBCXX_BC_PATH}"
@@ -623,14 +627,16 @@ endif()
 option(ENABLE_KLEE_EH_CXX "Enable support for C++ Exceptions" OFF)
 if (ENABLE_KLEE_EH_CXX)
   if (NOT ENABLE_KLEE_LIBCXX)
-    message(FATAL_ERROR "C++ Exception support requires klee-libcxx."
-      "Pass `-DENABLE_KLEE_LIBCXX=ON` to enable it.")
+    message(FATAL_ERROR "C++ Exception support requires klee-libc++."
+      "Pass -DENABLE_KLEE_LIBCXX=ON to CMake to enable it.")
   endif()
 
-  set(KLEE_LIBCXXABI_SRC_DIR "" CACHE PATH "Path to libcxxabi source directory")
+  set(KLEE_LIBCXXABI_SRC_DIR "" CACHE PATH "Path to libc++abi source directory")
   if (NOT EXISTS "${KLEE_LIBCXXABI_SRC_DIR}")
     message(FATAL_ERROR
-      "${KLEE_LIBCXXABI_SRC_DIR} does not exist. Try passing -DKLEE_LIBCXXABI_SRC_DIR=<path>")
+      "KLEE_LIBCXXABI_SRC_DIR (\"${KLEE_LIBCXXABI_SRC_DIR}\") does not exist.\n"
+      "Try passing -DKLEE_LIBCXXABI_SRC_DIR=<path> to CMake where <path> is the"
+      "libc++abi source directory.")
   endif()
   message(STATUS "Use libc++abi source path: \"${KLEE_LIBCXXABI_SRC_DIR}\"")
 
diff --git a/README-CMake.md b/README-CMake.md
index b55ba513..a43b0f64 100644
--- a/README-CMake.md
+++ b/README-CMake.md
@@ -47,7 +47,7 @@ cmake -DCMAKE_BUILD_TYPE=Release /path/to/klee/src
 
 * `ENABLE_KLEE_EH_CXX` (BOOLEAN) - Enable support for C++ Exceptions.
 
-* `ENABLE_KLEE_LIBCXX` (BOOLEAN) - Enable libcxx for klee.
+* `ENABLE_KLEE_LIBCXX` (BOOLEAN) - Enable libc++ for klee.
 
 * `ENABLE_KLEE_UCLIBC` (BOOLEAN) - Enable support for klee-uclibc.
 
@@ -74,11 +74,11 @@ cmake -DCMAKE_BUILD_TYPE=Release /path/to/klee/src
 
 * `KLEE_ENABLE_TIMESTAMP` (BOOLEAN) - Enable timestamps in KLEE sources.
 
-* `KLEE_LIBCXX_DIR` (STRING) - Path to root directory with libcxx shared object.
+* `KLEE_LIBCXX_DIR` (STRING) - Path to directory containing libc++ shared object (bitcode).
 
-* `KLEE_LIBCXX_INCLUDE_DIR` (STRING) - Path to libcxx include directory.
+* `KLEE_LIBCXX_INCLUDE_DIR` (STRING) - Path to libc++ include directory.
 
-* `KLEE_LIBCXXABI_SRC_DIR` (STRING) - Path to libcxxabi source directory.
+* `KLEE_LIBCXXABI_SRC_DIR` (STRING) - Path to libc++abi source directory.
 
 * `KLEE_UCLIBC_PATH` (STRING) - Path to klee-uclibc root directory.