Просмотр исходного кода

cmake: Skip generate export header if interface in legacy path

It backports a behavior from CMake 3.0 to CMake 2.0
tytan652 2 лет назад
Родитель
Сommit
cdca983733
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      cmake/Modules/ObsHelpers.cmake

+ 6 - 3
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)