-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
66 lines (54 loc) · 2.65 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Copyright (c) 2015, Romain Létendart
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
cmake_minimum_required(VERSION 2.8)
project(Geecxx)
set(TARGET "geecxx")
include(GNUInstallDirs) # Provides standard variables for specifying install paths (defaulting to Linux standards)
# Options
option(WITH_TESTS "Generate tests binaries and data" OFF)
# Find required packages
find_package(Boost 1.53 COMPONENTS locale program_options regex system REQUIRED)
find_package(Threads REQUIRED)
find_package(CURL REQUIRED)
find_package(PkgConfig)
if(WITH_TESTS)
pkg_check_modules(CPPUNIT REQUIRED cppunit>=1.13)
endif()
# Initialize CXXFLAGS
set(CMAKE_CXX_FLAGS "-Wall -Werror -std=c++11")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
# Configuration
if(NOT WITH_LOG_LEVEL)
set(WITH_LOG_LEVEL 1 CACHE STRING "Log level threshold (0=DEBUG;1=INFO;2=WARNING;3=ERROR)")
endif()
set(GEECXX_BIN_DIR "${CMAKE_INSTALL_FULL_BINDIR}/")
set(GEECXX_CONF_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${TARGET}/")
set(GEECXX_LOCAL_DATA_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/${TARGET}/")
configure_file(${Geecxx_SOURCE_DIR}/src/globalconfig.h.in ${Geecxx_BINARY_DIR}/src/globalconfig.h)
configure_file(${Geecxx_SOURCE_DIR}/src/loggerconfig.h.in ${Geecxx_BINARY_DIR}/src/loggerconfig.h)
add_subdirectory(src)
if(WITH_TESTS)
add_subdirectory(tests)
endif()
install(FILES ${Geecxx_SOURCE_DIR}/external/ca-bundle/ca-bundle.crt DESTINATION ${GEECXX_CONF_DIR})