minecraft-pi-reborn/cmake/options/core-options.cmake
TheBrokenRail 9bb6b86c73
Some checks failed
CI / Build (AMD64) (push) Successful in 26m51s
CI / Build (ARM64) (push) Successful in 29m30s
CI / Build (ARMHF) (push) Successful in 17m33s
CI / Test (AMD64, Server) (push) Successful in 2m40s
CI / Build Example Mods (push) Failing after 1m31s
CI / Test (ARM64, Client) (push) Successful in 4m46s
CI / Test (ARM64, Server) (push) Successful in 1m39s
CI / Test (AMD64, Client) (push) Successful in 6m41s
CI / Test (ARMHF, Client) (push) Successful in 4m55s
CI / Test (ARMHF, Server) (push) Successful in 1m51s
CI / Release (push) Has been skipped
Some Tweaks
2024-09-21 00:23:30 -04:00

27 lines
967 B
CMake

# Build Mode
set(MCPI_BUILD_MODE "native" CACHE STRING "\"arm\" = Build Only Code That Must Be ARM; \"native\" = Build Architecture-Independent Code")
set_property(CACHE MCPI_BUILD_MODE PROPERTY STRINGS "arm" "native")
if(MCPI_BUILD_MODE STREQUAL "arm")
set(BUILD_ARM_COMPONENTS TRUE)
set(BUILD_NATIVE_COMPONENTS FALSE)
elseif(MCPI_BUILD_MODE STREQUAL "native")
set(BUILD_ARM_COMPONENTS FALSE)
set(BUILD_NATIVE_COMPONENTS TRUE)
else()
message(FATAL_ERROR "Invalid Mode")
endif()
# Specify Options
set(MCPI_OPTIONS "")
function(mcpi_option name description type default)
set(full_name "MCPI_${name}")
set("${full_name}" "${default}" CACHE "${type}" "${description}")
list(APPEND MCPI_OPTIONS "-D${full_name}:${type}=${${full_name}}")
set(MCPI_OPTIONS "${MCPI_OPTIONS}" PARENT_SCOPE)
endfunction()
# Clear External CFLAGS When Building ARM Components
if(BUILD_ARM_COMPONENTS)
unset(ENV{CFLAGS})
unset(ENV{CXXFLAGS})
endif()