Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / ot-br-posix / repo / src / dbus / server / CMakeLists.txt
1 #
2 #  Copyright (c) 2020, The OpenThread Authors.
3 #  All rights reserved.
4 #
5 #  Redistribution and use in source and binary forms, with or without
6 #  modification, are permitted provided that the following conditions are met:
7 #  1. Redistributions of source code must retain the above copyright
8 #     notice, this list of conditions and the following disclaimer.
9 #  2. Redistributions in binary form must reproduce the above copyright
10 #     notice, this list of conditions and the following disclaimer in the
11 #     documentation and/or other materials provided with the distribution.
12 #  3. Neither the name of the copyright holder nor the
13 #     names of its contributors may be used to endorse or promote products
14 #     derived from this software without specific prior written permission.
15 #
16 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 #  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 #  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 #  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 #  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 #  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 #  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 #  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 #  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 #  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 #  POSSIBILITY OF SUCH DAMAGE.
27 #
28
29 add_custom_target(otbr-dbus-introspect-header ALL
30     COMMAND echo "R\"INTROSPECT(" > introspect.hpp
31     COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/introspect.xml >> introspect.hpp
32     COMMAND echo ")INTROSPECT\"" >> introspect.hpp
33     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
34     VERBATIM
35 )
36
37 option(OTBR_ENABLE_LEGACY "enable legacy support")
38
39 add_library(otbr-dbus-server STATIC
40     dbus_agent.cpp
41     dbus_object.cpp
42     dbus_thread_object.cpp
43     error_helper.cpp
44 )
45
46 target_include_directories(otbr-dbus-server PRIVATE
47     ${PROJECT_BINARY_DIR}/src
48 )
49
50 add_dependencies(otbr-dbus-server otbr-dbus-introspect-header)
51
52 if(OTBR_ENABLE_LEGACY)
53     target_compile_definitions(otbr-dbus-server PRIVATE
54         "OTBR_ENABLE_LEGACY=1"
55     )
56     target_include_directories(otbr-dbus-server PRIVATE
57         ${PROJECT_SOURCE_DIR}/${OTBR_LEGACY_INCLUDE}
58     )
59 endif()
60
61 target_link_libraries(otbr-dbus-server PUBLIC
62     otbr-dbus-common
63 )
64
65 if(OTBR_DOC)
66 add_custom_target(otbr-dbus-server-doc ALL
67     COMMAND gdbus-codegen --generate-docbook generated-docs ${CMAKE_CURRENT_SOURCE_DIR}/introspect.xml 
68     COMMAND xmlto html generated-docs-io.openthread.BorderRouter.xml
69     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
70     VERBATIM
71 )
72 endif()