about summary refs log tree commit diff homepage
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2024-02-08Add support for newer `libc++`; Simplify path detectionMartin Nowack
`libc++` include headers are now split between platform dependent and platform independent code. Before, only include files for the platform independent code were considered. Add support to automatically find platform dependent includes as well. Simplify the detection of libraries and paths. Instead of pointing to the `v1` directory, pointing to the include directory for `-DKLEE_LIBCXX_INCLUDE_PATH` is enough. Update build script to support this as well.
2024-01-12new: persistent ptree (-write-ptree) and klee-ptreeFrank Busse
Introduce three different kinds of process trees: 1. Noop: does nothing (e.g. no allocations for DFS) 2. InMemory: same behaviour as before (e.g. RandomPathSearcher) 3. Persistent: similar to InMemory but writes nodes to ptree.db and tracks information such as branch type, termination type or source location (asm) in nodes. Enabled with -write-ptree ptree.db files can be analysed/plotted with the new "klee-ptree" tool.
2023-06-07Changed version to 3.1-preCristian Cadar
2023-06-07Set version number to 3.0Cristian Cadar
2023-06-05CMake: use check_c_source_compiles() for FSTATAT_PATH_ACCEPTS_NULLJulian Büning
is a bit more convenient and avoids an extra file
2023-06-05config.h: include FSTATAT_PATH_ACCEPTS_NULLJulian Büning
This variable was introduced by d2f5906da4ae37a41ae257e5308d50e19689877b but not included in `config.h` before. As a result `#ifdef` would always fail. Moving the code is necessary to set the variable before `config.h` is created using `configure_file()` in CMakeLists.txt.
2023-06-05CMake: use built-in FindSQLite3 moduleJulian Büning
available since CMake version 3.14
2023-06-05CMake: remove obsolete commentsJulian Büning
obsoleted by changes in 3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c
2023-06-05CMake: remove obsolete KLEE_COMPONENT_EXTRA_LIBRARIESJulian Büning
This variable was previously used by `klee_add_component()`, which got removed as part of 3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c.
2023-06-05CMake: remove unused TARGET_LIBS variableJulian Büning
It appears that this variable was never used, already when it was first set in 7e75b491d389c15d48a5cfc455ba9442d7c108ed.
2023-03-30fix CMake: -UNDEBUGJulian Büning
2023-03-22Change `llvm_map_components_to_libnames` to `llvm_config` CMake functionMartin Nowack
With recent LLVM versions, this should allow to link against dynamic LLVM libraries.
2023-03-22use C++17Julian Büning
2023-03-22Require minimal version of CMake 3.16 for KLEEMartin Nowack
This is the default version for Ubuntu 20.04 and should be available for most distributions. Moreover this should allow to move STP forward with their changes. (https://github.com/stp/stp/issues/375#issuecomment-889178863)
2023-03-22Explicitly check if 32bit support is enabled for testingMartin Nowack
Ignore test in the first place, if no 32bit is enabled.
2023-03-17[cmake] Use LLVM's CMake functionality onlyMartin Nowack
LLVM became more complex, use LLVM's CMake functionality directly instead of replicating this behaviour in KLEE's build system. Use the correct build flags provided by LLVM itself. This is influenced by the way LLVM is built in the first place. Remove older CMake support (< 3.0).
2022-06-30remove LLVM < 9Frank Busse
2022-04-28Make Uclibc support a runtime option, not a compile-time one.Gleb Popov
2022-04-25use mallinfo2 if availableFrank Busse
2022-04-04Set version number to 3.0-preCristian Cadar
2022-04-04Setting version to 2.3Cristian Cadar
2022-03-22Require cmake 3.9+Cristian Cadar
2021-12-19cmake: copy klee-uclibc and klee-libcxx to expected locationsLukas Zaoral
Before this change, we created a symlink to the given libraries in their expected location and then installed the original library. This was problematic as the install directives are performed the order they are encountered during the configure step and the installation of directory containing the symlink was processed after the installation of the original library. Therefore, the original libraries were installed but were subsequently overwritten by the symlinks that can become broken rather easily. This commit changes the behaviour so that we create copy the libraries to the expected location and install them together with the rest of the KLEE runtime as was originally intended.
2021-03-05Add cmake custom target `uninstall`jiseongg
`make uninstall` is enabled. Without this, uninstalling was done manually with `rm` command.
2021-03-04cmake: Fix warning about implicit type conversionLukas Zaoral
Fixes: CMake Warning (dev) at CMakeLists.txt:478 (set): implicitly converting 'String' to 'STRING' type. This warning is for project developers. Use -Wno-dev to suppress it.
2021-02-16renaming 'libcxx' -> 'libc++'Julian Büning
2020-12-18retire some build system legacyJulian Büning
2020-12-07Advancing version to 2.3-preCristian Cadar
2020-12-07Update version to 2.2 v2.2 2.2.xCristian Cadar
2020-12-04Only build 32bit runtime libraries if supported by platformMartin Nowack
Automatically detect if 32bit bitcode files can be built. In this case, build runtime library with 32bit as well.
2020-11-20slightly improve C++-related CMake stringsJulian Büning
2020-11-20fix CMake: libcxxabi is only required with KLEE_EH_CXXJulian Büning
2020-11-04[cmake] Add support to generate arbitrary runtime library configurationsMartin Nowack
Every runtime library can be build with multiple configurations. Replace the Makefile-based setup by cmake one. Currently, we generate 32bit and 64bit libraries simultaneously and can link against them.
2020-11-04[cmake] Always create KLEE runtime directory even if POSIX is not builtMartin Nowack
2020-11-04[cmake] Remove clean_all target as not needed by any additional targetMartin Nowack
2020-11-04[cmake] Remove several leftovers from old autoconf build systemMartin Nowack
2020-11-04[cmake] Switch to "newer" cmake version 3.5.0Martin Nowack
Ubuntu 16.04 supports cmake 3.5.0 as default. Cmake 2.8.12 was the default in 14.04. Use cmake 3 to simplify cmake files.
2020-10-12Exception handling only for LLVM >= 8.0.0Julian Büning
2020-10-12fix building klee-cxxabiJulian Büning
Co-authored-by: Felix Rath <felix.rath@comsys.rwth-aachen.de>
2020-10-12Implemented support for C++ ExceptionsFelix Rath
We implement the Itanium ABI unwinding base-API, and leave the C++-specific parts to libcxxabi. Co-authored-by: Lukas Wölfer <lukas.woelfer@rwth-aachen.de>
2020-03-06Updating KLEE's version post-releaseCristian Cadar
2020-03-03Set version to 2.1Cristian Cadar
2019-07-30CMake: show values of optional LLVM variablesJulian Büning
2019-04-04Clean klee-stats, StatsTracker and cmakeTimotej Kapus
2019-04-02Do not take sys/capability.h header into account on FreeBSD. Also use ↵Gleb Popov
libutil.h header there.
2019-03-20Moving to version 2.1-preCristian Cadar
2019-03-19Set version to 2.0!Cristian Cadar
2019-03-17Cmake enhance detection of C++ libraries and include filesMartin Nowack
* Use directory instead of libc++ files * support `bca` and `ba` files * Add additional checks if directories exist
2019-03-17Added libcxx flagLukas Wölfer
2019-03-12Add support to compile KLEE with MemorySanitizer (MSan)Martin Nowack