-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathCMakeLists.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}")