Cancel thread asynchronously.
[dabba.git] / CMakeLists.txt
blob3d1865c5fd0626ba727c513f73ac3fa8420289ff
1 PROJECT(dabba C)
3 # States that CMake required version must be >= 2.6
4 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
6 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
7 # Activate this when you want to build a shared lib out the the lib/ directory
8 # Bear in mind that no profiling will be available on 64-bit arch when on
9 # SET(BUILD_SHARED_LIBS ON)
11 FIND_PACKAGE(Threads REQUIRED)
13 IF(CMAKE_HAVE_PTHREAD_CREATE)
14         SET(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT})
15 ELSE(CMAKE_HAVE_PTHREAD_CREATE)
16         MESSAGE(FATAL_ERROR "The framework only supports pthread")
17 ENDIF(CMAKE_HAVE_PTHREAD_CREATE)
19 FIND_PACKAGE(Doxygen)
20 FIND_PACKAGE(Setcap)
22 IF(NOT SETCAP_FOUND)
23         MESSAGE("WARNING! It is highly recommanded to have setcap. See README")
24 ENDIF(NOT SETCAP_FOUND)
26 INCLUDE(CheckBPFAttach)
27 INCLUDE(CheckPFPacket)
28 INCLUDE(CheckStrictAlign)
29 INCLUDE(CheckTxRing)
31 ADD_DEFINITIONS(
32         -W
33         -Wextra
34         -Wall
35         -Werror
36         -pedantic
37         -pedantic-errors
38         -std=gnu99
39         -O2
40         -z relo
41         -pie
42         -fstack-protector
43         -D_REENTRANT
44         -D_FORTIFY_SOURCE=2
47 IF (CMAKE_BUILD_TYPE STREQUAL profile)
48         ADD_DEFINITIONS(-g -pg)
49 ENDIF (CMAKE_BUILD_TYPE STREQUAL profile)
51 ENABLE_TESTING()
53 ADD_SUBDIRECTORY(dabbacore)