cmake_minimum_required (VERSION 3.20) if(NOT DEFINED ENV{VCPKG_ROOT}) message(FATAL_ERROR "VCPKG_ROOT is not defined!") endif() set(UNLEASHED_RECOMP_THIRDPARTY_ROOT ${CMAKE_SOURCE_DIR}/thirdparty) set(UNLEASHED_RECOMP_TOOLS_ROOT ${CMAKE_SOURCE_DIR}/tools) set(CMAKE_CXX_STANDARD 20) set(BUILD_SHARED_LIBS OFF) # Enable Hot Reload for MSVC compilers if supported. if (POLICY CMP0141) cmake_policy(SET CMP0141 NEW) set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$,$>,$<$:EditAndContinue>,$<$:ProgramDatabase>>") endif() set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") project("UnleashedRecomp-ALL") if (APPLE) enable_language(OBJC OBJCXX) endif() if (CMAKE_OSX_ARCHITECTURES) set(UNLEASHED_RECOMP_ARCHITECTURE ${CMAKE_OSX_ARCHITECTURES}) elseif(CMAKE_SYSTEM_PROCESSOR) set(UNLEASHED_RECOMP_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) else() set(UNLEASHED_RECOMP_ARCHITECTURE ${CMAKE_HOST_SYSTEM_PROCESSOR}) endif() string(TOLOWER "${UNLEASHED_RECOMP_ARCHITECTURE}" UNLEASHED_RECOMP_ARCHITECTURE) message(STATUS "Detected architecture: ${UNLEASHED_RECOMP_ARCHITECTURE}") if (UNLEASHED_RECOMP_ARCHITECTURE STREQUAL "x86_64" OR UNLEASHED_RECOMP_ARCHITECTURE STREQUAL "amd64") # Target Sandy Bridge for all projects add_compile_options( -march=sandybridge ) endif() add_subdirectory(${UNLEASHED_RECOMP_THIRDPARTY_ROOT}) add_subdirectory(${UNLEASHED_RECOMP_TOOLS_ROOT}) # Include sub-projects. add_subdirectory("UnleashedRecompLib") add_subdirectory("UnleashedRecomp")