telldus/telldus-gui/TelldusGui/CMakeLists.txt
2013-10-10 16:11:24 +02:00

197 lines
4.8 KiB
CMake

FIND_PACKAGE( Qt4 REQUIRED )
INCLUDE( ${QT_USE_FILE} )
FIND_PACKAGE( SignTool REQUIRED )
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
######## Non configurable options ########
SET( telldus-gui_SRCS
telldusgui.cpp
devicewidget.cpp
devicemodel.cpp
device.cpp
editdevicedialog.cpp
editgroupdialog.cpp
filtereddeviceproxymodel.cpp
vendordevicemodel.cpp
vendordevicetreeitem.cpp
devicesettingarctechselflearning.cpp
devicesettingbrateck.cpp
devicesettinggao.cpp
devicesettingikea.cpp
devicesettingnexa.cpp
devicesettingnexabell.cpp
devicesettingrisingsun.cpp
devicesettingsartano.cpp
devicesettingselflearning.cpp
devicesettingunitcode.cpp
devicesettingupm.cpp
devicesetting.cpp
methodwidget.cpp
deviceview.cpp
)
SET( telldus-gui_HDRS
telldusgui.h
)
SET( telldus-gui_MOC_HDRS
devicewidget.h
devicemodel.h
device.h
editdevicedialog.h
editgroupdialog.h
filtereddeviceproxymodel.h
vendordevicemodel.h
devicesettingarctechselflearning.h
devicesettingbrateck.h
devicesettinggao.h
devicesettingikea.h
devicesettingnexa.h
devicesettingnexabell.h
devicesettingrisingsun.h
devicesettingsartano.h
devicesettingselflearning.h
devicesettingunitcode.h
devicesettingupm.h
devicesetting.h
methodwidget.h
deviceview.h
)
QT4_WRAP_CPP( telldus-gui_MOC_SRCS ${telldus-gui_MOC_HDRS} )
QT4_AUTOMOC ( ${telldus-gui_SRCS} )
QT4_ADD_RESOURCES (telldus-gui_RSRCS telldusgui.qrc data/${BRANDING}/resources.qrc )
LIST(APPEND telldus-gui_RSRCS data/${BRANDING}/devices.xml)
SET( telldus-gui_LIBRARIES
${QT_LIBRARIES}
)
FIND_PACKAGE(TelldusCore REQUIRED)
LIST(APPEND telldus-gui_LIBRARIES ${TELLDUSCORE_LIBRARY} )
######## Configurable options for the platform ########
######## Platforms-specific, non configurable ########
IF (APPLE)
#### Mac OS X ####
SET( telldus-gui_TARGET TelldusGui )
ADD_DEFINITIONS(
-D_MACOSX
)
INCLUDE_DIRECTORIES(
/usr/local/include
)
ELSEIF (WIN32)
#### Windows ####
SET( telldus-gui_TARGET TelldusGui )
ADD_DEFINITIONS(
-D_WINDOWS
-DTELLDUSGUI_EXPORTS
)
ELSE (APPLE)
#### Linux ####
SET( telldus-gui_TARGET telldus-gui )
ADD_DEFINITIONS(
-D_LINUX
)
ENDIF (APPLE)
######## Configuring ########
####### i18n ########
FOREACH(lang ${LANGUAGES})
LIST(APPEND telldus-gui_TS "TelldusGui_${lang}.ts")
ENDFOREACH(lang)
IF (UPDATE_TRANSLATIONS)
QT4_CREATE_TRANSLATION( QM_FILES ${telldus-gui_SRCS} ${telldus-gui_TS} )
ELSE (UPDATE_TRANSLATIONS)
IF (APPLE)
SET_SOURCE_FILES_PROPERTIES(${telldus-gui_TS} PROPERTIES
OUTPUT_LOCATION ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/TelldusCenter.app/Contents/Resources
)
ELSEIF (UNIX)
SET_SOURCE_FILES_PROPERTIES(${telldus-gui_TS} PROPERTIES
OUTPUT_LOCATION ${CMAKE_BINARY_DIR}/TelldusCenter
)
ENDIF (APPLE)
QT4_ADD_TRANSLATION(telldus-gui_QM ${telldus-gui_TS})
ENDIF (UPDATE_TRANSLATIONS)
ADD_LIBRARY(${telldus-gui_TARGET} SHARED
${telldus-gui_SRCS}
${telldus-gui_HDRS}
${telldus-gui_MOC_SRCS}
${telldus-gui_RSRCS}
${telldus-gui_TS}
${telldus-gui_QM}
)
ADD_DEPENDENCIES(${telldus-gui_TARGET} TelldusCenter)
IF (UNIX)
SET_TARGET_PROPERTIES( ${telldus-gui_TARGET} PROPERTIES COMPILE_FLAGS "-fPIC -fvisibility=hidden")
ENDIF (UNIX)
TARGET_LINK_LIBRARIES( ${telldus-gui_TARGET} ${telldus-gui_LIBRARIES} )
SET_TARGET_PROPERTIES(${telldus-gui_TARGET} PROPERTIES
FRAMEWORK TRUE
# PUBLIC_HEADER ${telldus-gui_HDRS}
VERSION ${PACKAGE_VERSION}
SOVERSION ${PACKAGE_SOVERSION}
INSTALL_NAME_DIR "/Library/Frameworks"
)
SIGN(${telldus-gui_TARGET})
IF (WIN32)
ADD_CUSTOM_COMMAND( TARGET ${telldus-gui_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${telldus-gui_QM} ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR} VERBATIM
COMMENT "Copying translation for TelldusGUI"
)
ENDIF()
IF (UNIX)
INSTALL(TARGETS ${telldus-gui_TARGET}
LIBRARY DESTINATION lib
FRAMEWORK DESTINATION /Applications/TelldusCenter.app/Contents/Frameworks
# PUBLIC_HEADER DESTINATION ${HEADER_DIR}
)
IF (APPLE)
INSTALL(CODE "
INCLUDE(BundleUtilities)
GET_FILENAME_COMPONENT(DESTDIR \$ENV{DESTDIR} ABSOLUTE)
SET(lib \"\${DESTDIR}/Applications/TelldusCenter.app/Contents/Frameworks/${telldus-gui_TARGET}.framework/${telldus-gui_TARGET}\")
GET_ITEM_KEY(\"\${lib}\" pkey)
SET(prereqs \"\")
GET_PREREQUISITES(\${lib} prereqs 1 0 \"\${exe}\" \"\${bundle}/Contents/Frameworks/\")
FOREACH(pr \${prereqs})
GET_ITEM_KEY(\"\${pr}\" rkey)
#Don't change the path to TelldusCore
IF (NOT \"\${rkey}\" STREQUAL \"TelldusCore\")
#Check to see if this is ourself
IF (NOT \${pkey} STREQUAL \${rkey})
SET(kv \"\")
SET_BUNDLE_KEY_VALUES(kv \"\${pr}\" \"\${pr}\" \"\${exe}\" \"\${bundle}/Contents/Frameworks/\" 0)
EXECUTE_PROCESS(COMMAND install_name_tool
-change \"\${pr}\" \"\${\${rkey}_EMBEDDED_ITEM}\" \"\${lib}\"
)
ENDIF ()
ENDIF ()
ENDFOREACH()
")
ENDIF ()
ENDIF ()