CMakeLists.txt 783 B

12345678910111213141516171819202122232425262728293031
  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. )
  18. add_library(crt0 OBJECT
  19. src/crt0.s
  20. )
  21. file(GLOB_RECURSE GBLIBC_PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include)
  22. target_include_directories(gblibc PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
  23. PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/private-include)
  24. set_target_properties(gblibc PROPERTIES PRIVATE_HEADER
  25. "private-include/devutil.h,private-include/syscall.h")
  26. set_target_properties(gblibc PROPERTIES PUBLIC_HEADER "${GBLIBC_PUBLIC_HEADERS}")