cmake: enable _GLIBCXX_DEBUG when building Debug
[staging/windowmanager.git] / src / CMakeLists.txt
1 wlproto(IVI_CON ivi-controller)
2
3 add_executable(winman
4    main.cpp
5    wayland.cpp
6    wayland.hpp
7    util.c
8    util.h
9    ${IVI_CON_PROTO})
10
11 target_compile_definitions(winman
12     PRIVATE
13         WINMAN_VERSION_STRING="${PACKAGE_VERSION}"
14         _GNU_SOURCE)  # XXX should I define this here?!
15
16 if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
17    target_compile_definitions(winman
18        PRIVATE
19            _GLIBCXX_DEBUG)
20 endif()
21
22 target_compile_options(winman
23     PRIVATE
24         -Wall -Wextra -Wno-unused-parameter -Wno-comment)
25
26 set_target_properties(winman
27     PROPERTIES
28         INTERPROCEDURAL_OPTIMIZATION ON
29
30         CXX_EXTENSIONS OFF
31         CXX_STANDARD 14
32         CXX_STANDARD_REQUIRED ON
33
34         C_EXTENSIONS OFF
35         C_STANDARD 99
36         C_STANDARD_REQUIRED ON)
37
38 if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "")
39    target_compile_options(winman
40       PRIVATE
41          -fsanitize=${SANITIZER_MODE} -g -fno-omit-frame-pointer)
42    set_target_properties(winman
43       PROPERTIES
44          LINK_FLAGS "-fsanitize=${SANITIZER_MODE} -g")
45 endif()
46
47 target_link_libraries(winman
48    ${WLC_LIBRARIES})