eca55dfed8
I've kept just one cmake project, in the root directory. The subdirectories just set up the targets. The asm compiler is serached just one time, from the root directory cmake file. Global compilation flags are set in the root cmake file, and each subdirectory cmake file sets specific flags if necessary (e.g., programs need the -u_start specified)
78 lines
3.2 KiB
CMake
78 lines
3.2 KiB
CMake
# =============================================================================
|
|
# LIBRARY
|
|
# =============================================================================
|
|
|
|
# Add the library.
|
|
add_library(
|
|
libc
|
|
${CMAKE_SOURCE_DIR}/libc/src/stdio.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/ctype.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/string.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/stdlib.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/math.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/fcvt.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/time.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/strerror.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/termios.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/libgen.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/vsprintf.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/vscanf.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/pwd.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/grp.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/sched.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/readline.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/setenv.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/assert.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/abort.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/io/mm_io.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/io/debug.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/sys/ipc.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/sys/unistd.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/sys/errno.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/sys/utsname.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/sys/mman.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/sys/ioctl.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/creat.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getppid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getpid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/exit.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/setsid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getsid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/setpgid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getpgid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/setgid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getgid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/setuid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getuid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/fork.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/read.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/write.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/exec.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/nice.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/open.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/reboot.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/waitpid.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/chdir.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getcwd.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/close.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/stat.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/rmdir.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/mkdir.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/unlink.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/getdents.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/lseek.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/kill.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/signal.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/interval.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/symlink.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/unistd/readlink.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/libc_start.c
|
|
${CMAKE_SOURCE_DIR}/libc/src/crt0.S
|
|
)
|
|
|
|
# Add the includes.
|
|
target_include_directories(libc PUBLIC inc)
|
|
|
|
# Remove the 'lib' prefix.
|
|
set_target_properties(libc PROPERTIES PREFIX "")
|