From 0ddb2fcbbaa5387990c8812341fbe8e2848f8989 Mon Sep 17 00:00:00 2001 From: Gangzheng Tong Date: Thu, 10 Jul 2025 21:03:54 -0700 Subject: Add slang-gfx build target back for Falcor (#7700) * Update falcor perf test CI * Add slang-gfx build back since Falcor is still using it * format code (#7704) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --------- Co-authored-by: slangbot Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- tools/CMakeLists.txt | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) (limited to 'tools') diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index a004a87ca..00bd93c49 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -126,6 +126,67 @@ if(SLANG_ENABLE_SLANGI) endif() if(SLANG_ENABLE_GFX) + # + # GFX + # + slang_add_target( + gfx + ${SLANG_LIB_TYPE} + USE_FEWER_WARNINGS + LINK_WITH_PRIVATE + core + slang + Vulkan-Headers + metal-cpp + stb + $<$:X11::X11> + $<$:CUDA::cuda_driver> + $<$:${NVAPI_LIBRARIES}> + LINK_WITH_FRAMEWORK Foundation Cocoa QuartzCore Metal + EXTRA_COMPILE_DEFINITIONS_PRIVATE + $<$:GFX_ENABLE_CUDA> + $<$:GFX_OPTIX> + $<$:GFX_NVAPI> + $<$:SLANG_ENABLE_XLIB> + # This is a shared library, so we need to set a preprocessor macro to mark + # exported symbols + EXPORT_MACRO_PREFIX SLANG_GFX + # slang-gfx is in this directory, anything which depends on gfx should include + # this + INCLUDE_DIRECTORIES_PUBLIC + ${slang_SOURCE_DIR} + ${slang_SOURCE_DIR}/include + if + (not ${SLANG_OVERRIDE_SPIRV_TOOLS_PATH}) + INCLUDE_DIRECTORIES_PUBLIC ${slang_SOURCE_DIR}/external else () + INCLUDE_DIRECTORIES_PUBLIC + ${SLANG_OVERRIDE_SPIRV_TOOLS_PATH} + endif + () + if + (not ${SLANG_OVERRIDE_GLM_PATH}) + INCLUDE_DIRECTORIES_PUBLIC ${slang_SOURCE_DIR}/external else () + INCLUDE_DIRECTORIES_PUBLIC + ${SLANG_OVERRIDE_GLM_PATH} + endif + () + if + (not ${SLANG_OVERRIDE_IMGUI_PATH}) + INCLUDE_DIRECTORIES_PUBLIC ${slang_SOURCE_DIR}/external else () + INCLUDE_DIRECTORIES_PUBLIC + ${SLANG_OVERRIDE_IMGUI_PATH} + endif + () + if + (not ${SLANG_OVERRIDE_TINYOBJLOADER_PATH}) + INCLUDE_DIRECTORIES_PUBLIC ${slang_SOURCE_DIR}/external else () + INCLUDE_DIRECTORIES_PUBLIC ${SLANG_OVERRIDE_TINYOBJLOADER_PATH} endif () + INCLUDE_DIRECTORIES_PRIVATE ${NVAPI_INCLUDE_DIRS} + INSTALL + EXPORT_SET_NAME SlangTargets + FOLDER gfx + ) + # # `platform` contains all the platform abstractions for a GUI application. # -- cgit v1.2.3