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

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