|
|
|
|
#################################################
|
|
|
|
|
#
|
|
|
|
|
# (C) 2020 Emanoil Kotsev
|
|
|
|
|
# deloptes (AT) gmail.com
|
|
|
|
|
#
|
|
|
|
|
# Improvements and feedback are welcome
|
|
|
|
|
#
|
|
|
|
|
# This file is released under GPL >= 2
|
|
|
|
|
#
|
|
|
|
|
#################################################
|
|
|
|
|
|
|
|
|
|
include_directories(
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
${TQT_INCLUDE_DIRS}
|
|
|
|
|
${DBUS_TQT_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set( INTROSPECTIONPATH ${CMAKE_SOURCE_DIR}/src/interfaces )
|
|
|
|
|
set( DBUSXML2QT3_EXECUTABLE dbusxml2qt3 )
|
|
|
|
|
|
|
|
|
|
set( ObjectManager_HDRS objectmanagerInterface.h objectmanagerProxy.h introspectableInterface.h )
|
|
|
|
|
set( ObjectManager_SRCS objectmanagerInterface.cpp objectmanagerProxy.cpp introspectableInterface.cpp)
|
|
|
|
|
|
|
|
|
|
set( AgentManager_HDRS agentmanager1Interface.h agentmanager1Proxy.h healthmanager1Interface.h healthmanager1Proxy.h profilemanager1Interface.h profilemanager1Proxy.h )
|
|
|
|
|
set( AgentManager_SRCS agentmanager1Interface.cpp agentmanager1Proxy.cpp healthmanager1Interface.cpp healthmanager1Proxy.cpp profilemanager1Interface.cpp profilemanager1Proxy.cpp )
|
|
|
|
|
|
|
|
|
|
set( Agent_HDRS agent1Interface.h agent1Proxy.h dbusbaseNode.h tdebluezNode.h )
|
|
|
|
|
set( Agent_SRCS agent1Interface.cpp agent1Proxy.cpp dbusbaseNode.cpp tdebluezNode.cpp )
|
|
|
|
|
|
|
|
|
|
set( Adapter_HDRS adapter1Interface.h adapter1Proxy.h gattmanager1Interface.h gattmanager1Proxy.h media1Interface.h media1Proxy.h networkserver1Interface.h networkserver1Proxy.h propertiesInterface.h propertiesProxy.h)
|
|
|
|
|
set( Adapter_SRCS adapter1Interface.cpp adapter1Proxy.cpp gattmanager1Interface.cpp gattmanager1Proxy.cpp media1Interface.cpp media1Proxy.cpp networkserver1Interface.cpp networkserver1Proxy.cpp propertiesInterface.cpp propertiesProxy.cpp )
|
|
|
|
|
|
|
|
|
|
set( Device_HDRS device1Interface.h device1Proxy.h mediacontrol1Interface.h mediacontrol1Proxy.h)
|
|
|
|
|
set( Device_SRCS device1Interface.cpp device1Proxy.cpp mediacontrol1Interface.cpp mediacontrol1Proxy.cpp )
|
|
|
|
|
|
|
|
|
|
function( make_moc fileinput )
|
|
|
|
|
add_custom_command( OUTPUT ${fileinput}.moc
|
|
|
|
|
COMMAND ${TMOC_EXECUTABLE} ${fileinput}.h -o ${fileinput}.moc
|
|
|
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${fileinput}.h
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
)
|
|
|
|
|
set_property( SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${fileinput}.cpp APPEND
|
|
|
|
|
PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${fileinput}.moc )
|
|
|
|
|
endfunction( )
|
|
|
|
|
|
|
|
|
|
#function( install_header fileinput target )
|
|
|
|
|
# install(
|
|
|
|
|
# FILES ${CMAKE_CURRENT_BUILD_DIR}/${fileinput}
|
|
|
|
|
# DESTINATION ${target}
|
|
|
|
|
# )
|
|
|
|
|
#endfunction( )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### ObjectManager #########################
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${ObjectManager_HDRS} ${ObjectManager_SRCS}
|
|
|
|
|
COMMAND ${DBUSXML2QT3_EXECUTABLE} ${INTROSPECTIONPATH}/org.freedesktop.DBus.ObjectManager.xml 2>/dev/null
|
|
|
|
|
DEPENDS ${INTROSPECTIONPATH}/org.freedesktop.DBus.ObjectManager.xml
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
)
|
|
|
|
|
make_moc ( objectmanagerProxy )
|
|
|
|
|
|
|
|
|
|
##### AgentManager #########################
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${AgentManager_HDRS} ${AgentManager_SRCS}
|
|
|
|
|
COMMAND ${DBUSXML2QT3_EXECUTABLE} ${INTROSPECTIONPATH}/org.bluez.manager.xml 2>/dev/null
|
|
|
|
|
DEPENDS ${INTROSPECTIONPATH}/org.bluez.manager.xml
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
)
|
|
|
|
|
make_moc ( agentmanager1Proxy )
|
|
|
|
|
make_moc ( healthmanager1Proxy )
|
|
|
|
|
make_moc ( profilemanager1Proxy )
|
|
|
|
|
|
|
|
|
|
##### Agent #########################
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${Agent_HDRS} ${Agent_SRCS}
|
|
|
|
|
COMMAND ${DBUSXML2QT3_EXECUTABLE} ${INTROSPECTIONPATH}/org.tdebluez.agent.xml 2>/dev/null
|
|
|
|
|
DEPENDS ${INTROSPECTIONPATH}/org.tdebluez.agent.xml
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
)
|
|
|
|
|
make_moc ( agent1Proxy )
|
|
|
|
|
|
|
|
|
|
##### Adapter #########################
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${Adapter_HDRS} ${Adapter_SRCS}
|
|
|
|
|
COMMAND ${DBUSXML2QT3_EXECUTABLE} ${INTROSPECTIONPATH}/org.bluez.adapter.xml 2>/dev/null
|
|
|
|
|
DEPENDS ${INTROSPECTIONPATH}/org.bluez.adapter.xml
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
)
|
|
|
|
|
make_moc ( adapter1Proxy )
|
|
|
|
|
make_moc ( gattmanager1Proxy )
|
|
|
|
|
make_moc ( networkserver1Proxy )
|
|
|
|
|
make_moc ( propertiesProxy )
|
|
|
|
|
|
|
|
|
|
##### Device #########################
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${Device_HDRS} ${Device_SRCS}
|
|
|
|
|
COMMAND ${DBUSXML2QT3_EXECUTABLE} ${INTROSPECTIONPATH}/org.bluez.device.xml 2>/dev/null
|
|
|
|
|
DEPENDS ${INTROSPECTIONPATH}/org.bluez.device.xml
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
)
|
|
|
|
|
make_moc ( device1Proxy )
|
|
|
|
|
make_moc ( propertiesProxy )
|
|
|
|
|
make_moc ( mediacontrol1Proxy )
|
|
|
|
|
make_moc ( media1Proxy )
|
|
|
|
|
|
|
|
|
|
tde_add_library( bluezinterfaces STATIC_PIC AUTOMOC
|
|
|
|
|
SOURCES ${ObjectManager_SRCS} ${AgentManager_SRCS} ${Agent_SRCS} ${Adapter_SRCS} ${Device_SRCS}
|
|
|
|
|
LINK ${DBUS_TQT_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
##### install headers ###################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#file( GLOB _bin_dirs RELATIVE ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
# ${CMAKE_CURRENT_BINARY_DIR}/* )
|
|
|
|
|
#unset( _exclude_dirs )
|
|
|
|
|
#foreach( _dir IN LISTS _bin_dirs )
|
|
|
|
|
# if(IS_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_dir} )
|
|
|
|
|
# list( APPEND _exclude_dirs PATTERN ${_dir} EXCLUDE )
|
|
|
|
|
# endif()
|
|
|
|
|
#endforeach()
|
|
|
|
|
#
|
|
|
|
|
#install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
# DESTINATION ${INCLUDE_INSTALL_DIR}/tdeobex
|
|
|
|
|
# USE_SOURCE_PERMISSIONS
|
|
|
|
|
# FILES_MATCHING PATTERN PATTERN "*.h"
|
|
|
|
|
# ${_exclude_dirs}
|
|
|
|
|
#)
|
|
|
|
|
|
|
|
|
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/tdebluez
|
|
|
|
|
USE_SOURCE_PERMISSIONS
|
|
|
|
|
FILES_MATCHING PATTERN PATTERN "*.h"
|
|
|
|
|
PATTERN "CMakeFiles" EXCLUDE)
|