Marco Poletti | cf798fa | 2014-06-21 15:05:15 +0100 | [diff] [blame] | 1 | project(injection) |
| 2 | cmake_minimum_required(VERSION 2.8) |
| 3 | |
| 4 | if(NOT CMAKE_BUILD_TYPE) |
| 5 | set(CMAKE_BUILD_TYPE "Release") |
| 6 | endif() |
| 7 | |
Marco Poletti | 050d600 | 2014-11-09 18:18:40 +0000 | [diff] [blame^] | 8 | add_definitions(-std=c++11 -W -Wall) |
Marco Poletti | 71c36de | 2014-11-01 10:51:07 +0000 | [diff] [blame] | 9 | if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") |
Marco Poletti | 050d600 | 2014-11-09 18:18:40 +0000 | [diff] [blame^] | 10 | add_definitions(-g -O2 -Werror -DFRUIT_EXTRA_DEBUG -D_GLIBCXX_DEBUG -ftemplate-backtrace-limit=0) |
Marco Poletti | 71c36de | 2014-11-01 10:51:07 +0000 | [diff] [blame] | 11 | endif() |
Marco Poletti | cf798fa | 2014-06-21 15:05:15 +0100 | [diff] [blame] | 12 | |
Marco Poletti | 71c36de | 2014-11-01 10:51:07 +0000 | [diff] [blame] | 13 | include_directories(${CMAKE_SOURCE_DIR}/include) |
Marco Poletti | 06a1d1e | 2014-09-20 20:59:51 +0100 | [diff] [blame] | 14 | |
Marco Poletti | 2f4a41c | 2014-10-18 09:48:28 -0700 | [diff] [blame] | 15 | #set(CMAKE_CXX_COMPILER "/usr/bin/clang++") |
Marco Poletti | cf798fa | 2014-06-21 15:05:15 +0100 | [diff] [blame] | 16 | |
Marco Poletti | 81e03d5 | 2014-11-01 18:21:04 +0000 | [diff] [blame] | 17 | # Unsafe, only for debugging/benchmarking. |
Marco Poletti | 050d600 | 2014-11-09 18:18:40 +0000 | [diff] [blame^] | 18 | #add_definitions(-DFRUIT_NO_LOOP_CHECK) |
Marco Poletti | 81e03d5 | 2014-11-01 18:21:04 +0000 | [diff] [blame] | 19 | |
| 20 | |
Marco Poletti | e66e1e7 | 2014-06-21 18:07:22 +0100 | [diff] [blame] | 21 | set(INSTALL_LIBRARY_DIR lib CACHE PATH "Installation directory for libraries") |
| 22 | set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for headers") |
| 23 | |
Marco Poletti | 23d852c | 2014-11-01 16:34:02 +0000 | [diff] [blame] | 24 | set(FRUIT_VERSION "0.9.6") |
Marco Poletti | cc3a623 | 2014-07-27 16:23:11 +0100 | [diff] [blame] | 25 | |
Marco Poletti | cf798fa | 2014-06-21 15:05:15 +0100 | [diff] [blame] | 26 | enable_testing() |
| 27 | |
| 28 | add_subdirectory(src) |
Marco Poletti | 1fb101f | 2014-10-12 16:18:17 +0100 | [diff] [blame] | 29 | |
| 30 | if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") |
| 31 | # Do not exclude these from "make all" in debug mode, they must build. |
| 32 | add_subdirectory(extras) |
| 33 | add_subdirectory(examples) |
| 34 | add_subdirectory(tests) |
| 35 | else() |
| 36 | add_subdirectory(extras EXCLUDE_FROM_ALL) |
| 37 | add_subdirectory(examples EXCLUDE_FROM_ALL) |
| 38 | add_subdirectory(tests EXCLUDE_FROM_ALL) |
| 39 | endif() |
| 40 | |
Marco Poletti | d5dc2eb | 2014-07-05 17:07:57 +0100 | [diff] [blame] | 41 | add_subdirectory(doc EXCLUDE_FROM_ALL) |
Marco Poletti | cf798fa | 2014-06-21 15:05:15 +0100 | [diff] [blame] | 42 | |
| 43 | install(DIRECTORY include |
Marco Poletti | e66e1e7 | 2014-06-21 18:07:22 +0100 | [diff] [blame] | 44 | DESTINATION ${INSTALL_INCLUDE_DIR}/fruit |
Marco Poletti | cf798fa | 2014-06-21 15:05:15 +0100 | [diff] [blame] | 45 | FILES_MATCHING PATTERN "*.h") |