197 lines
4.8 KiB
CMake
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 ()
|