From 8aecc2313edea1ce15a68b0269dfcc6f3d303130 Mon Sep 17 00:00:00 2001 From: Rebekah Rowe Date: Sun, 14 Jul 2024 06:54:32 -0400 Subject: [PATCH] Updated CMakeLists.txt to support ARM64 for testing --- CMakeLists.txt | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8422593..563e29a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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)