From 410223b538e2d49d0b911648694ac878fd0596f9 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 28 Oct 2021 16:15:30 +0400 Subject: [PATCH] Add DESKTOP_APP_MAC_ARCH for separate macOS builds. --- init_target.cmake | 8 ++++++++ validate_special_target.cmake | 4 +++- variables.cmake | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/init_target.cmake b/init_target.cmake index 4e9b4c7..415d151 100644 --- a/init_target.cmake +++ b/init_target.cmake @@ -53,3 +53,11 @@ function(init_target target_name) # init_target(my_target folder_name) ) endif() endfunction() + +# This code is not supposed to run on build machine, only on target machine. +function(init_non_host_target target_name) + init_target(${target_name}) + set_target_properties(${target_name} PROPERTIES + OSX_ARCHITECTURES "${DESKTOP_APP_MAC_ARCH}" + ) +endfunction() diff --git a/validate_special_target.cmake b/validate_special_target.cmake index f527262..638e3d7 100644 --- a/validate_special_target.cmake +++ b/validate_special_target.cmake @@ -15,7 +15,9 @@ function(report_bad_special_target) endfunction() set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12 CACHE STRING "Minimum macOS deployment version" FORCE) -if (NOT DESKTOP_APP_QT6) +if (DESKTOP_APP_QT6) + set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "Target macOS architectures" FORCE) +else() set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Target macOS architectures" FORCE) endif() diff --git a/variables.cmake b/variables.cmake index 08b5bd9..98b3895 100644 --- a/variables.cmake +++ b/variables.cmake @@ -32,6 +32,7 @@ option(DESKTOP_APP_DISABLE_AUTOUPDATE "Disable autoupdate." ${disable_autoupdate option(DESKTOP_APP_USE_HUNSPELL_ONLY "Disable system spellchecker and use bundled Hunspell only. (For debugging purposes)" OFF) option(DESKTOP_APP_USE_ENCHANT "Use Enchant instead of bundled Hunspell. (Linux only)" OFF) option(DESKTOP_APP_NO_PDB "Disable PDB file generation. (Windows only)" OFF) +set(DESKTOP_APP_MAC_ARCH "x86_64;arm64" CACHE STRING "Target macOS arch. (macOS only)") set(dont_bundle_fonts 0) if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY)