From 317adcbf81b2fce79623a376bb7c1f8ca2f292cf Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 16 Jan 2025 12:30:55 +0100 Subject: [PATCH] Qt Creator CMake API: Treat OBJECT libraries as normal libraries The code had a workaround for CMake versions older than 3.12. CMake starting with version 3.12 treats OBJECT libraries like other library types when using target_link_libraries. Change-Id: I422fa78a53cf97c6ec6481a876f901a56bf54e05 Reviewed-by: Eike Ziller Reviewed-by: Marco Bubke --- cmake/QtCreatorAPIInternal.cmake | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 2d1b104c2c7..d21cbb034cd 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -328,30 +328,7 @@ function(add_qtc_depends target_name) set(depends "${_arg_PRIVATE}") set(public_depends "${_arg_PUBLIC}") - get_target_property(target_type ${target_name} TYPE) - if (NOT target_type STREQUAL "OBJECT_LIBRARY") - target_link_libraries(${target_name} PRIVATE ${depends} PUBLIC ${public_depends}) - else() - list(APPEND object_lib_depends ${depends}) - list(APPEND object_public_depends ${public_depends}) - endif() - - foreach(obj_lib IN LISTS object_lib_depends) - target_compile_options(${target_name} PRIVATE $) - target_compile_definitions(${target_name} PRIVATE $) - if (obj_lib MATCHES "Qt::.*|GoogleTest") - set(system_include "SYSTEM") - endif() - target_include_directories(${target_name} ${system_include} PRIVATE $) - endforeach() - foreach(obj_lib IN LISTS object_public_depends) - target_compile_options(${target_name} PUBLIC $) - target_compile_definitions(${target_name} PUBLIC $) - if (obj_lib MATCHES "Qt::.*|GoogleTest") - set(system_include "SYSTEM") - endif() - target_include_directories(${target_name} ${system_include} PUBLIC $) - endforeach() + target_link_libraries(${target_name} PRIVATE ${depends} PUBLIC ${public_depends}) endfunction() function(check_library_dependencies)