Build against system libraries
authorTimo Röhling <roehling@debian.org>
Wed, 24 May 2023 21:55:51 +0000 (23:55 +0200)
committerTimo Röhling <roehling@debian.org>
Thu, 22 Jun 2023 12:15:22 +0000 (13:15 +0100)
Gbp-Pq: Name 0001-Build-against-system-libraries.patch

CMakeLists.txt
libs/filamat/CMakeLists.txt

index aa51851bf2d05c7b1f9c9da10ec4cec4cb8258f1..960f49f493e3d9877cc492fee9fd53ceb2dfff50 100644 (file)
@@ -573,12 +573,30 @@ function(get_resgen_vars ARCHIVE_DIR ARCHIVE_NAME)
     endif()
 endfunction()
 
+# ==================================================================================================
+# External dependencies
+# ==================================================================================================
+find_package(GTest REQUIRED)
+find_package(astcenc REQUIRED)
+find_package(tsl-robin-map REQUIRED)
+find_package(meshoptimizer REQUIRED)
+find_package(draco REQUIRED)
+set(THREADS_PREFER_PTHREAD_FLAG ON)
+find_package(Threads REQUIRED)
+if(IS_HOST_PLATFORM)
+    find_package(PNG REQUIRED)
+    find_package(SDL2 REQUIRED)
+    find_package(ZLIB REQUIRED)
+    find_package(tinyexr REQUIRED)
+endif()
+include(debian/cmake/imgui.cmake)
+include(debian/cmake/stb.cmake)
+
 # ==================================================================================================
 # Sub-projects
 # ==================================================================================================
 
 # Common to all platforms
-add_subdirectory(${EXTERNAL}/libgtest/tnt)
 add_subdirectory(${LIBRARIES}/camutils)
 add_subdirectory(${LIBRARIES}/filabridge)
 add_subdirectory(${LIBRARIES}/filaflat)
@@ -597,23 +615,16 @@ add_subdirectory(${FILAMENT}/filament)
 add_subdirectory(${FILAMENT}/shaders)
 add_subdirectory(${EXTERNAL}/civetweb/tnt)
 add_subdirectory(${EXTERNAL}/hat-trie/tnt)
-add_subdirectory(${EXTERNAL}/imgui/tnt)
-add_subdirectory(${EXTERNAL}/robin-map/tnt)
 add_subdirectory(${EXTERNAL}/smol-v/tnt)
-add_subdirectory(${EXTERNAL}/benchmark/tnt)
-add_subdirectory(${EXTERNAL}/meshoptimizer)
+include(debian/cmake/benchmark.cmake)
 add_subdirectory(${EXTERNAL}/cgltf/tnt)
-add_subdirectory(${EXTERNAL}/draco/tnt)
-add_subdirectory(${EXTERNAL}/jsmn/tnt)
-add_subdirectory(${EXTERNAL}/stb/tnt)
+include(debian/cmake/jsmn.cmake)
 add_subdirectory(${EXTERNAL}/getopt)
 
 if (FILAMENT_BUILD_FILAMAT OR IS_HOST_PLATFORM)
-    # spirv-tools must come before filamat, as filamat relies on the presence of the
-    # spirv-tools_SOURCE_DIR variable.
-    add_subdirectory(${EXTERNAL}/spirv-tools)
-    add_subdirectory(${EXTERNAL}/glslang/tnt)
-    add_subdirectory(${EXTERNAL}/spirv-cross/tnt)
+    include(debian/cmake/spirv-tools.cmake)
+    include(debian/cmake/glslang.cmake)
+    include(debian/cmake/spirv-cross.cmake)
     add_subdirectory(${LIBRARIES}/filamat)
 
     # the material debugger requires filamat
@@ -649,13 +660,8 @@ if (IS_HOST_PLATFORM)
 
     add_subdirectory(${FILAMENT}/samples)
 
-    add_subdirectory(${EXTERNAL}/astcenc/tnt)
     add_subdirectory(${EXTERNAL}/etc2comp)
-    add_subdirectory(${EXTERNAL}/libassimp/tnt)
-    add_subdirectory(${EXTERNAL}/libpng/tnt)
-    add_subdirectory(${EXTERNAL}/libsdl2/tnt)
-    add_subdirectory(${EXTERNAL}/libz/tnt)
-    add_subdirectory(${EXTERNAL}/tinyexr/tnt)
+    include(debian/cmake/libassimp.cmake)
 
     add_subdirectory(${TOOLS}/cmgen)
     add_subdirectory(${TOOLS}/cso-lut)
index 96450049b155d532f78bb5d20cb09850d1f47f6c..2271e83c990491652e1b2e6ca716382a17848e3d 100644 (file)
@@ -104,7 +104,7 @@ if (APPLE OR MSVC)
     target_link_libraries(${TARGET} glslang SPIRV SPVRemapper SPIRV-Tools-opt spirv-cross-glsl)
 else()
     target_link_libraries(${TARGET}
-            -Wl,--start-group glslang SPIRV SPVRemapper SPIRV-Tools-opt spirv-cross-glsl -Wl,--end-group)
+            -Wl,--start-group glslang SPIRV SPVRemapper SPIRV-Tools-opt spirv-cross -Wl,--end-group)
 endif()
 
 # ==================================================================================================