NVIDIAGameWorks/Falcor
CMakeLists.txt
:212
message(STATUS "FALCOR_HAS_CUDA: ${FALCOR_HAS_CUDA}")
message(STATUS "FALCOR_HAS_CUDA: ${FALCOR_HAS_CUDA}")
target_compile_definitions(Falcor
PUBLIC
$<$<CONFIG:Release>:NDEBUG>
$<$<CONFIG:Debug>:_DEBUG>
# Windows.
$<$<PLATFORM_ID:Windows>:NOMINMAX> # do not define min/max macros
$<$<PLATFORM_ID:Windows>:UNICODE> # force character map to unicode
# MSVC C++ library.
$<$<CXX_COMPILER_ID:MSVC>:_USE_MATH_DEFINES>
$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>
$<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
$<$<CXX_COMPILER_ID:MSVC>:_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING>
$<$<CXX_COMPILER_ID:MSVC>:_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS>
# Clang.
$<$<CXX_COMPILER_ID:Clang>:_MSC_EXTENSIONS> # enable MS extensions
# Falcor feature flags.
FALCOR_ENABLE_ASSERTS=$<BOOL:${FALCOR_ENABLE_ASSERTS_}>
FALCOR_ENABLE_PROFILER=$<BOOL:${FALCOR_ENABLE_PROFILER}>
FALCOR_HAS_D3D12=$<BOOL:${FALCOR_HAS_D3D12}>
FALCOR_HAS_VULKAN=$<BOOL:${FALCOR_HAS_VULKAN}>
FALCOR_HAS_AFTERMATH=$<BOOL:${FALCOR_HAS_AFTERMATH}>
FALCOR_HAS_NVAPI=$<BOOL:${FALCOR_HAS_NVAPI}>
FALCOR_HAS_CUDA=$<BOOL:${FALCOR_HAS_CUDA}>
FALCOR_HAS_D3D12_AGILITY_SDK=$<BOOL:${FALCOR_HAS_D3D12_AGILITY_SDK}>
# TODO: RTXDI is always available, we might want to remove the feature flag.
FALCOR_HAS_RTXDI=1
IMGUI_USER_CONFIG="Utils/UI/ImGuiConfig.h"
PRIVATE
#$<$<CONFIG:Debug>:_ITERATOR_DEBUG_LEVEL=0>
FALCOR_PROJECT_DIR="${CMAKE_SOURCE_DIR}/"
FALCOR_DLL
$<$<PLATFORM_ID:Windows>:IMGUI_API=__declspec\(dllexport\)>
$<$<PLATFORM_ID:Linux>:IMGUI_API=__attribute__\(\(visibility\("default"\)\)\)>
)
target_link_libraries(Falcor
PUBLIC
fmt pybind11::embed Vulkan::Headers
slang slang-gfx
imgui imgui_addons
nanovdb
external_includes
rtxdi
$<$<BOOL:${FALCOR_HAS_CUDA}>:CUDA::cuda_driver>
$<$<BOOL:${FALCOR_HAS_CUDA}>:CUDA::cudart_static>
PRIVATE
git_version
FreeImage assimp OpenEXR OpenVDB lz4 zlib pugixml opensubdiv
glfw mikktspace nvtt
$<$<BOOL:${FALCOR_HAS_D3D12}>:d3d12>
$<$<BOOL:${FALCOR_HAS_D3D12_AGILITY_SDK}>:agility-sdk>
$<$<BOOL:${FALCOR_HAS_AFTERMATH}>:aftermath>
$<$<BOOL:${FALCOR_HAS_NVAPI}>:nvapi>
# Windows system libraries.
$<$<PLATFORM_ID:Windows>:shcore.lib>
$<$<PLATFORM_ID:Windows>:shlwapi.lib>
$<$<PLATFORM_ID:Windows>:comctl32.lib>
$<$<PLATFORM_ID:Windows>:setupapi.lib> # Used in MonitorInfo
# Linux system libraries.
$<$<PLATFORM_ID:Linux>:gtk3>
)