cmake_minimum_required(VERSION 3.14 FATAL_ERROR) project(coreutils LANGUAGES C) set(CMAKE_C_STANDARD 23) set(CMAKE_C_STANDARD_REQUIRED TRUE) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) set(CMAKE_STATIC_LIBRARY_PREFIX "") file(GLOB_RECURSE SRC_UTIL CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/src/util/*) add_library(libutil STATIC ${SRC_UTIL}) link_libraries(libutil) add_executable(base64 ${PROJECT_SOURCE_DIR}/src/base64.c) add_executable(basename ${PROJECT_SOURCE_DIR}/src/basename.c) add_executable(cat ${PROJECT_SOURCE_DIR}/src/cat.c) add_executable(chmod ${PROJECT_SOURCE_DIR}/src/chmod.c) add_executable(cksum ${PROJECT_SOURCE_DIR}/src/cksum.c) add_executable(cp ${PROJECT_SOURCE_DIR}/src/cp.c) add_executable(dirname ${PROJECT_SOURCE_DIR}/src/dirname.c) add_executable(echo ${PROJECT_SOURCE_DIR}/src/echo.c) add_executable(env ${PROJECT_SOURCE_DIR}/src/env.c) add_executable(false ${PROJECT_SOURCE_DIR}/src/false.c) add_executable(head ${PROJECT_SOURCE_DIR}/src/head.c) add_executable(id ${PROJECT_SOURCE_DIR}/src/id.c) add_executable(link ${PROJECT_SOURCE_DIR}/src/link.c) add_executable(logname ${PROJECT_SOURCE_DIR}/src/logname.c) add_executable(mkdir ${PROJECT_SOURCE_DIR}/src/mkdir.c) add_executable(nice ${PROJECT_SOURCE_DIR}/src/nice.c) add_executable(orphan ${PROJECT_SOURCE_DIR}/src/orphan.c) add_executable(od ${PROJECT_SOURCE_DIR}/src/od.c) add_executable(pwd ${PROJECT_SOURCE_DIR}/src/pwd.c) add_executable(rand ${PROJECT_SOURCE_DIR}/src/rand.c) add_executable(realpath ${PROJECT_SOURCE_DIR}/src/realpath.c) add_executable(relogin ${PROJECT_SOURCE_DIR}/src/relogin.c) add_executable(rmdir ${PROJECT_SOURCE_DIR}/src/rmdir.c) add_executable(sleep ${PROJECT_SOURCE_DIR}/src/sleep.c) add_executable(sum ${PROJECT_SOURCE_DIR}/src/sum.c) add_executable(sync ${PROJECT_SOURCE_DIR}/src/sync.c) add_executable(tee ${PROJECT_SOURCE_DIR}/src/tee.c) add_executable(time ${PROJECT_SOURCE_DIR}/src/time.c) add_executable(timeout ${PROJECT_SOURCE_DIR}/src/timeout.c) add_executable(touch ${PROJECT_SOURCE_DIR}/src/touch.c) add_executable(true ${PROJECT_SOURCE_DIR}/src/true.c) add_executable(tty ${PROJECT_SOURCE_DIR}/src/tty.c) add_executable(uname ${PROJECT_SOURCE_DIR}/src/uname.c) add_executable(unlink ${PROJECT_SOURCE_DIR}/src/unlink.c) add_executable(wc ${PROJECT_SOURCE_DIR}/src/wc.c) add_executable(yes ${PROJECT_SOURCE_DIR}/src/yes.c)