Add codesigning on OS X

This commit is contained in:
Micke Prag 2013-10-10 16:11:24 +02:00
parent ce86c90c8b
commit 0886564e94
4 changed files with 34 additions and 25 deletions

View file

@ -97,6 +97,23 @@ IF(Plugin_SRCS)
)
TARGET_LINK_LIBRARIES( ${Plugin_NAME} ${Plugin_LIBRARIES} )
IF (APPLE)
SET_TARGET_PROPERTIES(${Plugin_NAME} PROPERTIES
PREFIX ""
)
ELSEIF (WIN32)
SET_TARGET_PROPERTIES(${Plugin_NAME} PROPERTIES
PREFIX "Plugins/script/"
)
ELSE ()
SET_TARGET_PROPERTIES(${Plugin_NAME} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/TelldusCenter/Plugins/script
)
INSTALL(TARGETS ${Plugin_NAME}
LIBRARY DESTINATION "${PLUGIN_LIB_FULL_PATH}/script"
)
ENDIF ()
SIGN(${Plugin_NAME})
IF(APPLE)
ADD_CUSTOM_COMMAND(TARGET ${Plugin_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
@ -104,9 +121,6 @@ IF(Plugin_SRCS)
${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/TelldusCenter.app/Contents/Plugins/script
COMMENT "Copy plugin ${Plugin_NAME} to destination bundle"
)
SET_TARGET_PROPERTIES(${Plugin_NAME} PROPERTIES
PREFIX ""
)
INSTALL(CODE "
GET_FILENAME_COMPONENT(DESTDIR \$ENV{DESTDIR} ABSOLUTE)
SET(app \"\${DESTDIR}/Applications/TelldusCenter.app\")
@ -137,19 +151,7 @@ IF(Plugin_SRCS)
ENDFOREACH()
")
ELSEIF (WIN32)
SET_TARGET_PROPERTIES(${Plugin_NAME} PROPERTIES
PREFIX "Plugins/script/"
)
ELSE (APPLE)
SET_TARGET_PROPERTIES(${Plugin_NAME} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/TelldusCenter/Plugins/script
)
INSTALL(TARGETS ${Plugin_NAME}
LIBRARY DESTINATION "${PLUGIN_LIB_FULL_PATH}/script"
)
ENDIF (APPLE)
SIGN(${Plugin_NAME})
ENDIF()
ELSE(Plugin_SRCS)
ADD_CUSTOM_TARGET(${Plugin_NAME} ALL
SOURCES ${Plugin_FILES} ${Plugin_TARGET_FILES}

View file

@ -151,7 +151,6 @@ 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}
@ -161,6 +160,7 @@ IF (APPLE)
COMMAND mkdir -p "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/TelldusCenter.app/Contents/Plugins/script/"
)
ENDIF (APPLE)
SIGN(${telldus-center_TARGET})
IF (UNIX)
IF (GENERATE_MAN)

View file

@ -143,8 +143,6 @@ 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}
@ -153,6 +151,8 @@ SET_TARGET_PROPERTIES(${telldus-gui_TARGET} PROPERTIES
INSTALL_NAME_DIR "/Library/Frameworks"
)
SIGN(${telldus-gui_TARGET})
IF (WIN32)
ADD_CUSTOM_COMMAND( TARGET ${telldus-gui_TARGET}
POST_BUILD

View file

@ -1,10 +1,10 @@
IF(WIN32)
IF(WIN32 OR APPLE)
SET(SIGN_FILES FALSE CACHE BOOL "Sign files ofter build")
ENDIF()
FUNCTION(SIGN TARGET)
IF (NOT WIN32)
IF (NOT WIN32 AND NOT APPLE)
RETURN()
ENDIF()
IF (NOT SIGN_FILES)
@ -12,8 +12,15 @@ FUNCTION(SIGN TARGET)
ENDIF()
GET_TARGET_PROPERTY(file ${TARGET} LOCATION)
GET_FILENAME_COMPONENT(filename ${file} NAME)
IF (WIN32)
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}"
)
ELSEIF(APPLE)
ADD_CUSTOM_COMMAND( TARGET ${TARGET} POST_BUILD
COMMAND codesign -v --force --sign "Developer ID Application: Telldus Technologies AB" ${file}
COMMENT "Signing file ${filename}"
)
ENDIF()
ENDFUNCTION()