axmol/1k/dm/CMakeLists.txt

37 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.23)
project(dm)
find_program(PWSH_PROG NAMES pwsh powershell NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
message(STATUS "CMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
message(STATUS "CMAKE_C_FLAGS=${CMAKE_C_FLAGS}")
message(STATUS "ANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}")
set(cross_flags "")
if(ANDROID)
if(CMAKE_ANDROID_ARCH_ABI MATCHES "arm64-v8a")
set(cross_flags "-target aarch64-none-linux-android${ANDROID_NATIVE_API_LEVEL}")
elseif(CMAKE_ANDROID_ARCH_ABI MATCHES "x86_64")
set(cross_flags "-target x86_64-none-linux-android${ANDROID_NATIVE_API_LEVEL}")
elseif(CMAKE_ANDROID_ARCH_ABI MATCHES "x86")
set(cross_flags "-target x86-none-linux-android${ANDROID_NATIVE_API_LEVEL}")
else()
set(cross_flags "-target arm-none-linux-android${ANDROID_NATIVE_API_LEVEL}")
endif()
elseif(APPLE)
if(NOT CMAKE_OSX_ARCHITECTURES)
set(CMAKE_OSX_ARCHITECTURES ${CMAKE_HOST_SYSTEM_PROCESSOR})
endif()
if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64")
set(cross_flags "-arch arm64")
elseif(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
set(cross_flags "-arch x86_64")
endif()
endif()
if(NOT ${CMAKE_C_COMPILER} MATCHES ".*cl\.exe" OR "${MSVC_VERSION}" GREATER_EQUAL 1928)
execute_process(COMMAND ${PWSH_PROG} "${CMAKE_CURRENT_SOURCE_DIR}/dm.ps1" "${CMAKE_C_COMPILER}" "${CMAKE_C_FLAGS} ${cross_flags}")
endif()