CMakeLists.txt 847 B

1234567891011121314151617181920212223242526272829303132333435
  1. cmake_minimum_required(VERSION 3.15)
  2. project(gblibc)
  3. add_library(gblibc STATIC
  4. src/stdio.c
  5. src/arithmetic.c
  6. src/string.c
  7. src/fcntl.c
  8. src/unistd.c
  9. src/wait.c
  10. src/assert.c
  11. src/dirent.c
  12. src/ctype.c
  13. src/stdlib.c
  14. src/errno.c
  15. src/init.c
  16. src/internal.c
  17. src/alloca.c
  18. src/stat.c
  19. src/time.c
  20. src/signal.c
  21. )
  22. add_library(crt0 OBJECT
  23. src/crt0.s
  24. )
  25. file(GLOB_RECURSE GBLIBC_PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include)
  26. target_include_directories(gblibc PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
  27. PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/private-include)
  28. set_target_properties(gblibc PROPERTIES PRIVATE_HEADER
  29. "private-include/devutil.h,private-include/syscall.h")
  30. set_target_properties(gblibc PROPERTIES PUBLIC_HEADER "${GBLIBC_PUBLIC_HEADERS}")