[libc][NFC] Move aligned access implementations to separate header
[llvm-project.git] / libc / src / __support / File / CMakeLists.txt
blob53b2171deb6d7ca69f26fbe90ba261f530c21389
1 if(NOT (TARGET libc.src.__support.threads.mutex))
2   # Not all platforms have a mutex implementation. If mutex is unvailable,
3   # we just skip everything about files.
4   return()
5 endif()
7 add_object_library(
8   file
9   SRCS
10     file.cpp
11   HDRS
12     file.h
13   DEPENDS
14     libc.src.__support.CPP.new
15     libc.src.__support.CPP.span
16     libc.src.__support.threads.mutex
17     libc.src.__support.error_or
20 add_object_library(
21   dir
22   SRCS
23     dir.cpp
24   HDRS
25     dir.h
26   DEPENDS
27     libc.src.__support.CPP.new
28     libc.src.__support.CPP.span
29     libc.src.__support.threads.mutex
32 if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS})
33   return()
34 endif()
36 add_subdirectory(${LIBC_TARGET_OS})
37 set(target_file libc.src.__support.File.${LIBC_TARGET_OS}.${LIBC_TARGET_OS}_file)
38 set(target_dir libc.src.__support.File.${LIBC_TARGET_OS}.${LIBC_TARGET_OS}_dir)
39 if((NOT TARGET ${target_file}) OR (NOT TARGET ${target_dir}))
40   return()
41 endif()
43 add_object_library(
44   platform_file
45   ALIAS
46     ${target_file}
47   DEPENDS
48     ${target_file}
51 add_object_library(
52   platform_dir
53   ALIAS
54     ${target_dir}
55   DEPENDS
56     ${target_dir}