about summary refs log tree commit diff homepage
path: root/tools/klee-replay/CMakeLists.txt
blob: e0eb8d070ac7db68239deb988f5f45f80316beb7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#===------------------------------------------------------------------------===#
#
#                     The KLEE Symbolic Virtual Machine
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
#===------------------------------------------------------------------------===#
if (HAVE_PTY_H)
  add_executable(klee-replay
    fd_init.c
    file-creator.c
    klee-replay.c
    klee_init_env.c
  )

  target_link_libraries(klee-replay PRIVATE kleeBasic ${LIBCAP_LIBRARIES})
  # FIXME: This isn't quite right. This is actually an implementation detail
  # of glibc not Linux. Really we need to test if we can use `openpty()`
  # with/without an additional library.
  if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
    if (NOT LIBUTIL_LIBRARIES)
      message(FATAL_ERROR "klee-replay needs libutil under Linux")
    endif()
    target_link_libraries(klee-replay PRIVATE ${LIBUTIL_LIBRARIES})
  endif()
install(TARGETS klee-replay RUNTIME DESTINATION bin)
else()
  message(WARNING "Not building klee-replay due to missing \"pty.h\" header file")
endif()