diff options
author | Siva Chandra Reddy <sivachandra@google.com> | 2020-04-17 23:14:54 -0700 |
---|---|---|
committer | Siva Chandra Reddy <sivachandra@google.com> | 2020-04-21 09:58:55 -0700 |
commit | 20cb440ea210597bf223505604bb5f2220a067c6 (patch) | |
tree | 5fb5361db3af321369393b0b38f7614d27597e7a /libc/loader | |
parent | 5771c9856249345f09b860fa2b20b762113d521b (diff) | |
download | llvm-20cb440ea210597bf223505604bb5f2220a067c6.zip llvm-20cb440ea210597bf223505604bb5f2220a067c6.tar.gz llvm-20cb440ea210597bf223505604bb5f2220a067c6.tar.bz2 |
[libc] Propagate entrypoint deps to downstream targets.
Deps are recrusively evaluated at the place they are needed. With this
change, one does not have to list recursive deps of entrypoints when
listing test targets. One will still have to explicitly list all
entrypoint objects when setting up an "add_entrypoint_library" target.
Reviewers: abrachet
Differential Revision: https://reviews.llvm.org/D78537
Diffstat (limited to 'libc/loader')
-rw-r--r-- | libc/loader/linux/CMakeLists.txt | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/libc/loader/linux/CMakeLists.txt b/libc/loader/linux/CMakeLists.txt index f58603f..b972f72 100644 --- a/libc/loader/linux/CMakeLists.txt +++ b/libc/loader/linux/CMakeLists.txt @@ -8,7 +8,7 @@ function(add_loader_object name) ) get_fq_target_name(${name} fq_target_name) - + get_fq_deps_list(fq_deps_list ${ADD_LOADER_OBJECT_DEPENDS}) if(ADD_LOADER_OBJECT_ALIAS) list(LENGTH ADD_LOADER_OBJECT_DEPENDS deps_size) if(NOT (${deps_size} EQUAL "1")) @@ -23,14 +23,15 @@ function(add_loader_object name) set_target_properties( ${fq_target_name} PROPERTIES - "TARGET_TYPE" "LOADER_OBJECT" - "OBJECT_FILES" ${dep_objfile} + "TARGET_TYPE" "${OBJECT_LIBRARY_TARGET_TYPE}" + "OBJECT_FILES" "" + "DEPS" "${fq_dep_name}" ) return() endif() add_object_library( - ${name}_objects + ${name}.__objects__ SRCS ${ADD_LOADER_OBJECT_SRC} DEPENDS ${ADD_LOADER_OBJECT_DEPENDS} COMPILE_OPTIONS ${ADD_LOADER_OBJECT_COMPILE_OPTIONS} @@ -39,8 +40,8 @@ function(add_loader_object name) set(objfile ${LIBC_BUILD_DIR}/lib/${name}.o) add_custom_command( OUTPUT ${objfile} - COMMAND cp $<TARGET_OBJECTS:${fq_target_name}_objects> ${objfile} - DEPENDS $<TARGET_OBJECTS:${fq_target_name}_objects> + COMMAND cp $<TARGET_OBJECTS:${fq_target_name}.__objects__> ${objfile} + DEPENDS $<TARGET_OBJECTS:${fq_target_name}.__objects__> ) add_custom_target( ${fq_target_name} @@ -49,8 +50,9 @@ function(add_loader_object name) set_target_properties( ${fq_target_name} PROPERTIES - "TARGET_TYPE" "LOADER_OBJECT" - "OBJECT_FILES" ${objfile} + "TARGET_TYPE" "${OBJECT_LIBRARY_TARGET_TYPE}" + "OBJECT_FILES" "" + "DEPS" "${fq_target_name}.__objects__" ) endfunction() |