diff options
author | Ray Molenkamp <github@lazydodo.com> | 2020-03-02 22:42:01 +0300 |
---|---|---|
committer | Ray Molenkamp <github@lazydodo.com> | 2020-03-02 22:42:01 +0300 |
commit | 98c74c6a6ec40655e3db462bd4e1335588a10546 (patch) | |
tree | ab7f521faa58a92dbba7cd9bab0f65f8386b7883 | |
parent | 409074aae56138f49ce078ce919a6d02e44e521e (diff) |
Fix: Excessive (re)builds of subprojects
Recent refactor external dependencies handling (D6642)
improperly linked all library dependencies with public
linkage rather than interface linkage. Causing excessive
(re)builds of subprojects when not needed.
This patch restores the interface linkage.
Reviewed By: brecht sergey
Differential Revision: https://developer.blender.org/D6983
-rw-r--r-- | build_files/cmake/macros.cmake | 10 | ||||
-rw-r--r-- | source/blender/usd/CMakeLists.txt | 8 |
2 files changed, 9 insertions, 9 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index d082e6e9503..cb45d30c664 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -122,7 +122,7 @@ function(target_link_libraries_optimized ) foreach(_LIB ${LIBS}) - target_link_libraries(${TARGET} optimized "${_LIB}") + target_link_libraries(${TARGET} INTERFACE optimized "${_LIB}") endforeach() endfunction() @@ -132,7 +132,7 @@ function(target_link_libraries_debug ) foreach(_LIB ${LIBS}) - target_link_libraries(${TARGET} debug "${_LIB}") + target_link_libraries(${TARGET} INTERFACE debug "${_LIB}") endforeach() endfunction() @@ -303,11 +303,11 @@ function(blender_add_lib__impl set(next_library_mode "${library_lower}") else() if("${next_library_mode}" STREQUAL "optimized") - target_link_libraries(${name} optimized ${library}) + target_link_libraries(${name} INTERFACE optimized ${library}) elseif("${next_library_mode}" STREQUAL "debug") - target_link_libraries(${name} debug ${library}) + target_link_libraries(${name} INTERFACE debug ${library}) else() - target_link_libraries(${name} ${library}) + target_link_libraries(${name} INTERFACE ${library}) endif() set(next_library_mode "") endif() diff --git a/source/blender/usd/CMakeLists.txt b/source/blender/usd/CMakeLists.txt index 6ea02f44d76..0bcc0e6069e 100644 --- a/source/blender/usd/CMakeLists.txt +++ b/source/blender/usd/CMakeLists.txt @@ -97,13 +97,13 @@ endif() # Source: https://github.com/PixarAnimationStudios/USD/blob/master/BUILDING.md#linking-whole-archives if(WIN32) - target_link_libraries(bf_usd ${USD_LIBRARIES}) + target_link_libraries(bf_usd INTERFACE ${USD_LIBRARIES}) elseif(CMAKE_COMPILER_IS_GNUCXX) - target_link_libraries(bf_usd "-Wl,--whole-archive ${USD_LIBRARIES} -Wl,--no-whole-archive ${TBB_LIBRARIES}") + target_link_libraries(bf_usd INTERFACE "-Wl,--whole-archive ${USD_LIBRARIES} -Wl,--no-whole-archive ${TBB_LIBRARIES}") elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - target_link_libraries(bf_usd -Wl,-force_load ${USD_LIBRARIES}) + target_link_libraries(bf_usd INTERFACE -Wl,-force_load ${USD_LIBRARIES}) else() message(FATAL_ERROR "Unknown how to link USD with your compiler ${CMAKE_CXX_COMPILER_ID}") endif() -target_link_libraries(bf_usd ${TBB_LIBRARIES}) +target_link_libraries(bf_usd INTERFACE ${TBB_LIBRARIES}) |