/
CMakeLists.txt
74 lines (61 loc) · 1.86 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
70
71
72
73
74
PROJECT(VAULT)
cmake_minimum_required(VERSION 2.8.8)
IF(NOT DEFINED VERSION OR VERSION STREQUAL "")
message(FATAL_ERROR "Define VERSION")
ENDIF(NOT DEFINED VERSION OR VERSION STREQUAL "")
IF(NOT DEFINED LONG_VERSION OR LONG_VERSION STREQUAL "")
set(LONG_VERSION ${VERSION})
ENDIF(NOT DEFINED LONG_VERSION OR LONG_VERSION STREQUAL "")
option(ENABLE_MULTIARCH "Enable support for multi-arch distros (lib64)" OFF)
IF(ENABLE_MULTIARCH)
IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
SET(LIB_SUFFIX "")
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4)
SET(LIB_SUFFIX 64)
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
ELSE()
SET(LIB_SUFFIX "")
ENDIF()
set(DST_LIB lib${LIB_SUFFIX})
message(STATUS "Version ${VERSION}")
message(STATUS "Long version is ${LONG_VERSION}")
message(STATUS "Multiarch is ${ENABLE_MULTIARCH}")
find_package(PkgConfig REQUIRED)
find_package(Qt5Core REQUIRED)
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -fPIC -W -Wall -Wextra -Werror -g -O2 -std=c++0x")
#-Wno-psabi is to remove next g++ warning/note:
#the mangling of 'va_list' has changed in GCC 4.4
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -Wno-psabi")
# fix for gcc 4.6 specific compiling/linking issues, no dwarf-4
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -gdwarf-3"
)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/src
)
pkg_check_modules(QTAROUND qtaround REQUIRED)
pkg_check_modules(COR cor REQUIRED)
include_directories(
${COR_INCLUDE_DIRS}
${QTAROUND_INCLUDE_DIRS}
)
link_directories(
${COR_LIBRARY_DIRS}
${QTAROUND_LIBRARY_DIRS}
)
add_subdirectory(src)
add_subdirectory(examples)
add_subdirectory(tests)
add_subdirectory(qml/Vault)
configure_file(vault-unit.pc.in vault-unit.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/vault-unit.pc DESTINATION ${DST_LIB}/pkgconfig)
install(
DIRECTORY include/vault
DESTINATION include
FILES_MATCHING
PATTERN "*.hpp"
PATTERN "*.h"
)