Updated CMakeLists.txt to support ARM64 for testing
This commit is contained in:
parent
a6c67dd91f
commit
8aecc2313e
@ -30,10 +30,8 @@ endif()
|
|||||||
find_package(glm REQUIRED)
|
find_package(glm REQUIRED)
|
||||||
find_package(SDL2 REQUIRED)
|
find_package(SDL2 REQUIRED)
|
||||||
find_package(SDL2pp REQUIRED)
|
find_package(SDL2pp REQUIRED)
|
||||||
find_package(ImageMagick REQUIRED COMPONENTS convert identify )
|
find_package(Vulkan REQUIRED COMPONENTS glslc)
|
||||||
#find_package(GLEW REQUIRED)
|
#find_package(Doxygen)
|
||||||
find_package(Vulkan REQUIRED)
|
|
||||||
find_package(Doxygen)
|
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} "")
|
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")
|
file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
|
||||||
target_sources(${PROJECT_NAME} PRIVATE ${sources})
|
target_sources(${PROJECT_NAME} PRIVATE ${sources})
|
||||||
|
|
||||||
if (DOXYGEN_FOUND)
|
#if (DOXYGEN_FOUND)
|
||||||
doxygen_add_docs(${PROJECT_NAME})
|
# doxygen_add_docs(${PROJECT_NAME})
|
||||||
endif()
|
#endif()
|
||||||
|
|
||||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE -O0 -fno-omit-frame-pointer -ggdb -Wall -Werror -fno-common)
|
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
|
# EMBED CMAKE
|
||||||
|
find_package(ImageMagick REQUIRED COMPONENTS convert identify)
|
||||||
function(CommandConvertImageToRgba file_in)
|
function(CommandConvertImageToRgba file_in)
|
||||||
cmake_path(GET file_in FILENAME filename)
|
cmake_path(GET file_in FILENAME filename)
|
||||||
cmake_path(GET file_in PARENT_PATH filepath)
|
cmake_path(GET file_in PARENT_PATH filepath)
|
||||||
@ -114,10 +113,18 @@ endfunction()
|
|||||||
function(CommandConvertToObjcopy file_in)
|
function(CommandConvertToObjcopy file_in)
|
||||||
cmake_path(GET file_in FILENAME filename)
|
cmake_path(GET file_in FILENAME filename)
|
||||||
cmake_path(GET file_in PARENT_PATH filepath)
|
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
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${filename}.o
|
||||||
WORKING_DIRECTORY ${filepath}
|
WORKING_DIRECTORY ${filepath}
|
||||||
COMMAND ${CMAKE_OBJCOPY}
|
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}
|
DEPENDS ${file_in}
|
||||||
POST_BUILD)
|
POST_BUILD)
|
||||||
set(FUNC_RET ${CMAKE_CURRENT_BINARY_DIR}/${filename}.o PARENT_SCOPE)
|
set(FUNC_RET ${CMAKE_CURRENT_BINARY_DIR}/${filename}.o PARENT_SCOPE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user