Browse Source

Merge pull request #1071 from Azaezel/alpha41/osConfigs

extension point for os-specific configs, with mac example
Brian Roberts 2 years ago
parent
commit
64b1005041
2 changed files with 31 additions and 2 deletions
  1. 8 2
      CMakeLists.txt
  2. 23 0
      Tools/CMake/torqueMacOSconfigs.cmake

+ 8 - 2
CMakeLists.txt

@@ -1,7 +1,13 @@
-include("${CMAKE_SOURCE_DIR}/Tools/CMake/torque_macros.cmake")
-include("${CMAKE_SOURCE_DIR}/Tools/CMake/torque_configs.cmake")
 cmake_minimum_required (VERSION 3.21.0)
 set (CMAKE_CXX_STANDARD 17)
+set(CMAKE_CONFIGURATION_TYPES "Debug;RelWithDebInfo;Release" CACHE STRING "" FORCE)
+
+include("${CMAKE_SOURCE_DIR}/Tools/CMake/torque_macros.cmake")
+include("${CMAKE_SOURCE_DIR}/Tools/CMake/torque_configs.cmake")
+file(GLOB OS_SCRIPTS "${CMAKE_SOURCE_DIR}/Tools/CMake/torque*configs.cmake")
+foreach (TORQUE_OS_SCRIPT ${OS_SCRIPTS})
+    include(${TORQUE_OS_SCRIPT})
+endforeach() 
 
 # Ensure multi-core compilation is enabled for everything
 add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/MP>)

+ 23 - 0
Tools/CMake/torqueMacOSconfigs.cmake

@@ -0,0 +1,23 @@
+#detect Architecture
+if (APPLE AND NOT IOS)
+  option(TORQUE_MACOS_UNIVERSAL_BINARY OFF)
+
+  # Detect architecture if not using universal
+  if (TORQUE_MACOS_UNIVERSAL_BINARY)
+    set(ARCHITECTURE_STRING_APPLE "x86_64;arm64")
+    set(DEPLOYMENT_TARGET_APPLE "10.13")
+  else()
+    if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
+      set(ARCHITECTURE_STRING_APPLE "arm64")
+      set(DEPLOYMENT_TARGET_APPLE "11.0")
+    else()
+      set(ARCHITECTURE_STRING_APPLE "x86_64")
+      set(DEPLOYMENT_TARGET_APPLE "10.13")
+    endif()
+  endif()
+
+  set(CMAKE_OSX_ARCHITECTURES ${ARCHITECTURE_STRING_APPLE} CACHE STRING "OSX Architecture" FORCE)
+  set(CMAKE_OSX_DEPLOYMENT_TARGET ${DEPLOYMENT_TARGET_APPLE} CACHE STRING "OSX Deployment target" FORCE)
+  mark_as_advanced(CMAKE_OSX_ARCHITECTURES)
+  mark_as_advanced(CMAKE_OSX_DEPLOYMENT_TARGET)
+endif()