mirror of
https://github.com/blender/blender
synced 2026-10-25 03:07:01 +03:00
In CMake, set(VAR) without a value unsets the variable rather than initializing it to empty. This causes issues with --warn-uninitialized and can lead to unexpected behavior when the variable is used later. Use set(VAR "") when initializing variables that will be appended to or used in expressions. Use unset() to explicitly remove temporary variables after use. Ref !153503
128 lines
3.6 KiB
CMake
128 lines
3.6 KiB
CMake
# SPDX-FileCopyrightText: 2019 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
# - Find OpenImageDenoise library
|
|
# Find the native OpenImageDenoise includes and library
|
|
# This module defines
|
|
# OPENIMAGEDENOISE_INCLUDE_DIRS, where to find oidn.h, Set when
|
|
# OPENIMAGEDENOISE is found.
|
|
# OPENIMAGEDENOISE_LIBRARIES, libraries to link against to use OpenImageDenoise.
|
|
# OPENIMAGEDENOISE_ROOT_DIR, The base directory to search for OpenImageDenoise.
|
|
# This can also be an environment variable.
|
|
# OPENIMAGEDENOISE_FOUND, If false, do not try to use OpenImageDenoise.
|
|
#
|
|
# also defined, but not for general use are
|
|
# OPENIMAGEDENOISE_LIBRARY, where to find the OpenImageDenoise library.
|
|
|
|
# If `OPENIMAGEDENOISE_ROOT_DIR` was defined in the environment, use it.
|
|
if(DEFINED OPENIMAGEDENOISE_ROOT_DIR)
|
|
# Pass.
|
|
elseif(DEFINED ENV{OPENIMAGEDENOISE_ROOT_DIR})
|
|
set(OPENIMAGEDENOISE_ROOT_DIR $ENV{OPENIMAGEDENOISE_ROOT_DIR})
|
|
else()
|
|
set(OPENIMAGEDENOISE_ROOT_DIR "")
|
|
endif()
|
|
|
|
set(_openimagedenoise_SEARCH_DIRS
|
|
${OPENIMAGEDENOISE_ROOT_DIR}
|
|
/opt/lib/openimagedenoise
|
|
)
|
|
|
|
find_path(OPENIMAGEDENOISE_INCLUDE_DIR
|
|
NAMES
|
|
OpenImageDenoise/oidn.h
|
|
HINTS
|
|
${_openimagedenoise_SEARCH_DIRS}
|
|
PATH_SUFFIXES
|
|
include
|
|
)
|
|
|
|
set(_openimagedenoise_FIND_COMPONENTS
|
|
OpenImageDenoise
|
|
)
|
|
|
|
# These are needed when building statically
|
|
set(_openimagedenoise_FIND_STATIC_COMPONENTS
|
|
common
|
|
|
|
# These additional library names change between versions, we list all of them
|
|
# so builds work with multiple versions. Missing libraries are skipped.
|
|
dnnl_cpu
|
|
dnnl_common
|
|
dnnl_cpu # Second time because of circular dependency
|
|
mkldnn
|
|
dnnl
|
|
)
|
|
|
|
set(_openimagedenoise_LIBRARIES "")
|
|
foreach(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
|
|
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
|
|
|
|
find_library(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY
|
|
NAMES
|
|
${COMPONENT}
|
|
HINTS
|
|
${_openimagedenoise_SEARCH_DIRS}
|
|
PATH_SUFFIXES
|
|
lib64 lib
|
|
)
|
|
list(APPEND _openimagedenoise_LIBRARIES "${OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY}")
|
|
endforeach()
|
|
|
|
foreach(COMPONENT ${_openimagedenoise_FIND_STATIC_COMPONENTS})
|
|
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
|
|
|
|
find_library(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY
|
|
NAMES
|
|
${COMPONENT}
|
|
HINTS
|
|
${_openimagedenoise_SEARCH_DIRS}
|
|
PATH_SUFFIXES
|
|
lib64 lib
|
|
)
|
|
mark_as_advanced(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
|
|
if(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
|
|
list(APPEND _openimagedenoise_LIBRARIES "${OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY}")
|
|
endif()
|
|
endforeach()
|
|
|
|
find_library(OPENIMAGEDENOISE_LIBRARY
|
|
NAMES
|
|
OpenImageDenoise
|
|
HINTS
|
|
${_openimagedenoise_SEARCH_DIRS}
|
|
PATH_SUFFIXES
|
|
lib64 lib
|
|
)
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEDENOISE_FOUND to TRUE if
|
|
# all listed variables are TRUE
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(OpenImageDenoise DEFAULT_MSG
|
|
OPENIMAGEDENOISE_LIBRARY OPENIMAGEDENOISE_INCLUDE_DIR)
|
|
|
|
if(OPENIMAGEDENOISE_FOUND)
|
|
set(OPENIMAGEDENOISE_LIBRARIES ${_openimagedenoise_LIBRARIES})
|
|
set(OPENIMAGEDENOISE_INCLUDE_DIRS ${OPENIMAGEDENOISE_INCLUDE_DIR})
|
|
else()
|
|
set(OPENIMAGEDENOISE_FOUND FALSE)
|
|
endif()
|
|
|
|
mark_as_advanced(
|
|
OPENIMAGEDENOISE_INCLUDE_DIR
|
|
OPENIMAGEDENOISE_LIBRARY
|
|
)
|
|
|
|
foreach(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
|
|
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
|
|
mark_as_advanced(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
|
|
endforeach()
|
|
|
|
unset(COMPONENT)
|
|
unset(UPPERCOMPONENT)
|
|
|
|
unset(_openimagedenoise_FIND_COMPONENTS)
|
|
unset(_openimagedenoise_FIND_STATIC_COMPONENTS)
|
|
unset(_openimagedenoise_LIBRARIES)
|
|
unset(_openimagedenoise_SEARCH_DIRS)
|