1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 08:09:32 +02:00
audacity/scripts/build/macOS/SignMacos.cmake
Dmitry Vedenko 6da25e1646 Add targets for packaging DMG and InnoSetup
Fixes configure.sh

Fixes Windows code signing

Fixes an issue with conan cache on windows

Fixes build manual script

Fixes build manual

Remove unused props

Use long options

Yet another manual fix

Fixes iss
2021-06-16 05:07:31 -07:00

55 lines
1.4 KiB
CMake

# CMake script to sign macOS build
# Arguments:
# APP_IDENTIFIER - app identifier
# APP_LOCATION - the path to Audacity.app
# DMG_LOCATION - the path to Audaicty dmg package
# APPLE_CODESIGN_IDENTITY - identity to use
# APPLE_CODESIGN_ENTITLEMENTS - path to the entitlements
function( codesign path deep is_dmg)
message(STATUS "Signing ${path}")
set ( args
--verbose
--timestamp
--identifier "${APP_IDENTIFIER}"
--sign "${APPLE_CODESIGN_IDENTITY}"
)
if( NOT is_dmg )
list( APPEND args
--options runtime
--entitlements "${APPLE_CODESIGN_ENTITLEMENTS}"
)
endif()
if( deep )
list( APPEND args --deep)
endif()
execute_process( COMMAND xcrun codesign ${args} ${path} )
endfunction()
function( sign_modules path )
message(STATUS "\tLooking for modules or plugins in: '${path}'")
file( GLOB_RECURSE modules
LIST_DIRECTORIES Off
"${path}/*.so" "${path}/*.dylib"
)
foreach( module ${modules} )
codesign( ${module} Off Off )
endforeach()
endfunction()
if( DEFINED APP_LOCATION )
sign_modules( "${APP_LOCATION}/Contents/modules" )
sign_modules( "${APP_LOCATION}/Contents/plug-ins" )
codesign( "${APP_LOCATION}" On Off )
endif()
if (DEFINED DMG_LOCATION )
codesign( "${DMG_LOCATION}" Off On)
endif()