diff --git a/CMakeLists.txt b/CMakeLists.txt index f88c27ad5..d71d6ea26 100644 --- a/CMakeLists.txt +++ b/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($<$:/MP>) diff --git a/Tools/CMake/torqueMacOSconfigs.cmake b/Tools/CMake/torqueMacOSconfigs.cmake new file mode 100644 index 000000000..99f918ea8 --- /dev/null +++ b/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() \ No newline at end of file