function(luna_app SOURCE_FILE APP_NAME)
    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 os ui)
    install(TARGETS ${APP_NAME} DESTINATION ${LUNA_BASE}/usr/bin)
endfunction()

luna_app(about.cpp about)
luna_app(taskbar.cpp taskbar)
luna_app(2048.cpp 2048)
luna_app(clock.cpp clock)
luna_app(gol.cpp gol)

add_subdirectory(editor)
add_subdirectory(terminal)