diff options
Diffstat (limited to 'lib/CMakeLists.txt')
-rw-r--r-- | lib/CMakeLists.txt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt new file mode 100644 index 00000000..433e0af7 --- /dev/null +++ b/lib/CMakeLists.txt @@ -0,0 +1,28 @@ +# The top-level lib directory contains a large amount of C code which provides +# generic implementations of the core runtime library along with optimized +# architecture-specific code in various subdirectories. + +file(GLOB GENERIC_SOURCES . "*.c") + +# FIXME: We don't currently support building an atomic library, and as it must +# be a separate library from the runtime library, we need to remove its source +# code from the glob. +file(GLOB ATOMIC . "atomic.c") +list(REMOVE_ITEM GENERIC_SOURCES ${ATOMIC}) + +if(CAN_TARGET_X86_64) + file(GLOB X86_64_SOURCES . "*.c" "*.S") + add_library(clang_rt.x86_64 STATIC ${X86_64_SOURCES} ${GENERIC_SOURCES}) + set_target_properties(clang_rt.x86_64 PROPERTIES COMPILE_FLAGS "${TARGET_X86_64_CFLAGS}") +endif() +if(CAN_TARGET_I386) + file(GLOB I386_SOURCES . "*.c" "*.S") + add_library(clang_rt.i386 STATIC ${I386_SOURCES} ${GENERIC_SOURCES}) + set_target_properties(clang_rt.i386 PROPERTIES COMPILE_FLAGS "${TARGET_I386_CFLAGS}") +endif() + +# Also support building feature-based runtime libraries in their various +# subdircetories. +add_subdirectory(asan) + +# FIXME: Add support for the profile library. |