build: add more tests to build system

This commit is contained in:
xinyangli 2024-07-09 17:42:46 +08:00
parent 2f559823a6
commit 9d41ac2f7b
Signed by: xin
SSH key fingerprint: SHA256:qZ/tzd8lYRtUFSrfBDBMcUqV4GHKxqeqRA3huItgvbk
12 changed files with 107 additions and 17 deletions

View file

@ -1,6 +1,3 @@
find_package(am-${ARCH})
find_package(klib)
set(SOURCES
add.c
add-longlong.c
@ -42,12 +39,12 @@ foreach(SOURCE IN LISTS SOURCES)
get_filename_component(SOURCE_NAME ${SOURCE} NAME_WLE)
add_executable(${SOURCE_NAME}
${SOURCE})
target_link_libraries(${SOURCE_NAME} PRIVATE am-${ARCH})
target_link_libraries(${SOURCE_NAME} PRIVATE am-${ARCH} klib)
# -- Extract binary file from ELF
add_custom_command(TARGET ${SOURCE_NAME}
COMMAND ${CMAKE_OBJCOPY} ARGS -S --set-section-flags .bss=alloc,contents -O binary ${SOURCE_NAME} ${SOURCE_NAME}.bin)
install(TARGETS ${SOURCE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_DATADIR}/elf)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_NAME}.bin DESTINATION ${CMAKE_INSTALL_DATADIR}/binary)
install(TARGETS ${SOURCE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/am-kernels)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_NAME}.bin DESTINATION ${CMAKE_INSTALL_DATADIR}/am-kernels)
endforeach()