From cdca983733ff2e59e539130869be6d61c3fc1529 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Sat, 13 Jan 2024 15:13:57 +0100 Subject: [PATCH] cmake: Skip generate export header if interface in legacy path It backports a behavior from CMake 3.0 to CMake 2.0 --- cmake/Modules/ObsHelpers.cmake | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmake/Modules/ObsHelpers.cmake b/cmake/Modules/ObsHelpers.cmake index 0a7d25241..b4620ab56 100644 --- a/cmake/Modules/ObsHelpers.cmake +++ b/cmake/Modules/ObsHelpers.cmake @@ -251,10 +251,13 @@ function(export_target target) COMPONENT obs_libraries ${_EXCLUDE}) - include(GenerateExportHeader) - generate_export_header(${target} EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${target}_EXPORT.h) + get_target_property(target_type ${target} TYPE) + if(NOT target_type STREQUAL INTERFACE_LIBRARY) + include(GenerateExportHeader) + generate_export_header(${target} EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${target}_EXPORT.h) - target_sources(${target} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${target}_EXPORT.h) + target_sources(${target} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${target}_EXPORT.h) + endif() set(TARGETS_EXPORT_NAME "${target}Targets") include(CMakePackageConfigHelpers)