You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebluez/src/libtdebluez/interfaces/CMakeLists.txt

136 lines
5.2 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

#################################################
#
# (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)