Updated CMakeLists.txt to support ARM64 for testing

This commit is contained in:
Rebekah 2024-07-14 06:54:32 -04:00
parent a6c67dd91f
commit 8aecc2313e
Signed by: oneechanhax
GPG Key ID: 0074BF373B812798

View File

@ -30,10 +30,8 @@ endif()
find_package(glm REQUIRED)
find_package(SDL2 REQUIRED)
find_package(SDL2pp REQUIRED)
find_package(ImageMagick REQUIRED COMPONENTS convert identify )
#find_package(GLEW REQUIRED)
find_package(Vulkan REQUIRED)
find_package(Doxygen)
find_package(Vulkan REQUIRED COMPONENTS glslc)
#find_package(Doxygen)
add_executable(${PROJECT_NAME} "")
@ -46,9 +44,9 @@ target_link_libraries(${PROJECT_NAME} Vulkan::Vulkan SDL2pp::SDL2pp)
file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
target_sources(${PROJECT_NAME} PRIVATE ${sources})
if (DOXYGEN_FOUND)
doxygen_add_docs(${PROJECT_NAME})
endif()
#if (DOXYGEN_FOUND)
# doxygen_add_docs(${PROJECT_NAME})
#endif()
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
target_compile_options(${PROJECT_NAME} PRIVATE -O0 -fno-omit-frame-pointer -ggdb -Wall -Werror -fno-common)
@ -99,6 +97,7 @@ CommandCompileMassGSGLShaders(${shaders_frag} ${shaders_vertex})
# EMBED CMAKE
find_package(ImageMagick REQUIRED COMPONENTS convert identify)
function(CommandConvertImageToRgba file_in)
cmake_path(GET file_in FILENAME filename)
cmake_path(GET file_in PARENT_PATH filepath)
@ -114,10 +113,18 @@ endfunction()
function(CommandConvertToObjcopy file_in)
cmake_path(GET file_in FILENAME filename)
cmake_path(GET file_in PARENT_PATH filepath)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "amd64")
set(OBJCOPY_ARCH "elf64-x86-64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
set(OBJCOPY_ARCH "elf64-littleaarch64")
else()
message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
endif()
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${filename}.o
WORKING_DIRECTORY ${filepath}
COMMAND ${CMAKE_OBJCOPY}
ARGS --input binary --output elf64-x86-64 --binary-architecture i386 ${filename} ${CMAKE_CURRENT_BINARY_DIR}/${filename}.o
ARGS --input-target binary --output-target "${OBJCOPY_ARCH}" "${filename}" "${CMAKE_CURRENT_BINARY_DIR}/${filename}.o"
DEPENDS ${file_in}
POST_BUILD)
set(FUNC_RET ${CMAKE_CURRENT_BINARY_DIR}/${filename}.o PARENT_SCOPE)