blob: 0ef0eb5577a89ed5376a924408f9520a220ddabb (
plain)
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
wlproto(IVI_CON ivi-controller)
include(FindPkgConfig)
pkg_check_modules(AFB REQUIRED afb-daemon)
pkg_check_modules(SD REQUIRED libsystemd>=222)
# We do not want a prefix for our module
set(CMAKE_SHARED_MODULE_PREFIX "")
add_custom_command(
OUTPUT afb_binding_api.hpp afb_binding_glue.inl
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding-glue.py
COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding-glue.py)
add_library(winman MODULE
main.cpp
wayland.cpp
wayland.hpp
util.cpp
util.hpp
layout.cpp
layout.hpp
${IVI_CON_PROTO}
json_helper.cpp
json_helper.hpp
app.hpp app.cpp
afb_binding_api.cpp
result.hpp
afb_binding_api.hpp
afb_binding_glue.inl layers.cpp layers.hpp controller_hooks.hpp config.cpp config.hpp)
target_include_directories(winman
PRIVATE
${AFB_INCLUDE_DIRS}
${SD_INCLUDE_DIRS}
../include
../src)
target_link_libraries(winman
PRIVATE
${AFB_LIBRARIES}
${WLC_LIBRARIES}
${SD_LIBRARIES})
target_compile_definitions(winman
PRIVATE
AFB_BINDING_VERSION=2
# We do not want source location of messages
AFB_BINDING_PRAGMA_NO_VERBOSE_DETAILS
WINMAN_VERSION_STRING="${PACKAGE_VERSION}"
_GNU_SOURCE) # XXX should I define this here?!
if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Release")
target_compile_definitions(winman
PRIVATE
_GLIBCXX_DEBUG)
endif()
target_compile_options(winman
PRIVATE
-Wall -Wextra -Wno-unused-parameter -Wno-comment)
set_target_properties(winman
PROPERTIES
# INTERPROCEDURAL_OPTIMIZATION ON
CXX_EXTENSIONS OFF
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
C_EXTENSIONS OFF
C_STANDARD 99
C_STANDARD_REQUIRED ON
LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../export.map")
if (LINK_LIBCXX)
set_target_properties(winman
PROPERTIES
LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../export.map -lc++")
endif()
if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "")
target_compile_options(winman
PRIVATE
-fsanitize=${SANITIZER_MODE} -g -fno-omit-frame-pointer)
set_target_properties(winman
PROPERTIES
LINK_FLAGS "-fsanitize=${SANITIZER_MODE} -g")
endif()
|