Splitting link options from link libraries in cmake. (#4309) This was causing issues where flags like /LTCG were getting interpreted as libraries that couldn't be found.
diff --git a/build_tools/cmake/external_cc_library.cmake b/build_tools/cmake/external_cc_library.cmake index d9cd38e..88c0f82 100644 --- a/build_tools/cmake/external_cc_library.cmake +++ b/build_tools/cmake/external_cc_library.cmake
@@ -130,13 +130,15 @@ ${_RULE_COPTS} ${IREE_DEFAULT_COPTS} ) - target_link_libraries(${_NAME} - PUBLIC - ${_RULE_DEPS} + target_link_options(${_NAME} PRIVATE ${IREE_DEFAULT_LINKOPTS} ${_RULE_LINKOPTS} ) + target_link_libraries(${_NAME} + PUBLIC + ${_RULE_DEPS} + ) target_compile_definitions(${_NAME} PUBLIC ${_RULE_DEFINES} @@ -169,10 +171,13 @@ ${IREE_DEFAULT_COPTS} ${_RULE_COPTS} ) - target_link_libraries(${_NAME} + target_link_options(${_NAME} INTERFACE ${IREE_DEFAULT_LINKOPTS} ${_RULE_LINKOPTS} + ) + target_link_libraries(${_NAME} + INTERFACE ${_RULE_DEPS} ) iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA})
diff --git a/build_tools/cmake/iree_cc_library.cmake b/build_tools/cmake/iree_cc_library.cmake index fc7cb5d..41738dc 100644 --- a/build_tools/cmake/iree_cc_library.cmake +++ b/build_tools/cmake/iree_cc_library.cmake
@@ -128,14 +128,15 @@ ${IREE_DEFAULT_COPTS} ${_RULE_COPTS} ) - - target_link_libraries(${_NAME} - PUBLIC - ${_RULE_DEPS} + target_link_options(${_NAME} PRIVATE ${IREE_DEFAULT_LINKOPTS} ${_RULE_LINKOPTS} ) + target_link_libraries(${_NAME} + PUBLIC + ${_RULE_DEPS} + ) iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA}) target_compile_definitions(${_NAME} @@ -168,12 +169,15 @@ ${IREE_DEFAULT_COPTS} ${_RULE_COPTS} ) - target_link_libraries(${_NAME} + target_link_options(${_NAME} INTERFACE ${IREE_DEFAULT_LINKOPTS} - ${_RULE_DEPS} ${_RULE_LINKOPTS} ) + target_link_libraries(${_NAME} + INTERFACE + ${_RULE_DEPS} + ) iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA}) target_compile_definitions(${_NAME} INTERFACE