diff options
| author | Jeod <47716344+JeodC@users.noreply.github.com> | 2026-04-22 19:38:48 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-22 17:38:48 -0600 |
| commit | 10f10f17e609d4ee218744029effcfb47b97a481 (patch) | |
| tree | bb9b40b4d45f945ead4f6161c4c2685d271c2ce3 /CMakeLists.txt | |
| parent | 3a5af8ff76efad60cb193670ff1ad8fd22ac47f0 (diff) | |
Fix compiling for linux arm64 (#650)
* Enable MK64 build option for torch
* Fix HMAS type error (present on arm64)
* Align memory pool and fix empty macro
* Experimental: Add 4096 memory alignment
* Add alignment for ALIGNED8 macro
* Use memset over deprecated bzero
* Ensure OPENGLES flag can be used in CMakeLists.txt
* Diagnostic: align ship2_window_i8 to rule out odd-alignment crash
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ba126c6a..bb8806422 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -178,6 +178,9 @@ else() set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${COMMON_CXX_FLAGS}") endif() +# Toggle for GLES (Required for many ARM/Mobile platforms) +option(USE_OPENGLES "Use OpenGLES instead of Desktop OpenGL" OFF) + # Set game compilation version set(VERSION us) set(USE_NETWORKING OFF) @@ -204,6 +207,7 @@ endif() # Add compile definitions for the target add_compile_definitions( VERSION_US=1 + $<$<BOOL:${USE_OPENGLES}>:USE_OPENGLES> ENABLE_RUMBLE=1 F3DEX_GBI=1 _LANGUAGE_C @@ -215,10 +219,6 @@ add_compile_definitions( SPAGHETTI_VERSION="${PROJECT_VERSION}" ) -# Find necessary libraries -if (UNIX AND NOT APPLE) - find_package(OpenGL REQUIRED) -endif() if (CMAKE_SYSTEM_NAME STREQUAL "Windows") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/properties.h.in ${CMAKE_CURRENT_SOURCE_DIR}/properties.h @ONLY) @@ -334,6 +334,18 @@ else() add_executable(${PROJECT_NAME} ${ALL_FILES}) endif() +################################################################################ +# OpenGL / OpenGLES library +################################################################################ +if (UNIX AND NOT APPLE) + if (USE_OPENGLES) + find_library(GLESv2_LIBRARY GLESv2 REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE ${GLESv2_LIBRARY}) + else() + find_package(OpenGL REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL) + endif() +endif() ################################################################################ # MSVC runtime library @@ -417,10 +429,13 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include/libultraship ${SDL2_INCLUDE_DIRS} - ${GLEW_INCLUDE_DIRS} ${dr_libs_SOURCE_DIR} ) +if (NOT USE_OPENGLES) + include_directories(${GLEW_INCLUDE_DIRS}) +endif() + add_subdirectory(libultraship ${CMAKE_CURRENT_SOURCE_DIR}/libultraship) add_dependencies(${PROJECT_NAME} libultraship) target_link_libraries(${PROJECT_NAME} PRIVATE libultraship) @@ -531,8 +546,10 @@ option(USE_STANDALONE "Build as a standalone executable" OFF) option(BUILD_STORMLIB "Build with StormLib support" OFF) option(BUILD_SM64 "Build with Super Mario 64 support" OFF) +option(BUILD_MK64 "Build with Mario Kart 64 support" ON) option(BUILD_SF64 "Build with Star Fox 64 support" OFF) option(BUILD_FZERO "Build with F-Zero X support" OFF) +option(BUILD_MARIO_ARTIST "Build with Mario Artist support" OFF) add_subdirectory(torch) target_link_libraries(${PROJECT_NAME} PRIVATE torch "${ADDITIONAL_LIBRARY_DEPENDENCIES}") |
