CMakeLists.txt 878 B

123456789101112131415161718192021222324252627282930313233343536
  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. src/platform-independent.s
  22. )
  23. add_library(crt0 OBJECT
  24. src/crt0.s
  25. )
  26. file(GLOB_RECURSE GBLIBC_PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include)
  27. target_include_directories(gblibc PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
  28. PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/private-include)
  29. set_target_properties(gblibc PROPERTIES PRIVATE_HEADER
  30. "private-include/devutil.h,private-include/syscall.h")
  31. set_target_properties(gblibc PROPERTIES PUBLIC_HEADER "${GBLIBC_PUBLIC_HEADERS}")