Alexey Samsonov | ca7fcf2 | 2012-12-19 12:33:39 +0000 | [diff] [blame] | 1 | include(LLVMParseArguments) |
| 2 | |
Alexey Samsonov | 150d62a | 2014-02-19 13:01:03 +0000 | [diff] [blame^] | 3 | # Compile a source into an object file with COMPILER_RT_TEST_COMPILER using |
Alexey Samsonov | ca7fcf2 | 2012-12-19 12:33:39 +0000 | [diff] [blame] | 4 | # a provided compile flags and dependenices. |
| 5 | # clang_compile(<object> <source> |
| 6 | # CFLAGS <list of compile flags> |
| 7 | # DEPS <list of dependencies>) |
| 8 | macro(clang_compile object_file source) |
| 9 | parse_arguments(SOURCE "CFLAGS;DEPS" "" ${ARGN}) |
| 10 | get_filename_component(source_rpath ${source} REALPATH) |
Alexey Samsonov | 150d62a | 2014-02-19 13:01:03 +0000 | [diff] [blame^] | 11 | if(NOT COMPILER_RT_STANDALONE_BUILD) |
| 12 | list(APPEND SOURCE_DEPS clang) |
| 13 | endif() |
Alexey Samsonov | ca7fcf2 | 2012-12-19 12:33:39 +0000 | [diff] [blame] | 14 | add_custom_command( |
| 15 | OUTPUT ${object_file} |
Alexey Samsonov | 150d62a | 2014-02-19 13:01:03 +0000 | [diff] [blame^] | 16 | COMMAND ${COMPILER_RT_TEST_COMPILER} ${SOURCE_CFLAGS} -c -o "${object_file}" |
| 17 | ${source_rpath} |
Alexey Samsonov | ca7fcf2 | 2012-12-19 12:33:39 +0000 | [diff] [blame] | 18 | MAIN_DEPENDENCY ${source} |
Alexey Samsonov | 150d62a | 2014-02-19 13:01:03 +0000 | [diff] [blame^] | 19 | DEPENDS ${SOURCE_DEPS}) |
Alexey Samsonov | ca7fcf2 | 2012-12-19 12:33:39 +0000 | [diff] [blame] | 20 | endmacro() |