forked from reverbrain/elliptics-fastcgi-old
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
70 lines (50 loc) · 1.92 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
67
68
69
cmake_minimum_required( VERSION 2.6 )
project(elliptics-fastcgi)
FILE (READ "${CMAKE_CURRENT_SOURCE_DIR}/debian/changelog" DEBCHANGELOG)
string(REGEX MATCH "([0-9]+\\.[0-9]+-[0-9]+)" DEBFULLVERSION "${DEBCHANGELOG}")
STRING (REGEX MATCH "([0-9]+\\.[0-9]+)" MAJOR_VERSION "${DEBFULLVERSION}")
STRING (REGEX MATCH "([0-9]+$)" MINOR_VERSION "${DEBFULLVERSION}")
message("Deb full version: ${DEBFULLVERSION}")
option(WITH_METABASE "Build with metabase and metabalancer support" ON)
option(WITH_REGIONAL_MODULE "Build with regional module support" ON)
SET(CMAKE_CXX_FLAGS "-Wall -std=c++0x")
find_package(Boost COMPONENTS system thread REQUIRED)
set(REQUIRED_LIBRARIES
elliptics_cpp
curl
magic
${Boost_SYSTEM_LIBRARY}
${Boost_THREAD_LIBRARY})
SET(HAVE_REGIONAL false)
IF(WITH_REGIONAL_MODULE)
SET(HAVE_REGIONAL true)
FIND_LIBRARY(REGIONAL_MODULE
NAMES elliptics-regional-module.so
PATHS ${CMAKE_INSTALL_PREFIX}/lib/fastcgi2)
IF(${REGIONAL_MODULE} STREQUAL "REGIONAL_MODULE-NOTFOUND")
SET(HAVE_REGIONAL false)
ENDIF()
IF(HAVE_REGIONAL)
SET(REQUIRED_LIBRARIES
${REQUIRED_LIBRARIES}
${REGIONAL_MODULE})
ENDIF()
message("Regional module: ${HAVE_REGIONAL} ${REGIONAL_MODULE}")
ENDIF()
CONFIGURE_FILE(
"${PROJECT_SOURCE_DIR}/module/settings.h.in"
"${PROJECT_SOURCE_DIR}/module/settings.h")
AUX_SOURCE_DIRECTORY(module SOURCES)
ADD_LIBRARY(elliptics-fastcgi SHARED ${SOURCES})
SET_TARGET_PROPERTIES(
elliptics-fastcgi PROPERTIES
PREFIX ""
INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib/fastcgi2"
VERSION "${MAJOR_VERSION}.${MINOR_VERSION}"
)
TARGET_LINK_LIBRARIES(elliptics-fastcgi
${REQUIRED_LIBRARIES})
INSTALL(
TARGETS
elliptics-fastcgi
LIBRARY DESTINATION lib/fastcgi2 COMPONENT runtime)