mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 13:57:57 -07:00
948764d37b
Analytics: - Incorporated fix to allow the full set of analytics that was recommended by spotlightishere BuildMacOSUniversalBinary: - The x86_64 slice for a universal binary is now built for 10.12 - The universal binary build script now can be configured though command line options instead of modifying the script itself. - os.system calls were replaced with equivalent subprocess calls - Formatting was reworked to be more PEP 8 compliant - The script was refactored to make it more modular - The com.apple.security.cs.disable-library-validation entitlement was removed Memory Management: - Changed the JITPageWrite*Execute*() functions to incorporate support for nesting Other: - Fixed several small lint errors - Fixed doc and formatting mistakes - Several small refactors to make things clearer
79 lines
3.1 KiB
CMake
79 lines
3.1 KiB
CMake
set(STORYBOARDS Main.storyboard)
|
|
|
|
set(SOURCES
|
|
main.m
|
|
AppDelegate.h
|
|
AppDelegate.mm
|
|
ViewController.h
|
|
ViewController.m
|
|
MacUI.mm
|
|
${STORYBOARDS}
|
|
)
|
|
|
|
add_executable(MacUpdater ${SOURCES})
|
|
|
|
set(MacUpdater_NAME "Dolphin Updater")
|
|
set(MacUpdater_BIN_DIR ${CMAKE_BINARY_DIR}/Binaries)
|
|
set(MacUpdater_BUNDLE_PATH ${MacUpdater_BIN_DIR}/${MacUpdater_NAME}.app)
|
|
|
|
set_target_properties(MacUpdater PROPERTIES
|
|
MACOSX_BUNDLE true
|
|
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in
|
|
OUTPUT_NAME ${MacUpdater_NAME})
|
|
|
|
target_compile_options(MacUpdater PRIVATE -x objective-c++)
|
|
|
|
# Copy icon into the bundle
|
|
target_sources(MacUpdater PRIVATE "${CMAKE_SOURCE_DIR}/Data/Dolphin.icns")
|
|
set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/Dolphin.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
|
|
target_link_libraries(MacUpdater PRIVATE
|
|
"-framework Cocoa"
|
|
"-framework AppKit"
|
|
"-framework CoreData"
|
|
"-framework Foundation"
|
|
uicommon
|
|
updatercommon
|
|
)
|
|
|
|
# Compile storyboards (Adapted from https://gitlab.kitware.com/cmake/community/wikis/doc/tutorials/OSX-InterfaceBuilderFiles)
|
|
|
|
# Make sure we can find the 'ibtool' program. If we can NOT find it we
|
|
# skip generation of this project
|
|
find_program(IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin")
|
|
if (${IBTOOL} STREQUAL "IBTOOL-NOTFOUND")
|
|
message(SEND_ERROR "ibtool can not be found and is needed to compile the .storyboard files. It should have been installed with
|
|
the Apple developer tools. The default system paths were searched in addition to ${OSX_DEVELOPER_ROOT}/usr/bin")
|
|
endif()
|
|
|
|
foreach(sb ${STORYBOARDS})
|
|
set(MacUpdater_BIN_DIR ${CMAKE_BINARY_DIR}/Binaries)
|
|
|
|
if (CMAKE_GENERATOR STREQUAL Xcode)
|
|
string(APPEND MacUpdater_BIN_DIR "/\${CONFIGURATION}")
|
|
endif()
|
|
|
|
add_custom_command(TARGET MacUpdater POST_BUILD
|
|
COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text
|
|
--compile ${MacUpdater_BUNDLE_PATH}/Contents/Resources/${sb}c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/${sb}
|
|
COMMENT "Compiling Storyboard ${sb}...")
|
|
endforeach()
|
|
|
|
if(MACOS_CODE_SIGNING)
|
|
if (MACOS_CODE_SIGNING_IDENTITY_UPDATER STREQUAL "")
|
|
set(MACOS_CODE_SIGNING_IDENTITY_UPDATER "${MACOS_CODE_SIGNING_IDENTITY}")
|
|
endif()
|
|
|
|
# Make file build code sign
|
|
add_custom_command(TARGET MacUpdater POST_BUILD
|
|
COMMAND test ${MacUpdater_BUNDLE_PATH} || /usr/bin/codesign -f -s "${MACOS_CODE_SIGNING_IDENTITY_UPDATER}" --deep --options runtime ${MacUpdater_BUNDLE_PATH})
|
|
|
|
# Xcode build code sign
|
|
add_custom_command(TARGET MacUpdater POST_BUILD
|
|
COMMAND test "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG}/${MacUpdater_NAME}.app" || /usr/bin/codesign -f -s "${MACOS_CODE_SIGNING_IDENTITY_UPDATER}" --deep --options runtime "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG}/${MacUpdater_NAME}.app")
|
|
|
|
add_custom_command(TARGET MacUpdater POST_BUILD
|
|
COMMAND test "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE}/${MacUpdater_NAME}.app" || /usr/bin/codesign -f -s "${MACOS_CODE_SIGNING_IDENTITY_UPDATER}" --deep --options runtime "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE}/${MacUpdater_NAME}.app")
|
|
endif()
|