diff --git a/telldus-gui/Plugins/TelldusCenterPlugin.cmake b/telldus-gui/Plugins/TelldusCenterPlugin.cmake index 9a70e198..20ab8c6a 100644 --- a/telldus-gui/Plugins/TelldusCenterPlugin.cmake +++ b/telldus-gui/Plugins/TelldusCenterPlugin.cmake @@ -1,6 +1,7 @@ FIND_PACKAGE( Qt4 REQUIRED ) SET(QT_USE_QTSCRIPT TRUE) INCLUDE( ${QT_USE_FILE} ) +FIND_PACKAGE( SignTool REQUIRED ) if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) @@ -119,6 +120,7 @@ IF(Plugin_SRCS) LIBRARY DESTINATION "${PLUGIN_LIB_FULL_PATH}/script" ) ENDIF (APPLE) + SIGN(${Plugin_NAME}) ELSE(Plugin_SRCS) ADD_CUSTOM_TARGET(${Plugin_NAME} ALL SOURCES ${Plugin_FILES} diff --git a/telldus-gui/TelldusCenter/CMakeLists.txt b/telldus-gui/TelldusCenter/CMakeLists.txt index 1194b4eb..7aa29d22 100644 --- a/telldus-gui/TelldusCenter/CMakeLists.txt +++ b/telldus-gui/TelldusCenter/CMakeLists.txt @@ -4,6 +4,8 @@ SET(QT_USE_QTNETWORK TRUE) SET(QT_USE_QTUITOOLS TRUE) INCLUDE( ${QT_USE_FILE} ) +FIND_PACKAGE( SignTool REQUIRED ) + if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) cmake_policy(SET CMP0005 NEW) @@ -148,6 +150,7 @@ TARGET_LINK_LIBRARIES( ${telldus-center_TARGET} ${telldus-center_LIBRARIES} ) SET_TARGET_PROPERTIES(${telldus-center_TARGET} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist ) +SIGN(${telldus-center_TARGET}) IF (APPLE) SET_TARGET_PROPERTIES(${telldus-center_TARGET} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} diff --git a/telldus-gui/TelldusGui/CMakeLists.txt b/telldus-gui/TelldusGui/CMakeLists.txt index 03293b49..fe7f5a5e 100644 --- a/telldus-gui/TelldusGui/CMakeLists.txt +++ b/telldus-gui/TelldusGui/CMakeLists.txt @@ -1,6 +1,8 @@ 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) @@ -141,6 +143,8 @@ ENDIF (UNIX) TARGET_LINK_LIBRARIES( ${telldus-gui_TARGET} ${telldus-gui_LIBRARIES} ) +SIGN(${telldus-gui_TARGET}) + SET_TARGET_PROPERTIES(${telldus-gui_TARGET} PROPERTIES FRAMEWORK TRUE # PUBLIC_HEADER ${telldus-gui_HDRS} diff --git a/telldus-gui/cmake/FindSignTool.cmake b/telldus-gui/cmake/FindSignTool.cmake new file mode 100644 index 00000000..002bca60 --- /dev/null +++ b/telldus-gui/cmake/FindSignTool.cmake @@ -0,0 +1,19 @@ + +IF(WIN32) + SET(SIGN_FILES FALSE CACHE BOOL "Sign files ofter build") +ENDIF() + +FUNCTION(SIGN TARGET) + IF (NOT WIN32) + RETURN() + ENDIF() + IF (NOT SIGN_FILES) + RETURN() + ENDIF() + GET_TARGET_PROPERTY(file ${TARGET} LOCATION) + GET_FILENAME_COMPONENT(filename ${file} NAME) + ADD_CUSTOM_COMMAND( TARGET ${TARGET} POST_BUILD + COMMAND signtool.exe sign /a /t http://timestamp.verisign.com/scripts/timstamp.dll ${file} + COMMENT "Signing file ${filename}" + ) +ENDFUNCTION()