set(app "${CMAKE_INSTALL_PREFIX}/@EXE@") set(weprocess "${app}/Contents/Frameworks/QtWebEngineCore.framework/Versions/Current/Helpers/QtWebEngineProcess.app") list(APPEND BINS "Contents/Resources/updater") list(APPEND BINS "Contents/Resources/@HELPER_NAME@") set(args ${app}) list(APPEND args "-verbose=2") list(APPEND args "-qmldir=@SOURCE_ROOT@/src/ui") foreach(BIN ${BINS}) list(APPEND args "-executable=${app}/${BIN}") endforeach(BIN ${BINS}) set(ENV{DYLD_LIBRARY_PATH} @QTROOT@/lib:@DEPENDENCY_ROOT@/lib) set(ENV{DYLD_FRAMEWORK_PATH} @QTROOT@/lib:@DEPENDENCY_ROOT@/lib) execute_process( COMMAND ${CMAKE_COMMAND} -E remove "${app}/Contents/Resources/qt.conf" COMMAND "@QTROOT@/bin/macdeployqt" ${args} WORKING_DIRECTORY "@QTROOT@/bin" ) #set(ENTITLEMENTS --entitlements @SOURCE_ROOT@/bundle/osx/Konvergo.entitlements) set(CODESIGN codesign ${ENTITLEMENTS} --force --sign "Developer ID Application: Plex Inc.") macro(sign_binary BIN) message(STATUS "Signing: ${BIN}") execute_process( COMMAND ${CODESIGN} "${BIN}" RESULT_VARIABLE result ) if(NOT ${result} EQUAL 0) message(FATAL_ERROR "Failed to sign ${BIN}") endif(NOT ${result} EQUAL 0) endmacro(sign_binary BIN) if(@DO_SIGN@) sign_binary(${weprocess}) file(GLOB_RECURSE LIBS FOLLOW_SYMLINKS "${app}/*.dylib" ) file(GLOB FRAMEWORKS FOLLOW_SYMLINKS LIST_DIRECTORIES true "${app}/Contents/Frameworks/*") foreach(LIB ${LIBS} ${FRAMEWORKS}) sign_binary(${LIB}) endforeach(LIB ${LIBS}) foreach(BIN ${BINS}) sign_binary(${app}/${BIN}) endforeach(BIN ${BINS}) sign_binary(${app}) message("Verifing signature") execute_process( COMMAND codesign --verbose=4 --verify "${CMAKE_INSTALL_PREFIX}/@EXE@" RESULT_VARIABLE result ) if(NOT ${result} EQUAL 0) message(FATAL_ERROR "Failed to verify binary!") endif(NOT ${result} EQUAL 0) execute_process( COMMAND spctl --verbose=4 --assess --type execute "${CMAKE_INSTALL_PREFIX}/@EXE@" RESULT_VARIABLE result ) if(NOT ${result} EQUAL 0) message(FATAL_ERROR "Failed to verify binary!") endif(NOT ${result} EQUAL 0) endif(@DO_SIGN@)