Added basic target checks in CMake
[dabba.git] / CMakeLists.txt
blobb85d6c58154344dc5fb041ee167694a41927b461
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)
21 INCLUDE(CheckBPFAttach)
22 INCLUDE(CheckPFPacket)
23 INCLUDE(CheckStrictAlign)
24 INCLUDE(CheckTxRing)
26 ADD_DEFINITIONS(
27         -W
28         -Wextra
29         -Wall
30         -Werror
31         -pedantic
32         -pedantic-errors
33         -std=gnu99
34         -O2
35         -z relo
36         -pie
37         -fstack-protector
38         -D_REENTRANT
39         -D_FORTIFY_SOURCE=2
42 IF (CMAKE_BUILD_TYPE STREQUAL profile)
43         ADD_DEFINITIONS(-g -pg)
44 ENDIF (CMAKE_BUILD_TYPE STREQUAL profile)
46 ENABLE_TESTING()