Luna/tests/CMakeLists.txt
apio ae7c841fff
All checks were successful
continuous-integration/drone/push Build is passing
tests: Make building tests optional, although with no option to toggle them on for now
2023-04-28 20:02:49 +02:00

24 lines
1.0 KiB
CMake

add_library(test test.cpp test.h)
target_compile_options(test PRIVATE ${COMMON_FLAGS})
target_include_directories(test PUBLIC ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(test PUBLIC ${LUNA_BASE}/usr/include)
function(luna_test SOURCE_FILE APP_NAME SETUID)
add_executable(${APP_NAME} ${SOURCE_FILE})
target_compile_options(${APP_NAME} PRIVATE -Os ${COMMON_FLAGS} -Wno-write-strings)
add_dependencies(${APP_NAME} libc)
target_include_directories(${APP_NAME} PRIVATE ${LUNA_BASE}/usr/include)
target_link_libraries(${APP_NAME} PRIVATE test os)
if(${SETUID})
install(TARGETS ${APP_NAME} DESTINATION ${LUNA_ROOT}/initrd/tests PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE SETUID)
else()
install(TARGETS ${APP_NAME} DESTINATION ${LUNA_ROOT}/initrd/tests)
endif()
endfunction()
if(BUILD_TESTS)
luna_test(libluna/TestVector.cpp TestVector OFF)
luna_test(libluna/TestBase64.cpp TestBase64 OFF)
luna_test(libluna/TestUtf8.cpp TestUtf8 OFF)
endif()