/
CMakeLists.txt
38 lines (34 loc) · 1.24 KB
/
CMakeLists.txt
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
31
32
33
34
35
36
37
38
cmake_minimum_required (VERSION 3.0)
project (afl-dynamorio)
set(CXXFLAGS "-O3 -funroll-loops")
OPTION(DEBUG "Build the project using debugging code" OFF)
OPTION(ALTERNATIVE "Build the project with alternative coverage code" OFF)
OPTION(TESTER "Build the project with writing debug to file" OFF)
IF(ALTERNATIVE)
MESSAGE("Adding ALTERNATIVE flag...")
ADD_DEFINITIONS(-DALTERNATIVE)
SET(CMAKE_BUILD_TYPE Alternative)
MESSAGE("Build type is " ${CMAKE_BUILD_TYPE})
ENDIF(ALTERNATIVE)
IF(DEBUG)
MESSAGE("Adding Debug flag...")
ADD_DEFINITIONS(-DDEBUG)
SET(CMAKE_BUILD_TYPE Debug)
MESSAGE("Build type is " ${CMAKE_BUILD_TYPE})
ENDIF(DEBUG)
IF(TESTER)
MESSAGE("Adding Tester flag...")
ADD_DEFINITIONS(-DTESTER)
SET(CMAKE_BUILD_TYPE Tester)
MESSAGE("Build type is " ${CMAKE_BUILD_TYPE})
ENDIF(TESTER)
add_library(afl-dynamorio SHARED afl-dynamorio.cpp)
find_package(DynamoRIO REQUIRED)
configure_DynamoRIO_client(afl-dynamorio)
use_DynamoRIO_extension(afl-dynamorio "drx")
use_DynamoRIO_extension(afl-dynamorio "drsyms")
use_DynamoRIO_extension(afl-dynamorio "drmgr")
use_DynamoRIO_extension(afl-dynamorio "drwrap")
use_DynamoRIO_extension(afl-dynamorio "droption")
set(CMAKE_C_FLAGS "${CFLAGS}")
set(CMAKE_CXX_FLAGS "-std=c++14 -flto ${CXXFLAGS}")