mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-04 17:49:45 +02:00
55 lines
1.4 KiB
CMake
55 lines
1.4 KiB
CMake
# CMake script to sign macOS build
|
|
# Arguments:
|
|
# APP_IDENTIFIER - app identifier
|
|
# APP_LOCATION - the path to Tenacity.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()
|