Guard against multiple inclusions
authorTimo Röhling <roehling@debian.org>
Tue, 25 Jan 2022 21:12:05 +0000 (22:12 +0100)
committerTimo Röhling <roehling@debian.org>
Tue, 25 Jan 2022 21:12:10 +0000 (22:12 +0100)
Gbp-Dch: ignore

debian/cmake/benchmark.cmake
debian/cmake/glslang.cmake
debian/cmake/imgui.cmake
debian/cmake/jsmn.cmake
debian/cmake/libassimp.cmake
debian/cmake/spirv-cross.cmake
debian/cmake/spirv-tools.cmake
debian/cmake/stb.cmake

index 0c0f551d66dec4f1d5b85a219dfa4dfca9075516..1d00c46a9ccaa89efce99e199810636f98a481fd 100644 (file)
@@ -1,5 +1,9 @@
 find_package(benchmark REQUIRED)
-add_library(benchmark INTERFACE)
-target_link_libraries(benchmark INTERFACE benchmark::benchmark)
-add_library(benchmark_main INTERFACE)
-target_link_libraries(benchmark_main INTERFACE benchmark::benchmark_main)
+if(NOT TARGET benchmark)
+    add_library(benchmark INTERFACE)
+    target_link_libraries(benchmark INTERFACE benchmark::benchmark)
+endif()
+if(NOT TARGET benchmark_main)
+    add_library(benchmark_main INTERFACE)
+    target_link_libraries(benchmark_main INTERFACE benchmark::benchmark_main)
+endif()
index eeb6d9aa305248a35242deebafafd087028d40ad..fe07c7a1d70b11cc603de3821a0af484a12b3b3b 100644 (file)
@@ -1,12 +1,14 @@
 # Empty
 find_package(PkgConfig REQUIRED)
-pkg_check_modules(glslang REQUIRED IMPORTED_TARGET spirv glslang)
-add_library(glslang INTERFACE)
-target_include_directories(glslang INTERFACE
-       /usr/include/glslang/Public
-       /usr/include/glslang/Include
-       /usr/include/glslang/MachineIndependent
-       /usr/include/glslang/SPIRV
-       )
-set_property(TARGET PkgConfig::glslang APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${STDCXX_LIBRARY})
-target_link_libraries(glslang INTERFACE PkgConfig::glslang)
+if(NOT TARGET glslang)
+    pkg_check_modules(glslang REQUIRED IMPORTED_TARGET spirv glslang)
+    add_library(glslang INTERFACE)
+    target_include_directories(glslang INTERFACE
+            /usr/include/glslang/Public
+            /usr/include/glslang/Include
+            /usr/include/glslang/MachineIndependent
+            /usr/include/glslang/SPIRV
+            )
+    set_property(TARGET PkgConfig::glslang APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${STDCXX_LIBRARY})
+    target_link_libraries(glslang INTERFACE PkgConfig::glslang)
+endif()
index 1c3c96ad98ff099f628544d166a9d28ef645ae94..032665d657eb9a8b5b6eff5386857ebe638d04a0 100644 (file)
@@ -1,9 +1,11 @@
-find_path(imgui_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui)
-find_library(imgui_LIBRARY NAMES imgui)
-if(imgui_INCLUDE_DIR AND imgui_LIBRARY)
-    add_library(filament::imgui INTERFACE IMPORTED)
-    set_target_properties(filament::imgui PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${imgui_INCLUDE_DIR}"
-        INTERFACE_LINK_LIBRARIES "${imgui_LIBRARY}"
-    )
+if(NOT TARGET filament::imgui)
+    find_path(imgui_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui)
+    find_library(imgui_LIBRARY NAMES imgui)
+    if(imgui_INCLUDE_DIR AND imgui_LIBRARY)
+        add_library(filament::imgui INTERFACE IMPORTED)
+        set_target_properties(filament::imgui PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${imgui_INCLUDE_DIR}"
+            INTERFACE_LINK_LIBRARIES "${imgui_LIBRARY}"
+        )
+    endif()
 endif()
index c965e752ef885d21a551a745509cdf1c55fde4b1..039883d55469b6f86f42f6c100e140300d8ed8af 100644 (file)
@@ -1,3 +1,6 @@
-find_path(jsmn_INCLUDE_DIR NAMES jsmn.h)
-add_library(jsmn INTERFACE)
-target_include_directories(jsmn INTERFACE ${jsmn_INCLUDE_DIR})
+if(NOT TARGET jsm)
+    find_path(jsmn_INCLUDE_DIR NAMES jsmn.h)
+    add_library(jsmn INTERFACE)
+    target_include_directories(jsmn INTERFACE ${jsmn_INCLUDE_DIR})
+endif()
+
index 9e5e1669945620b39a198aed2f2f3875b13c0269..d8e2cb897d570b159ab7427eeccb88acb00d5164 100644 (file)
@@ -1,6 +1,9 @@
 # find_package(assimp) and target assimp::assimp is broken, so we do this manually
-find_path(assimp_INCLUDE_DIR NAMES assimp/version.h)
-find_library(assimp_LIBRARY NAMES assimp)
-add_library(assimp INTERFACE)
-target_include_directories(assimp INTERFACE ${assimp_INCLUDE_DIR})
-target_link_libraries(assimp INTERFACE ${assimp_LIBRARY})
+if(NOT TARGET assimp)
+    find_path(assimp_INCLUDE_DIR NAMES assimp/version.h)
+    find_library(assimp_LIBRARY NAMES assimp)
+    add_library(assimp INTERFACE)
+    target_include_directories(assimp INTERFACE ${assimp_INCLUDE_DIR})
+    target_link_libraries(assimp INTERFACE ${assimp_LIBRARY})
+endif()
+
index 117bb7ff1c58c4fc8bf17182b1ffb41865f5e1f1..62a36ec8b59a619d0be9338c2005972492250374 100644 (file)
@@ -1,5 +1,7 @@
 find_package(spirv_cross_c_shared REQUIRED)
 find_package(spirv_cross_cpp REQUIRED)
-add_library(spirv-cross INTERFACE)
-target_link_libraries(spirv-cross INTERFACE spirv-cross-cpp spirv-cross-c-shared)
+if(NOT TARGET spirv-cross)
+    add_library(spirv-cross INTERFACE)
+    target_link_libraries(spirv-cross INTERFACE spirv-cross-cpp spirv-cross-c-shared)
+endif()
 
index 8b9f6af998d5f9375ee0a787e5c94dc38ed622f2..9745c094ee50d4a991043dd2b8a35f7b9bc49c48 100644 (file)
@@ -1,4 +1,7 @@
-find_package(PkgConfig REQUIRED)
-pkg_check_modules(SPIRV-Tools REQUIRED IMPORTED_TARGET SPIRV-Tools)
-add_library(SPIRV-Tools-opt INTERFACE)
-target_link_libraries(SPIRV-Tools-opt INTERFACE PkgConfig::SPIRV-Tools)
+if(NOT TARGET SPIRV-Tools-opt)
+    find_package(PkgConfig REQUIRED)
+    pkg_check_modules(SPIRV-Tools REQUIRED IMPORTED_TARGET SPIRV-Tools)
+    add_library(SPIRV-Tools-opt INTERFACE)
+    target_link_libraries(SPIRV-Tools-opt INTERFACE PkgConfig::SPIRV-Tools)
+endif()
+
index 648673c7607f69b88da437cdec2a165d386f2dce..f4a2d01e70c1a7318e104b4c04e1d0cd3a2a6345 100644 (file)
@@ -1,9 +1,11 @@
-find_path(stb_INCLUDE_DIR NAMES stb.h PATH_SUFFIXES stb)
-find_library(stb_LIBRARY NAMES stb)
-if(stb_INCLUDE_DIR AND stb_LIBRARY)
-    add_library(filament::stb INTERFACE IMPORTED)
-    set_target_properties(filament::stb PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${stb_INCLUDE_DIR}"
-        INTERFACE_LINK_LIBRARIES "${stb_LIBRARY}"
-    )
+if(NOT TARGET filament::stb)
+    find_path(stb_INCLUDE_DIR NAMES stb.h PATH_SUFFIXES stb)
+    find_library(stb_LIBRARY NAMES stb)
+    if(stb_INCLUDE_DIR AND stb_LIBRARY)
+        add_library(filament::stb INTERFACE IMPORTED)
+        set_target_properties(filament::stb PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${stb_INCLUDE_DIR}"
+            INTERFACE_LINK_LIBRARIES "${stb_LIBRARY}"
+        )
+    endif()
 endif()