USD: Skeleton and blend shape import #110912

Merged
Michael Kowalski merged 38 commits from makowalski/blender:usdskel_import into main 2023-08-17 20:11:58 +02:00
198 changed files with 2576 additions and 1807 deletions
Showing only changes of commit b6d57a5287 - Show all commits

View File

@ -1267,8 +1267,12 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "Release")
unset(_is_CONFIG_DEBUG)
elseif(COMPILER_ASAN_LIBRARY)
set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS};${COMPILER_ASAN_LIBRARY}")
set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}")
set(PLATFORM_LINKFLAGS_DEBUG "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}")
set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY}")
set(PLATFORM_LINKFLAGS_DEBUG "${COMPILER_ASAN_LIBRARY}")
if(DEFINED COMPILER_ASAN_LINKER_FLAGS)
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${COMPILER_ASAN_LINKER_FLAGS}")
set(PLATFORM_LINKFLAGS_DEBUG "${PLATFORM_LINKFLAGS_DEBUG} ${COMPILER_ASAN_LINKER_FLAGS}")
endif()
endif()
endif()
endif()
@ -1434,7 +1438,12 @@ if(WITH_OPENVDB)
if(WITH_OPENVDB_BLOSC)
list(APPEND OPENVDB_DEFINITIONS -DWITH_OPENVDB_BLOSC)
list(APPEND OPENVDB_LIBRARIES ${BLOSC_LIBRARIES} ${ZLIB_LIBRARIES})
# Even when `WITH_OPENVDB_BLOSC` is set, `FindBlosc.cmake` isn't running.
# As this might be used at some point, check the libraries are defined.
if(DEFINED BLOSC_LIBRARIES)
list(APPEND OPENVDB_LIBRARIES ${BLOSC_LIBRARIES})
endif()
list(APPEND OPENVDB_LIBRARIES ${ZLIB_LIBRARIES})
endif()
list(APPEND OPENVDB_LIBRARIES ${BOOST_LIBRARIES} ${TBB_LIBRARIES})
@ -1730,6 +1739,7 @@ if(CMAKE_COMPILER_IS_GNUCC)
CXX_WARN_UNUSED_PARAMETER -Wunused-parameter
CXX_WARN_WRITE_STRINGS -Wwrite-strings
CXX_WARN_UNDEF -Wundef
CXX_WARN_COMMA_SUBSCRIPT -Wcomma-subscript
CXX_WARN_FORMAT_SIGN -Wformat-signedness
CXX_WARN_RESTRICT -Wrestrict
CXX_WARN_NO_SUGGEST_OVERRIDE -Wno-suggest-override
@ -1963,6 +1973,12 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC")
unset(_WARNINGS)
endif()
# Xcode enables additional warning flags by default. Disable some to match
# command line build and other platforms more closely.
if(XCODE)
set(CMAKE_XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION NO)
endif()
# ensure python header is found since detection can fail, this could happen
# with _any_ library but since we used a fixed python version this tends to
# be most problematic.

View File

@ -49,7 +49,7 @@ set(BOOST_HASH 077f074743ea7b0cb49c6ed43953ae95)
set(BOOST_HASH_TYPE MD5)
set(BOOST_FILE boost_${BOOST_VERSION_NODOTS}.tar.gz)
set(BOOST_CPE "cpe:2.3:a:boost:boost:${BOOST_VERSION}:*:*:*:*:*:*:*")
SET(BOOST_HOMEPAGE https://www.boost.org/)
set(BOOST_HOMEPAGE https://www.boost.org/)
set(BLOSC_VERSION 1.21.1)
set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.tar.gz)
@ -100,7 +100,7 @@ set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE
set(FREETYPE_HASH 98bc3cf234fe88ef3cf24569251fe0a4)
set(FREETYPE_HASH_TYPE MD5)
set(FREETYPE_FILE freetype-${FREETYPE_VERSION}.tar.gz)
SET(FREETYPE_CPE "cpe:2.3:a:freetype:freetype:${FREETYPE_VERSION}:*:*:*:*:*:*:*")
set(FREETYPE_CPE "cpe:2.3:a:freetype:freetype:${FREETYPE_VERSION}:*:*:*:*:*:*:*")
set(FREETYPE_HOMEPAGE https://freetype.org/)
set(EPOXY_VERSION 1.5.10)
@ -460,7 +460,7 @@ set(BZIP2_HASH ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269)
set(BZIP2_HASH_TYPE SHA256)
set(BZIP2_FILE bzip2_${BZIP2_VERSION}.orig.tar.gz)
set(BZIP2_CPE "cpe:2.3:a:bzip:bzip2:${BZIP2_VERSION}:*:*:*:*:*:*:*")
SET(BZIP2_HOMEPAGE https://sourceware.org/bzip2/)
set(BZIP2_HOMEPAGE https://sourceware.org/bzip2/)
# NOTE: This will *HAVE* to match the version python ships on windows which
# is hardcoded in pythons PCbuild/get_externals.bat. For compliance reasons there
@ -471,7 +471,7 @@ set(FFI_HASH 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056)
set(FFI_HASH_TYPE SHA256)
set(FFI_FILE libffi-${FFI_VERSION}.tar.gz)
set(FFI_CPE "cpe:2.3:a:libffi_project:libffi:${FFI_VERSION}:*:*:*:*:*:*:*")
SET(FFI_HOMEPAGE https://sourceware.org/libffi/)
set(FFI_HOMEPAGE https://sourceware.org/libffi/)
set(LZMA_VERSION 5.2.5)
set(LZMA_URI https://tukaani.org/xz/xz-${LZMA_VERSION}.tar.bz2)
@ -778,7 +778,7 @@ set(AOM_URI https://storage.googleapis.com/aom-releases/libaom-${AOM_VERSION}.ta
set(AOM_HASH bd754b58c3fa69f3ffd29da77de591bd9c26970e3b18537951336d6c0252e354)
set(AOM_HASH_TYPE SHA256)
set(AOM_FILE libaom-${AOM_VERSION}.tar.gz)
SET(AOM_HOMEPAGE https://aomedia.googlesource.com/aom/)
set(AOM_HOMEPAGE https://aomedia.googlesource.com/aom/)
set(FRIBIDI_VERSION v1.0.12)
set(FRIBIDI_URI https://github.com/fribidi/fribidi/archive/refs/tags/${FRIBIDI_VERSION}.tar.gz)

View File

@ -14,20 +14,20 @@
#
# If `ALEMBIC_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED ALEMBIC_ROOT_DIR)
if(DEFINED ALEMBIC_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{ALEMBIC_ROOT_DIR})
SET(ALEMBIC_ROOT_DIR $ENV{ALEMBIC_ROOT_DIR})
ELSE()
SET(ALEMBIC_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{ALEMBIC_ROOT_DIR})
set(ALEMBIC_ROOT_DIR $ENV{ALEMBIC_ROOT_DIR})
else()
set(ALEMBIC_ROOT_DIR "")
endif()
SET(_alembic_SEARCH_DIRS
set(_alembic_SEARCH_DIRS
${ALEMBIC_ROOT_DIR}
/opt/lib/alembic
)
FIND_PATH(ALEMBIC_INCLUDE_DIR
find_path(ALEMBIC_INCLUDE_DIR
NAMES
Alembic/Abc/All.h
HINTS
@ -36,7 +36,7 @@ FIND_PATH(ALEMBIC_INCLUDE_DIR
include
)
FIND_LIBRARY(ALEMBIC_LIBRARY
find_library(ALEMBIC_LIBRARY
NAMES
Alembic
HINTS
@ -47,17 +47,17 @@ FIND_LIBRARY(ALEMBIC_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set ALEMBIC_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Alembic DEFAULT_MSG ALEMBIC_LIBRARY ALEMBIC_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Alembic DEFAULT_MSG ALEMBIC_LIBRARY ALEMBIC_INCLUDE_DIR)
IF(ALEMBIC_FOUND)
SET(ALEMBIC_LIBRARIES ${ALEMBIC_LIBRARY})
SET(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR})
ENDIF()
if(ALEMBIC_FOUND)
set(ALEMBIC_LIBRARIES ${ALEMBIC_LIBRARY})
set(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
ALEMBIC_INCLUDE_DIR
ALEMBIC_LIBRARY
)
UNSET(_alembic_SEARCH_DIRS)
unset(_alembic_SEARCH_DIRS)

View File

@ -15,22 +15,22 @@
# AUDASPACE_PY_INCLUDE_DIRS - the audaspace's python binding include directories
# AUDASPACE_PY_LIBRARIES - link these to use audaspace's python binding
IF(NOT AUDASPACE_ROOT_DIR AND NOT $ENV{AUDASPACE_ROOT_DIR} STREQUAL "")
SET(AUDASPACE_ROOT_DIR $ENV{AUDASPACE_ROOT_DIR})
ENDIF()
if(NOT AUDASPACE_ROOT_DIR AND NOT $ENV{AUDASPACE_ROOT_DIR} STREQUAL "")
set(AUDASPACE_ROOT_DIR $ENV{AUDASPACE_ROOT_DIR})
endif()
SET(_audaspace_SEARCH_DIRS
set(_audaspace_SEARCH_DIRS
${AUDASPACE_ROOT_DIR}
)
# Use pkg-config to get hints about paths
FIND_PACKAGE(PkgConfig)
IF(PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(AUDASPACE_PKGCONF audaspace)
ENDIF()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_check_modules(AUDASPACE_PKGCONF audaspace)
endif()
# Include dir
FIND_PATH(AUDASPACE_INCLUDE_DIR
find_path(AUDASPACE_INCLUDE_DIR
NAMES ISound.h
HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
@ -38,7 +38,7 @@ FIND_PATH(AUDASPACE_INCLUDE_DIR
)
# Library
FIND_LIBRARY(AUDASPACE_LIBRARY
find_library(AUDASPACE_LIBRARY
NAMES audaspace
HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
@ -46,7 +46,7 @@ FIND_LIBRARY(AUDASPACE_LIBRARY
)
# Include dir
FIND_PATH(AUDASPACE_C_INCLUDE_DIR
find_path(AUDASPACE_C_INCLUDE_DIR
NAMES AUD_Sound.h
HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
@ -54,7 +54,7 @@ FIND_PATH(AUDASPACE_C_INCLUDE_DIR
)
# Library
FIND_LIBRARY(AUDASPACE_C_LIBRARY
find_library(AUDASPACE_C_LIBRARY
NAMES audaspace-c
HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
@ -62,7 +62,7 @@ FIND_LIBRARY(AUDASPACE_C_LIBRARY
)
# Include dir
FIND_PATH(AUDASPACE_PY_INCLUDE_DIR
find_path(AUDASPACE_PY_INCLUDE_DIR
NAMES python/PyAPI.h
HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
@ -70,34 +70,34 @@ FIND_PATH(AUDASPACE_PY_INCLUDE_DIR
)
# Library
FIND_LIBRARY(AUDASPACE_PY_LIBRARY
find_library(AUDASPACE_PY_LIBRARY
NAMES audaspace-py
HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
PATH_SUFFIXES lib lib64
)
FIND_PACKAGE(PackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Audaspace DEFAULT_MSG AUDASPACE_LIBRARY AUDASPACE_INCLUDE_DIR)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Audaspace_C DEFAULT_MSG AUDASPACE_C_LIBRARY AUDASPACE_C_INCLUDE_DIR)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Audaspace_Py DEFAULT_MSG AUDASPACE_PY_LIBRARY AUDASPACE_PY_INCLUDE_DIR)
find_package(PackageHandleStandardArgs)
find_package_handle_standard_args(Audaspace DEFAULT_MSG AUDASPACE_LIBRARY AUDASPACE_INCLUDE_DIR)
find_package_handle_standard_args(Audaspace_C DEFAULT_MSG AUDASPACE_C_LIBRARY AUDASPACE_C_INCLUDE_DIR)
find_package_handle_standard_args(Audaspace_Py DEFAULT_MSG AUDASPACE_PY_LIBRARY AUDASPACE_PY_INCLUDE_DIR)
IF(AUDASPACE_FOUND)
SET(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY})
SET(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR})
ENDIF()
if(AUDASPACE_FOUND)
set(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY})
set(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR})
endif()
IF(AUDASPACE_C_FOUND)
SET(AUDASPACE_C_LIBRARIES ${AUDASPACE_C_LIBRARY})
SET(AUDASPACE_C_INCLUDE_DIRS ${AUDASPACE_C_INCLUDE_DIR})
ENDIF()
if(AUDASPACE_C_FOUND)
set(AUDASPACE_C_LIBRARIES ${AUDASPACE_C_LIBRARY})
set(AUDASPACE_C_INCLUDE_DIRS ${AUDASPACE_C_INCLUDE_DIR})
endif()
IF(AUDASPACE_PY_FOUND)
SET(AUDASPACE_PY_LIBRARIES ${AUDASPACE_PY_LIBRARY})
SET(AUDASPACE_PY_INCLUDE_DIRS ${AUDASPACE_PY_INCLUDE_DIR})
ENDIF()
if(AUDASPACE_PY_FOUND)
set(AUDASPACE_PY_LIBRARIES ${AUDASPACE_PY_LIBRARY})
set(AUDASPACE_PY_INCLUDE_DIRS ${AUDASPACE_PY_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
AUDASPACE_LIBRARY
AUDASPACE_LIBRARIES
AUDASPACE_INCLUDE_DIR

View File

@ -16,20 +16,20 @@
# BLOSC_LIBRARY, where to find the Blosc library.
# If `BLOSC_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED BLOSC_ROOT_DIR)
if(DEFINED BLOSC_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{BLOSC_ROOT_DIR})
SET(BLOSC_ROOT_DIR $ENV{BLOSC_ROOT_DIR})
ELSE()
SET(BLOSC_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{BLOSC_ROOT_DIR})
set(BLOSC_ROOT_DIR $ENV{BLOSC_ROOT_DIR})
else()
set(BLOSC_ROOT_DIR "")
endif()
SET(_blosc_SEARCH_DIRS
set(_blosc_SEARCH_DIRS
${BLOSC_ROOT_DIR}
/opt/lib/blosc
)
FIND_PATH(BLOSC_INCLUDE_DIR
find_path(BLOSC_INCLUDE_DIR
NAMES
blosc.h
HINTS
@ -38,7 +38,7 @@ FIND_PATH(BLOSC_INCLUDE_DIR
include
)
FIND_LIBRARY(BLOSC_LIBRARY
find_library(BLOSC_LIBRARY
NAMES
blosc
HINTS
@ -49,18 +49,18 @@ FIND_LIBRARY(BLOSC_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set BLOSC_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Blosc DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Blosc DEFAULT_MSG
BLOSC_LIBRARY BLOSC_INCLUDE_DIR)
IF(BLOSC_FOUND)
SET(BLOSC_LIBRARIES ${BLOSC_LIBRARY})
SET(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIR})
ELSE()
SET(BLOSC_BLOSC_FOUND FALSE)
ENDIF()
if(BLOSC_FOUND)
set(BLOSC_LIBRARIES ${BLOSC_LIBRARY})
set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIR})
else()
set(BLOSC_BLOSC_FOUND FALSE)
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
BLOSC_INCLUDE_DIR
BLOSC_LIBRARY
)

View File

@ -13,19 +13,19 @@
#
# If `BROTLI_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED BROTLI_ROOT_DIR)
if(DEFINED BROTLI_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{BROTLI_ROOT_DIR})
SET(BROTLI_ROOT_DIR $ENV{BROTLI_ROOT_DIR})
ELSE()
SET(BROTLI_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{BROTLI_ROOT_DIR})
set(BROTLI_ROOT_DIR $ENV{BROTLI_ROOT_DIR})
else()
set(BROTLI_ROOT_DIR "")
endif()
SET(_BROTLI_SEARCH_DIRS
set(_BROTLI_SEARCH_DIRS
${BROTLI_ROOT_DIR}
)
FIND_PATH(BROTLI_INCLUDE_DIR
find_path(BROTLI_INCLUDE_DIR
NAMES
brotli/decode.h
HINTS
@ -35,7 +35,7 @@ FIND_PATH(BROTLI_INCLUDE_DIR
DOC "Brotli header files"
)
FIND_LIBRARY(BROTLI_LIBRARY_COMMON
find_library(BROTLI_LIBRARY_COMMON
NAMES
# Some builds use a special `-static` postfix in their static libraries names.
brotlicommon-static
@ -46,7 +46,7 @@ FIND_LIBRARY(BROTLI_LIBRARY_COMMON
lib64 lib lib/static
DOC "Brotli static common library"
)
FIND_LIBRARY(BROTLI_LIBRARY_DEC
find_library(BROTLI_LIBRARY_DEC
NAMES
# Some builds use a special `-static` postfix in their static libraries names.
brotlidec-static
@ -59,26 +59,26 @@ FIND_LIBRARY(BROTLI_LIBRARY_DEC
)
IF(${BROTLI_LIBRARY_COMMON_NOTFOUND} or ${BROTLI_LIBRARY_DEC_NOTFOUND})
if((NOT BROTLI_LIBRARY_COMMON) OR (NOT BROTLI_LIBRARY_DEC))
set(BROTLI_FOUND FALSE)
ELSE()
else()
# handle the QUIETLY and REQUIRED arguments and set BROTLI_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Brotli DEFAULT_MSG BROTLI_LIBRARY_COMMON BROTLI_LIBRARY_DEC BROTLI_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Brotli DEFAULT_MSG BROTLI_LIBRARY_COMMON BROTLI_LIBRARY_DEC BROTLI_INCLUDE_DIR)
IF(BROTLI_FOUND)
if(BROTLI_FOUND)
get_filename_component(BROTLI_LIBRARY_DIR ${BROTLI_LIBRARY_COMMON} DIRECTORY)
SET(BROTLI_INCLUDE_DIRS ${BROTLI_INCLUDE_DIR})
SET(BROTLI_LIBRARIES ${BROTLI_LIBRARY_DEC} ${BROTLI_LIBRARY_COMMON})
ENDIF()
ENDIF()
set(BROTLI_INCLUDE_DIRS ${BROTLI_INCLUDE_DIR})
set(BROTLI_LIBRARIES ${BROTLI_LIBRARY_DEC} ${BROTLI_LIBRARY_COMMON})
endif()
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
BROTLI_INCLUDE_DIR
BROTLI_LIBRARY_COMMON
BROTLI_LIBRARY_DEC
BROTLI_LIBRARY_DIR
)
UNSET(_BROTLI_SEARCH_DIRS)
unset(_BROTLI_SEARCH_DIRS)

View File

@ -12,19 +12,19 @@
# EIGEN3_FOUND, If false, do not try to use Eigen3.
# If `EIGEN3_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED EIGEN3_ROOT_DIR)
if(DEFINED EIGEN3_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{EIGEN3_ROOT_DIR})
SET(EIGEN3_ROOT_DIR $ENV{EIGEN3_ROOT_DIR})
ELSE()
SET(EIGEN3_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{EIGEN3_ROOT_DIR})
set(EIGEN3_ROOT_DIR $ENV{EIGEN3_ROOT_DIR})
else()
set(EIGEN3_ROOT_DIR "")
endif()
SET(_eigen3_SEARCH_DIRS
set(_eigen3_SEARCH_DIRS
${EIGEN3_ROOT_DIR}
)
FIND_PATH(EIGEN3_INCLUDE_DIR
find_path(EIGEN3_INCLUDE_DIR
NAMES
# header has no '.h' suffix
Eigen/Eigen
@ -36,14 +36,14 @@ FIND_PATH(EIGEN3_INCLUDE_DIR
# handle the QUIETLY and REQUIRED arguments and set EIGEN3_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Eigen3 DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Eigen3 DEFAULT_MSG
EIGEN3_INCLUDE_DIR)
IF(EIGEN3_FOUND)
SET(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
ENDIF()
if(EIGEN3_FOUND)
set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
EIGEN3_INCLUDE_DIR
)

View File

@ -13,20 +13,20 @@
# EMBREEFOUND, If false, do not try to use Embree.
# If `EMBREE_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED EMBREE_ROOT_DIR)
if(DEFINED EMBREE_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{EMBREE_ROOT_DIR})
SET(EMBREE_ROOT_DIR $ENV{EMBREE_ROOT_DIR})
ELSE()
SET(EMBREE_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{EMBREE_ROOT_DIR})
set(EMBREE_ROOT_DIR $ENV{EMBREE_ROOT_DIR})
else()
set(EMBREE_ROOT_DIR "")
endif()
SET(_embree_SEARCH_DIRS
set(_embree_SEARCH_DIRS
${EMBREE_ROOT_DIR}
/opt/lib/embree
)
FIND_PATH(EMBREE_INCLUDE_DIR
find_path(EMBREE_INCLUDE_DIR
NAMES
embree4/rtcore.h
embree3/rtcore.h
@ -36,44 +36,44 @@ FIND_PATH(EMBREE_INCLUDE_DIR
include
)
IF(EXISTS ${EMBREE_INCLUDE_DIR}/embree4/rtcore_config.h)
SET(EMBREE_MAJOR_VERSION 4)
ELSE()
SET(EMBREE_MAJOR_VERSION 3)
ENDIF()
if(EXISTS ${EMBREE_INCLUDE_DIR}/embree4/rtcore_config.h)
set(EMBREE_MAJOR_VERSION 4)
else()
set(EMBREE_MAJOR_VERSION 3)
endif()
IF(EMBREE_INCLUDE_DIR)
FILE(READ ${EMBREE_INCLUDE_DIR}/embree${EMBREE_MAJOR_VERSION}/rtcore_config.h _embree_config_header)
IF(_embree_config_header MATCHES "#define EMBREE_STATIC_LIB")
SET(EMBREE_STATIC_LIB TRUE)
ELSE()
SET(EMBREE_STATIC_LIB FALSE)
ENDIF()
IF(_embree_config_header MATCHES "#define EMBREE_SYCL_SUPPORT")
SET(EMBREE_SYCL_SUPPORT TRUE)
ELSE()
SET(EMBREE_SYCL_SUPPORT FALSE)
ENDIF()
UNSET(_embree_config_header)
ENDIF()
if(EMBREE_INCLUDE_DIR)
file(READ ${EMBREE_INCLUDE_DIR}/embree${EMBREE_MAJOR_VERSION}/rtcore_config.h _embree_config_header)
if(_embree_config_header MATCHES "#define EMBREE_STATIC_LIB")
set(EMBREE_STATIC_LIB TRUE)
else()
set(EMBREE_STATIC_LIB FALSE)
endif()
if(_embree_config_header MATCHES "#define EMBREE_SYCL_SUPPORT")
set(EMBREE_SYCL_SUPPORT TRUE)
else()
set(EMBREE_SYCL_SUPPORT FALSE)
endif()
unset(_embree_config_header)
endif()
IF(EMBREE_STATIC_LIB)
IF(NOT (("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64") OR (APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64"))))
SET(_embree_SIMD_COMPONENTS
if(EMBREE_STATIC_LIB)
if(NOT (("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64") OR (APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64"))))
set(_embree_SIMD_COMPONENTS
embree_sse42
embree_avx
embree_avx2
)
ENDIF()
endif()
IF(EMBREE_SYCL_SUPPORT)
SET(_embree_GPU_COMPONENTS
if(EMBREE_SYCL_SUPPORT)
set(_embree_GPU_COMPONENTS
embree4_sycl
embree_rthwif
)
ENDIF()
endif()
SET(_embree_FIND_COMPONENTS
set(_embree_FIND_COMPONENTS
embree${EMBREE_MAJOR_VERSION}
${_embree_SIMD_COMPONENTS}
${_embree_GPU_COMPONENTS}
@ -83,21 +83,21 @@ IF(EMBREE_STATIC_LIB)
sys
tasking
)
ELSE()
SET(_embree_FIND_COMPONENTS
else()
set(_embree_FIND_COMPONENTS
embree${EMBREE_MAJOR_VERSION}
)
IF(EMBREE_SYCL_SUPPORT)
LIST(APPEND _embree_FIND_COMPONENTS
if(EMBREE_SYCL_SUPPORT)
list(APPEND _embree_FIND_COMPONENTS
embree4_sycl
)
ENDIF()
ENDIF()
endif()
endif()
SET(_embree_LIBRARIES)
FOREACH(COMPONENT ${_embree_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(EMBREE_${UPPERCOMPONENT}_LIBRARY
set(_embree_LIBRARIES)
foreach(COMPONENT ${_embree_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
find_library(EMBREE_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -105,32 +105,32 @@ FOREACH(COMPONENT ${_embree_FIND_COMPONENTS})
PATH_SUFFIXES
lib64 lib
)
LIST(APPEND _embree_LIBRARIES "${EMBREE_${UPPERCOMPONENT}_LIBRARY}")
ENDFOREACH()
list(APPEND _embree_LIBRARIES "${EMBREE_${UPPERCOMPONENT}_LIBRARY}")
endforeach()
# handle the QUIETLY and REQUIRED arguments and set EMBREE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Embree DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Embree DEFAULT_MSG
_embree_LIBRARIES EMBREE_INCLUDE_DIR)
IF(EMBREE_FOUND)
SET(EMBREE_LIBRARIES ${_embree_LIBRARIES})
SET(EMBREE_INCLUDE_DIRS ${EMBREE_INCLUDE_DIR})
ENDIF()
if(EMBREE_FOUND)
set(EMBREE_LIBRARIES ${_embree_LIBRARIES})
set(EMBREE_INCLUDE_DIRS ${EMBREE_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
EMBREE_INCLUDE_DIR
EMBREE_MAJOR_VERSION
EMBREE_SYCL_SUPPORT
EMBREE_STATIC_LIB
)
FOREACH(COMPONENT ${_embree_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
MARK_AS_ADVANCED(EMBREE_${UPPERCOMPONENT}_LIBRARY)
ENDFOREACH()
foreach(COMPONENT ${_embree_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
mark_as_advanced(EMBREE_${UPPERCOMPONENT}_LIBRARY)
endforeach()
UNSET(_embree_SEARCH_DIRS)
UNSET(_embree_FIND_COMPONENTS)
UNSET(_embree_LIBRARIES)
unset(_embree_SEARCH_DIRS)
unset(_embree_FIND_COMPONENTS)
unset(_embree_LIBRARIES)

View File

@ -10,15 +10,15 @@
# Epoxy_FOUND, If false, do not try to use epoxy.
# If `EPOXY_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED EPOXY_ROOT_DIR)
if(DEFINED EPOXY_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{EPOXY_ROOT_DIR})
SET(EPOXY_ROOT_DIR $ENV{EPOXY_ROOT_DIR})
ELSE()
SET(EPOXY_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{EPOXY_ROOT_DIR})
set(EPOXY_ROOT_DIR $ENV{EPOXY_ROOT_DIR})
else()
set(EPOXY_ROOT_DIR "")
endif()
FIND_PATH(Epoxy_INCLUDE_DIR
find_path(Epoxy_INCLUDE_DIR
NAMES
epoxy/gl.h
HINTS
@ -27,7 +27,7 @@ FIND_PATH(Epoxy_INCLUDE_DIR
include
)
FIND_LIBRARY(Epoxy_LIBRARY
find_library(Epoxy_LIBRARY
NAMES
epoxy
HINTS
@ -38,16 +38,16 @@ FIND_LIBRARY(Epoxy_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set Epoxy_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Epoxy DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Epoxy DEFAULT_MSG
Epoxy_LIBRARY Epoxy_INCLUDE_DIR)
IF(Epoxy_FOUND)
SET(Epoxy_INCLUDE_DIRS ${Epoxy_INCLUDE_DIR})
SET(Epoxy_LIBRARIES ${Epoxy_LIBRARY})
ENDIF()
if(Epoxy_FOUND)
set(Epoxy_INCLUDE_DIRS ${Epoxy_INCLUDE_DIR})
set(Epoxy_LIBRARIES ${Epoxy_LIBRARY})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
Epoxy_INCLUDE_DIR
Epoxy_LIBRARY
)

View File

@ -73,10 +73,10 @@ include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFmpeg DEFAULT_MSG
_ffmpeg_LIBRARIES _ffmpeg_INCLUDE_DIR)
IF(FFMPEG_FOUND)
if(FFMPEG_FOUND)
set(FFMPEG_LIBRARIES ${_ffmpeg_LIBRARIES})
set(FFMPEG_INCLUDE_DIRS ${_ffmpeg_INCLUDE_DIR})
ENDIF()
endif()
mark_as_advanced(
FFMPEG_INCLUDE_DIR

View File

@ -16,19 +16,19 @@
# FFTW3_LIBRARY, where to find the Fftw3 library.
# If `FFTW3_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED FFTW3_ROOT_DIR)
if(DEFINED FFTW3_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{FFTW3_ROOT_DIR})
SET(FFTW3_ROOT_DIR $ENV{FFTW3_ROOT_DIR})
ELSE()
SET(FFTW3_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{FFTW3_ROOT_DIR})
set(FFTW3_ROOT_DIR $ENV{FFTW3_ROOT_DIR})
else()
set(FFTW3_ROOT_DIR "")
endif()
SET(_fftw3_SEARCH_DIRS
set(_fftw3_SEARCH_DIRS
${FFTW3_ROOT_DIR}
)
FIND_PATH(FFTW3_INCLUDE_DIR
find_path(FFTW3_INCLUDE_DIR
NAMES
fftw3.h
HINTS
@ -37,7 +37,7 @@ FIND_PATH(FFTW3_INCLUDE_DIR
include
)
FIND_LIBRARY(FFTW3_LIBRARY
find_library(FFTW3_LIBRARY
NAMES
fftw3
HINTS
@ -48,16 +48,16 @@ FIND_LIBRARY(FFTW3_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fftw3 DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Fftw3 DEFAULT_MSG
FFTW3_LIBRARY FFTW3_INCLUDE_DIR)
IF(FFTW3_FOUND)
SET(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
SET(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
ENDIF()
if(FFTW3_FOUND)
set(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
FFTW3_INCLUDE_DIR
FFTW3_LIBRARY
)

View File

@ -16,20 +16,20 @@
# GMP_LIBRARY, where to find the GMP library.
# If `GMP_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED GMP_ROOT_DIR)
if(DEFINED GMP_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{GMP_ROOT_DIR})
SET(GMP_ROOT_DIR $ENV{GMP_ROOT_DIR})
ELSE()
SET(GMP_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{GMP_ROOT_DIR})
set(GMP_ROOT_DIR $ENV{GMP_ROOT_DIR})
else()
set(GMP_ROOT_DIR "")
endif()
SET(_gmp_SEARCH_DIRS
set(_gmp_SEARCH_DIRS
${GMP_ROOT_DIR}
/opt/lib/gmp
)
FIND_PATH(GMP_INCLUDE_DIR
find_path(GMP_INCLUDE_DIR
NAMES
gmp.h
HINTS
@ -38,7 +38,7 @@ FIND_PATH(GMP_INCLUDE_DIR
include/gmp
)
FIND_PATH(GMPXX_INCLUDE_DIR
find_path(GMPXX_INCLUDE_DIR
NAMES
gmpxx.h
HINTS
@ -47,7 +47,7 @@ FIND_PATH(GMPXX_INCLUDE_DIR
include/gmp
)
FIND_LIBRARY(GMP_LIBRARY
find_library(GMP_LIBRARY
NAMES
gmp
HINTS
@ -56,7 +56,7 @@ FIND_LIBRARY(GMP_LIBRARY
lib64 lib
)
FIND_LIBRARY(GMPXX_LIBRARY
find_library(GMPXX_LIBRARY
NAMES
gmpxx
HINTS
@ -66,7 +66,7 @@ FIND_LIBRARY(GMPXX_LIBRARY
)
if(GMP_INCLUDE_DIR)
SET(_version_regex "^#define[ \t]+__GNU_MP_VERSION[ \t]+\"([^\"]+)\".*")
set(_version_regex "^#define[ \t]+__GNU_MP_VERSION[ \t]+\"([^\"]+)\".*")
file(STRINGS "${GMP_INCLUDE_DIR}/gmp.h"
GMP_VERSION REGEX "${_version_regex}")
string(REGEX REPLACE "${_version_regex}" "\\1"
@ -76,16 +76,16 @@ endif()
# handle the QUIETLY and REQUIRED arguments and set GMP_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMP DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GMP DEFAULT_MSG
GMP_LIBRARY GMPXX_LIBRARY GMP_INCLUDE_DIR GMPXX_INCLUDE_DIR)
IF(GMP_FOUND)
SET(GMP_LIBRARIES ${GMPXX_LIBRARY} ${GMP_LIBRARY})
SET(GMP_INCLUDE_DIRS ${GMP_INCLUDE_DIR} ${GMPXX_INCLUDE_DIR})
ENDIF()
if(GMP_FOUND)
set(GMP_LIBRARIES ${GMPXX_LIBRARY} ${GMP_LIBRARY})
set(GMP_INCLUDE_DIRS ${GMP_INCLUDE_DIR} ${GMPXX_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
GMP_INCLUDE_DIR
GMP_LIBRARY
GMPXX_INCLUDE_DIR

View File

@ -14,25 +14,25 @@
# ICU_LIBRARY_xxx, where to find the icu libraries.
# If `ICU_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED ICU_ROOT_DIR)
if(DEFINED ICU_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{ICU_ROOT_DIR})
SET(ICU_ROOT_DIR $ENV{ICU_ROOT_DIR})
ELSE()
SET(ICU_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{ICU_ROOT_DIR})
set(ICU_ROOT_DIR $ENV{ICU_ROOT_DIR})
else()
set(ICU_ROOT_DIR "")
endif()
if(Boost_USE_STATIC_LIBS)
set(_icu_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES .a)
endif()
SET(_icu_SEARCH_DIRS
set(_icu_SEARCH_DIRS
${ICU_ROOT_DIR}
)
# We don't need includes, only libs to link against...
# FIND_PATH(ICU_INCLUDE_DIR
# find_path(ICU_INCLUDE_DIR
# NAMES
# utf.h
# HINTS
@ -41,7 +41,7 @@ SET(_icu_SEARCH_DIRS
# include/unicode
# )
FIND_LIBRARY(ICU_LIBRARY_DATA
find_library(ICU_LIBRARY_DATA
NAMES
icudata
HINTS
@ -50,7 +50,7 @@ FIND_LIBRARY(ICU_LIBRARY_DATA
lib64 lib
)
FIND_LIBRARY(ICU_LIBRARY_I18N
find_library(ICU_LIBRARY_I18N
NAMES
icui18n
HINTS
@ -59,7 +59,7 @@ FIND_LIBRARY(ICU_LIBRARY_I18N
lib64 lib
)
FIND_LIBRARY(ICU_LIBRARY_IO
find_library(ICU_LIBRARY_IO
NAMES
icuio
HINTS
@ -68,7 +68,7 @@ FIND_LIBRARY(ICU_LIBRARY_IO
lib64 lib
)
FIND_LIBRARY(ICU_LIBRARY_LE
find_library(ICU_LIBRARY_LE
NAMES
icule
HINTS
@ -77,7 +77,7 @@ FIND_LIBRARY(ICU_LIBRARY_LE
lib64 lib
)
FIND_LIBRARY(ICU_LIBRARY_LX
find_library(ICU_LIBRARY_LX
NAMES
iculx
HINTS
@ -86,7 +86,7 @@ FIND_LIBRARY(ICU_LIBRARY_LX
lib64 lib
)
FIND_LIBRARY(ICU_LIBRARY_TU
find_library(ICU_LIBRARY_TU
NAMES
icutu
HINTS
@ -95,7 +95,7 @@ FIND_LIBRARY(ICU_LIBRARY_TU
lib64 lib
)
FIND_LIBRARY(ICU_LIBRARY_UC
find_library(ICU_LIBRARY_UC
NAMES
icuuc
HINTS
@ -111,8 +111,8 @@ endif()
# handle the QUIETLY and REQUIRED arguments and set ICU_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Icu DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Icu DEFAULT_MSG
ICU_LIBRARY_DATA
ICU_LIBRARY_I18N
ICU_LIBRARY_IO
@ -122,12 +122,12 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Icu DEFAULT_MSG
ICU_LIBRARY_UC
)
IF(ICU_FOUND)
SET(ICU_LIBRARIES ${ICU_LIBRARY_DATA} ${ICU_LIBRARY_I18N} ${ICU_LIBRARY_IO} ${ICU_LIBRARY_LE} ${ICU_LIBRARY_LX} ${ICU_LIBRARY_TU} ${ICU_LIBRARY_UC})
SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
ENDIF()
if(ICU_FOUND)
set(ICU_LIBRARIES ${ICU_LIBRARY_DATA} ${ICU_LIBRARY_I18N} ${ICU_LIBRARY_IO} ${ICU_LIBRARY_LE} ${ICU_LIBRARY_LX} ${ICU_LIBRARY_TU} ${ICU_LIBRARY_UC})
set(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
ICU_INCLUDE_DIR
ICU_LIBRARY_DATA
ICU_LIBRARY_I18N

View File

@ -16,19 +16,19 @@
# JACK_LIBRARY, where to find the JACK library.
# If `JACK_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED JACK_ROOT_DIR)
if(DEFINED JACK_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{JACK_ROOT_DIR})
SET(JACK_ROOT_DIR $ENV{JACK_ROOT_DIR})
ELSE()
SET(JACK_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{JACK_ROOT_DIR})
set(JACK_ROOT_DIR $ENV{JACK_ROOT_DIR})
else()
set(JACK_ROOT_DIR "")
endif()
SET(_jack_SEARCH_DIRS
set(_jack_SEARCH_DIRS
${JACK_ROOT_DIR}
)
FIND_PATH(JACK_INCLUDE_DIR
find_path(JACK_INCLUDE_DIR
NAMES
jack.h
HINTS
@ -37,7 +37,7 @@ FIND_PATH(JACK_INCLUDE_DIR
include/jack
)
FIND_LIBRARY(JACK_LIBRARY
find_library(JACK_LIBRARY
NAMES
jack
HINTS
@ -48,16 +48,16 @@ FIND_LIBRARY(JACK_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set JACK_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jack DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Jack DEFAULT_MSG
JACK_LIBRARY JACK_INCLUDE_DIR)
IF(JACK_FOUND)
SET(JACK_LIBRARIES ${JACK_LIBRARY})
SET(JACK_INCLUDE_DIRS ${JACK_INCLUDE_DIR})
ENDIF()
if(JACK_FOUND)
set(JACK_LIBRARIES ${JACK_LIBRARY})
set(JACK_INCLUDE_DIRS ${JACK_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
JACK_INCLUDE_DIR
JACK_LIBRARY
)

View File

@ -16,20 +16,20 @@
# JEMALLOC_LIBRARY, where to find the JeMalloc library.
# If `JEMALLOC_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED JEMALLOC_ROOT_DIR)
if(DEFINED JEMALLOC_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{JEMALLOC_ROOT_DIR})
SET(JEMALLOC_ROOT_DIR $ENV{JEMALLOC_ROOT_DIR})
ELSE()
SET(JEMALLOC_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{JEMALLOC_ROOT_DIR})
set(JEMALLOC_ROOT_DIR $ENV{JEMALLOC_ROOT_DIR})
else()
set(JEMALLOC_ROOT_DIR "")
endif()
SET(_jemalloc_SEARCH_DIRS
set(_jemalloc_SEARCH_DIRS
${JEMALLOC_ROOT_DIR}
/opt/lib/jemalloc
)
FIND_PATH(JEMALLOC_INCLUDE_DIR
find_path(JEMALLOC_INCLUDE_DIR
NAMES
jemalloc.h
HINTS
@ -38,7 +38,7 @@ FIND_PATH(JEMALLOC_INCLUDE_DIR
include/jemalloc
)
FIND_LIBRARY(JEMALLOC_LIBRARY
find_library(JEMALLOC_LIBRARY
NAMES
jemalloc
HINTS
@ -48,7 +48,7 @@ FIND_LIBRARY(JEMALLOC_LIBRARY
)
if(JEMALLOC_INCLUDE_DIR)
SET(_version_regex "^#define[ \t]+JEMALLOC_VERSION[ \t]+\"([^\"]+)\".*")
set(_version_regex "^#define[ \t]+JEMALLOC_VERSION[ \t]+\"([^\"]+)\".*")
file(STRINGS "${JEMALLOC_INCLUDE_DIR}/jemalloc.h"
JEMALLOC_VERSION REGEX "${_version_regex}")
string(REGEX REPLACE "${_version_regex}" "\\1"
@ -58,16 +58,16 @@ endif()
# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JeMalloc DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(JeMalloc DEFAULT_MSG
JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR)
IF(JEMALLOC_FOUND)
SET(JEMALLOC_LIBRARIES ${JEMALLOC_LIBRARY})
SET(JEMALLOC_INCLUDE_DIRS ${JEMALLOC_INCLUDE_DIR})
ENDIF()
if(JEMALLOC_FOUND)
set(JEMALLOC_LIBRARIES ${JEMALLOC_LIBRARY})
set(JEMALLOC_INCLUDE_DIRS ${JEMALLOC_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
JEMALLOC_INCLUDE_DIR
JEMALLOC_LIBRARY
)

View File

@ -83,10 +83,10 @@ endif()
# handle the QUIETLY and REQUIRED arguments and set LLVM_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LLVM DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LLVM DEFAULT_MSG
LLVM_LIBRARY)
MARK_AS_ADVANCED(
mark_as_advanced(
LLVM_LIBRARY
)

View File

@ -16,26 +16,26 @@
# LZO_LIBRARY, where to find the LZO library.
# If `LZO_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED LZO_ROOT_DIR)
if(DEFINED LZO_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{LZO_ROOT_DIR})
SET(LZO_ROOT_DIR $ENV{LZO_ROOT_DIR})
ELSE()
SET(LZO_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{LZO_ROOT_DIR})
set(LZO_ROOT_DIR $ENV{LZO_ROOT_DIR})
else()
set(LZO_ROOT_DIR "")
endif()
SET(_lzo_SEARCH_DIRS
set(_lzo_SEARCH_DIRS
${LZO_ROOT_DIR}
)
FIND_PATH(LZO_INCLUDE_DIR lzo/lzo1x.h
find_path(LZO_INCLUDE_DIR lzo/lzo1x.h
HINTS
${_lzo_SEARCH_DIRS}
PATH_SUFFIXES
include
)
FIND_LIBRARY(LZO_LIBRARY
find_library(LZO_LIBRARY
NAMES
lzo2
HINTS
@ -46,16 +46,16 @@ FIND_LIBRARY(LZO_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set LZO_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZO DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LZO DEFAULT_MSG
LZO_LIBRARY LZO_INCLUDE_DIR)
IF(LZO_FOUND)
SET(LZO_LIBRARIES ${LZO_LIBRARY})
SET(LZO_INCLUDE_DIRS ${LZO_INCLUDE_DIR})
ENDIF()
if(LZO_FOUND)
set(LZO_LIBRARIES ${LZO_LIBRARY})
set(LZO_INCLUDE_DIRS ${LZO_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
LZO_INCLUDE_DIR
LZO_LIBRARY
)

View File

@ -11,17 +11,22 @@
# This can also be an environment variable.
# LEVEL_ZERO_FOUND, If false, then don't try to use L0.
IF(NOT LEVEL_ZERO_ROOT_DIR AND NOT $ENV{LEVEL_ZERO_ROOT_DIR} STREQUAL "")
SET(LEVEL_ZERO_ROOT_DIR $ENV{LEVEL_ZERO_ROOT_DIR})
ENDIF()
# If `LEVEL_ZERO_ROOT_DIR` was defined in the environment, use it.
if(DEFINED LEVEL_ZERO_ROOT_DIR)
# Pass.
elseif(DEFINED ENV{LEVEL_ZERO_ROOT_DIR})
set(LEVEL_ZERO_ROOT_DIR $ENV{LEVEL_ZERO_ROOT_DIR})
else()
set(LEVEL_ZERO_ROOT_DIR "")
endif()
SET(_level_zero_search_dirs
set(_level_zero_search_dirs
${LEVEL_ZERO_ROOT_DIR}
/usr/lib
/usr/local/lib
)
FIND_LIBRARY(_LEVEL_ZERO_LIBRARY
find_library(_LEVEL_ZERO_LIBRARY
NAMES
ze_loader
HINTS
@ -30,7 +35,7 @@ FIND_LIBRARY(_LEVEL_ZERO_LIBRARY
lib64 lib
)
FIND_PATH(_LEVEL_ZERO_INCLUDE_DIR
find_path(_LEVEL_ZERO_INCLUDE_DIR
NAMES
level_zero/ze_api.h
HINTS
@ -39,19 +44,19 @@ FIND_PATH(_LEVEL_ZERO_INCLUDE_DIR
include
)
INCLUDE(FindPackageHandleStandardArgs)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LevelZero DEFAULT_MSG _LEVEL_ZERO_LIBRARY _LEVEL_ZERO_INCLUDE_DIR)
find_package_handle_standard_args(LevelZero DEFAULT_MSG _LEVEL_ZERO_LIBRARY _LEVEL_ZERO_INCLUDE_DIR)
IF(LevelZero_FOUND)
SET(LEVEL_ZERO_LIBRARY ${_LEVEL_ZERO_LIBRARY})
SET(LEVEL_ZERO_INCLUDE_DIR ${_LEVEL_ZERO_INCLUDE_DIR} ${_LEVEL_ZERO_INCLUDE_PARENT_DIR})
SET(LEVEL_ZERO_FOUND TRUE)
ELSE()
SET(LEVEL_ZERO_FOUND FALSE)
ENDIF()
if(LevelZero_FOUND)
set(LEVEL_ZERO_LIBRARY ${_LEVEL_ZERO_LIBRARY})
set(LEVEL_ZERO_INCLUDE_DIR ${_LEVEL_ZERO_INCLUDE_DIR})
set(LEVEL_ZERO_FOUND TRUE)
else()
set(LEVEL_ZERO_FOUND FALSE)
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
LEVEL_ZERO_LIBRARY
LEVEL_ZERO_INCLUDE_DIR
)

View File

@ -9,11 +9,11 @@
# This can also be an environment variable.
# LibEpoxy_FOUND, If false, do not try to use libepoxy.
IF(NOT EPOXY_ROOT_DIR AND NOT $ENV{EPOXY_ROOT_DIR} STREQUAL "")
SET(EPOXY_ROOT_DIR $ENV{EPOXY_ROOT_DIR})
ENDIF()
if(NOT EPOXY_ROOT_DIR AND NOT $ENV{EPOXY_ROOT_DIR} STREQUAL "")
set(EPOXY_ROOT_DIR $ENV{EPOXY_ROOT_DIR})
endif()
FIND_PATH(LibEpoxy_INCLUDE_DIR
find_path(LibEpoxy_INCLUDE_DIR
NAMES
epoxy/gl.h
HINTS
@ -22,7 +22,7 @@ FIND_PATH(LibEpoxy_INCLUDE_DIR
include
)
FIND_LIBRARY(LibEpoxy_LIBRARY
find_library(LibEpoxy_LIBRARY
NAMES
epoxy
HINTS
@ -33,16 +33,16 @@ FIND_LIBRARY(LibEpoxy_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set LibEpoxy_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibEpoxy DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibEpoxy DEFAULT_MSG
LibEpoxy_LIBRARY LibEpoxy_INCLUDE_DIR)
IF(LibEpoxy_FOUND)
SET(LibEpoxy_INCLUDE_DIRS ${LibEpoxy_INCLUDE_DIR})
SET(LibEpoxy_LIBRARIES ${LibEpoxy_LIBRARY})
ENDIF()
if(LibEpoxy_FOUND)
set(LibEpoxy_INCLUDE_DIRS ${LibEpoxy_INCLUDE_DIR})
set(LibEpoxy_LIBRARIES ${LibEpoxy_LIBRARY})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
LibEpoxy_INCLUDE_DIR
LibEpoxy_LIBRARY
)

View File

@ -14,25 +14,25 @@
#
# If `MOLTENVK_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED MOLTENVK_ROOT_DIR)
if(DEFINED MOLTENVK_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{MOLTENVK_ROOT_DIR})
SET(MOLTENVK_ROOT_DIR $ENV{MOLTENVK_ROOT_DIR})
ELSE()
SET(MOLTENVK_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{MOLTENVK_ROOT_DIR})
set(MOLTENVK_ROOT_DIR $ENV{MOLTENVK_ROOT_DIR})
else()
set(MOLTENVK_ROOT_DIR "")
endif()
SET(_moltenvk_SEARCH_DIRS
set(_moltenvk_SEARCH_DIRS
${MOLTENVK_ROOT_DIR}
)
# FIXME: These finder modules typically don't use LIBDIR,
# this should be set by `./build_files/cmake/platform/` instead.
IF(DEFINED LIBDIR)
SET(_moltenvk_SEARCH_DIRS ${_moltenvk_SEARCH_DIRS} ${LIBDIR}/moltenvk)
ENDIF()
if(DEFINED LIBDIR)
set(_moltenvk_SEARCH_DIRS ${_moltenvk_SEARCH_DIRS} ${LIBDIR}/moltenvk)
endif()
FIND_PATH(MOLTENVK_INCLUDE_DIR
find_path(MOLTENVK_INCLUDE_DIR
NAMES
MoltenVK/vk_mvk_moltenvk.h
HINTS
@ -41,7 +41,7 @@ FIND_PATH(MOLTENVK_INCLUDE_DIR
include
)
FIND_LIBRARY(MOLTENVK_LIBRARY
find_library(MOLTENVK_LIBRARY
NAMES
MoltenVK
HINTS
@ -52,17 +52,17 @@ FIND_LIBRARY(MOLTENVK_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set MOLTENVK_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MoltenVK DEFAULT_MSG MOLTENVK_LIBRARY MOLTENVK_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MoltenVK DEFAULT_MSG MOLTENVK_LIBRARY MOLTENVK_INCLUDE_DIR)
IF(MOLTENVK_FOUND)
SET(MOLTENVK_LIBRARIES ${MOLTENVK_LIBRARY})
SET(MOLTENVK_INCLUDE_DIRS ${MOLTENVK_INCLUDE_DIR})
ENDIF()
if(MOLTENVK_FOUND)
set(MOLTENVK_LIBRARIES ${MOLTENVK_LIBRARY})
set(MOLTENVK_INCLUDE_DIRS ${MOLTENVK_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
MOLTENVK_INCLUDE_DIR
MOLTENVK_LIBRARY
)
UNSET(_moltenvk_SEARCH_DIRS)
unset(_moltenvk_SEARCH_DIRS)

View File

@ -12,19 +12,19 @@
# NANOVDB_FOUND, If false, do not try to use NanoVDB.
# If `NANOVDB_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED NANOVDB_ROOT_DIR)
if(DEFINED NANOVDB_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{NANOVDB_ROOT_DIR})
SET(NANOVDB_ROOT_DIR $ENV{NANOVDB_ROOT_DIR})
ELSE()
SET(NANOVDB_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{NANOVDB_ROOT_DIR})
set(NANOVDB_ROOT_DIR $ENV{NANOVDB_ROOT_DIR})
else()
set(NANOVDB_ROOT_DIR "")
endif()
SET(_nanovdb_SEARCH_DIRS
set(_nanovdb_SEARCH_DIRS
${NANOVDB_ROOT_DIR}
)
FIND_PATH(NANOVDB_INCLUDE_DIR
find_path(NANOVDB_INCLUDE_DIR
NAMES
nanovdb/NanoVDB.h
HINTS
@ -35,16 +35,16 @@ FIND_PATH(NANOVDB_INCLUDE_DIR
# handle the QUIETLY and REQUIRED arguments and set NANOVDB_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(NanoVDB DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(NanoVDB DEFAULT_MSG
NANOVDB_INCLUDE_DIR)
IF(NANOVDB_FOUND)
SET(NANOVDB_INCLUDE_DIRS ${NANOVDB_INCLUDE_DIR})
ENDIF()
if(NANOVDB_FOUND)
set(NANOVDB_INCLUDE_DIRS ${NANOVDB_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
NANOVDB_INCLUDE_DIR
)
UNSET(_nanovdb_SEARCH_DIRS)
unset(_nanovdb_SEARCH_DIRS)

View File

@ -16,27 +16,34 @@
# and minor versions of OSL library if found.
# If `OSL_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OSL_ROOT_DIR)
if(DEFINED OSL_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OSL_ROOT_DIR})
SET(OSL_ROOT_DIR $ENV{OSL_ROOT_DIR})
ELSE()
SET(OSL_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OSL_ROOT_DIR})
set(OSL_ROOT_DIR $ENV{OSL_ROOT_DIR})
else()
set(OSL_ROOT_DIR "")
endif()
SET(_osl_FIND_COMPONENTS
# If `OSLHOME` was defined in the environment, use it.
if(DEFINED ENV{OSLHOME})
set(OSL_HOME_DIR $ENV{OSLHOME})
else()
set(OSL_HOME_DIR "")
endif()
set(_osl_FIND_COMPONENTS
oslnoise
oslcomp
oslexec
oslquery
)
SET(_osl_SEARCH_DIRS
set(_osl_SEARCH_DIRS
${OSL_ROOT_DIR}
/opt/lib/osl
)
FIND_PATH(OSL_INCLUDE_DIR
find_path(OSL_INCLUDE_DIR
NAMES
OSL/oslversion.h
HINTS
@ -45,10 +52,10 @@ FIND_PATH(OSL_INCLUDE_DIR
include
)
FOREACH(COMPONENT ${_osl_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
foreach(COMPONENT ${_osl_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OSL_${UPPERCOMPONENT}_LIBRARY
find_library(OSL_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -56,34 +63,34 @@ FOREACH(COMPONENT ${_osl_FIND_COMPONENTS})
PATH_SUFFIXES
lib64 lib
)
ENDFOREACH()
endforeach()
# Note linking order matters, and oslnoise existence depends on version.
SET(_osl_LIBRARIES ${OSL_OSLCOMP_LIBRARY})
IF(APPLE)
set(_osl_LIBRARIES ${OSL_OSLCOMP_LIBRARY})
if(APPLE)
list(APPEND _osl_LIBRARIES -force_load ${OSL_OSLEXEC_LIBRARY})
ELSE()
else()
list(APPEND _osl_LIBRARIES ${OSL_OSLEXEC_LIBRARY})
ENDIF()
endif()
list(APPEND _osl_LIBRARIES ${OSL_OSLQUERY_LIBRARY})
IF(OSL_OSLNOISE_LIBRARY)
if(OSL_OSLNOISE_LIBRARY)
list(APPEND _osl_LIBRARIES ${OSL_OSLNOISE_LIBRARY})
ENDIF()
endif()
FIND_PROGRAM(OSL_COMPILER oslc
find_program(OSL_COMPILER oslc
HINTS ${_osl_SEARCH_DIRS}
PATH_SUFFIXES bin)
get_filename_component(OSL_SHADER_HINT ${OSL_COMPILER} DIRECTORY)
get_filename_component(OSL_SHADER_HINT ${OSL_SHADER_DIR}/../ ABSOLUTE)
FIND_PATH(OSL_SHADER_DIR
find_path(OSL_SHADER_DIR
NAMES
stdosl.h
HINTS
${OSL_ROOT_DIR}
${OSL_SHADER_HINT}
$ENV{OSLHOME}
${OSL_HOME_DIR}
/usr/share/OSL/
/usr/include/OSL/
PATH_SUFFIXES
@ -93,32 +100,32 @@ FIND_PATH(OSL_SHADER_DIR
# handle the QUIETLY and REQUIRED arguments and set OSL_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OSL DEFAULT_MSG _osl_LIBRARIES OSL_INCLUDE_DIR OSL_COMPILER)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OSL DEFAULT_MSG _osl_LIBRARIES OSL_INCLUDE_DIR OSL_COMPILER)
IF(OSL_FOUND)
SET(OSL_LIBRARIES ${_osl_LIBRARIES})
SET(OSL_INCLUDE_DIRS ${OSL_INCLUDE_DIR})
if(OSL_FOUND)
set(OSL_LIBRARIES ${_osl_LIBRARIES})
set(OSL_INCLUDE_DIRS ${OSL_INCLUDE_DIR})
FILE(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_MAJOR
file(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_MAJOR
REGEX "^[ \t]*#define[ \t]+OSL_LIBRARY_VERSION_MAJOR[ \t]+[0-9]+.*$")
FILE(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_MINOR
file(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_MINOR
REGEX "^[ \t]*#define[ \t]+OSL_LIBRARY_VERSION_MINOR[ \t]+[0-9]+.*$")
FILE(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_PATCH
file(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_PATCH
REGEX "^[ \t]*#define[ \t]+OSL_LIBRARY_VERSION_PATCH[ \t]+[0-9]+.*$")
STRING(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_MAJOR[ \t]+([.0-9]+).*"
string(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_MAJOR[ \t]+([.0-9]+).*"
"\\1" OSL_LIBRARY_VERSION_MAJOR ${OSL_LIBRARY_VERSION_MAJOR})
STRING(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_MINOR[ \t]+([.0-9]+).*"
string(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_MINOR[ \t]+([.0-9]+).*"
"\\1" OSL_LIBRARY_VERSION_MINOR ${OSL_LIBRARY_VERSION_MINOR})
STRING(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_PATCH[ \t]+([.0-9]+).*"
string(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_PATCH[ \t]+([.0-9]+).*"
"\\1" OSL_LIBRARY_VERSION_PATCH ${OSL_LIBRARY_VERSION_PATCH})
ENDIF()
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OSL_INCLUDE_DIR
OSL_SHADER_DIR
)
FOREACH(COMPONENT ${_osl_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
MARK_AS_ADVANCED(OSL_${UPPERCOMPONENT}_LIBRARY)
ENDFOREACH()
foreach(COMPONENT ${_osl_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
mark_as_advanced(OSL_${UPPERCOMPONENT}_LIBRARY)
endforeach()

View File

@ -21,15 +21,15 @@
# /opt/opencollada/COLLADABaseUtils/include/COLLADABUPlatform.h
# If `OPENCOLLADA_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENCOLLADA_ROOT_DIR)
if(DEFINED OPENCOLLADA_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPENCOLLADA_ROOT_DIR})
SET(OPENCOLLADA_ROOT_DIR $ENV{OPENCOLLADA_ROOT_DIR})
ELSE()
SET(OPENCOLLADA_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPENCOLLADA_ROOT_DIR})
set(OPENCOLLADA_ROOT_DIR $ENV{OPENCOLLADA_ROOT_DIR})
else()
set(OPENCOLLADA_ROOT_DIR "")
endif()
SET(_opencollada_FIND_INCLUDES
set(_opencollada_FIND_INCLUDES
COLLADAStreamWriter
COLLADABaseUtils
COLLADAFramework
@ -37,7 +37,7 @@ SET(_opencollada_FIND_INCLUDES
GeneratedSaxParser
)
SET(_opencollada_FIND_COMPONENTS
set(_opencollada_FIND_COMPONENTS
OpenCOLLADAStreamWriter
OpenCOLLADASaxFrameworkLoader
OpenCOLLADAFramework
@ -48,23 +48,23 @@ SET(_opencollada_FIND_COMPONENTS
# Fedora openCOLLADA package links these statically
# note that order is important here or it won't link
SET(_opencollada_FIND_STATIC_COMPONENTS
set(_opencollada_FIND_STATIC_COMPONENTS
buffer
ftoa
UTF
)
SET(_opencollada_SEARCH_DIRS
set(_opencollada_SEARCH_DIRS
${OPENCOLLADA_ROOT_DIR}
/opt/lib/opencollada
)
SET(_opencollada_INCLUDES)
FOREACH(COMPONENT ${_opencollada_FIND_INCLUDES})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
set(_opencollada_INCLUDES)
foreach(COMPONENT ${_opencollada_FIND_INCLUDES})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
# need to use this even thouh we are looking for a dir
FIND_FILE(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR
find_file(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR
NAMES
${COMPONENT}/include
${COMPONENT}
@ -77,16 +77,16 @@ FOREACH(COMPONENT ${_opencollada_FIND_INCLUDES})
HINTS
${_opencollada_SEARCH_DIRS}
)
MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR)
LIST(APPEND _opencollada_INCLUDES "${OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR}")
ENDFOREACH()
mark_as_advanced(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR)
list(APPEND _opencollada_INCLUDES "${OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR}")
endforeach()
SET(_opencollada_LIBRARIES)
FOREACH(COMPONENT ${_opencollada_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
set(_opencollada_LIBRARIES)
foreach(COMPONENT ${_opencollada_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY
find_library(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -96,14 +96,14 @@ FOREACH(COMPONENT ${_opencollada_FIND_COMPONENTS})
# Ubuntu ppa needs this.
lib64/opencollada lib/opencollada
)
MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
ENDFOREACH()
mark_as_advanced(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
list(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
endforeach()
FOREACH(COMPONENT ${_opencollada_FIND_STATIC_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
foreach(COMPONENT ${_opencollada_FIND_STATIC_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY
find_library(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -113,26 +113,26 @@ FOREACH(COMPONENT ${_opencollada_FIND_STATIC_COMPONENTS})
# Ubuntu ppa needs this.
lib64/opencollada lib/opencollada
)
MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
IF(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
ENDIF()
ENDFOREACH()
mark_as_advanced(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
if(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
list(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
endif()
endforeach()
# handle the QUIETLY and REQUIRED arguments and set OPENCOLLADA_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCOLLADA DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenCOLLADA DEFAULT_MSG
_opencollada_LIBRARIES _opencollada_INCLUDES)
IF(OPENCOLLADA_FOUND)
SET(OPENCOLLADA_LIBRARIES ${_opencollada_LIBRARIES})
SET(OPENCOLLADA_INCLUDE_DIRS ${_opencollada_INCLUDES})
ENDIF()
if(OPENCOLLADA_FOUND)
set(OPENCOLLADA_LIBRARIES ${_opencollada_LIBRARIES})
set(OPENCOLLADA_INCLUDE_DIRS ${_opencollada_INCLUDES})
endif()
UNSET(COMPONENT)
UNSET(UPPERCOMPONENT)
UNSET(_opencollada_LIBRARIES)
UNSET(_opencollada_INCLUDES)
unset(COMPONENT)
unset(UPPERCOMPONENT)
unset(_opencollada_LIBRARIES)
unset(_opencollada_INCLUDES)

View File

@ -16,15 +16,15 @@
# OPENCOLORIO_LIBRARY, where to find the OpenColorIO library.
# If `OPENCOLORIO_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENCOLORIO_ROOT_DIR)
if(DEFINED OPENCOLORIO_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPENCOLORIO_ROOT_DIR})
SET(OPENCOLORIO_ROOT_DIR $ENV{OPENCOLORIO_ROOT_DIR})
ELSE()
SET(OPENCOLORIO_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPENCOLORIO_ROOT_DIR})
set(OPENCOLORIO_ROOT_DIR $ENV{OPENCOLORIO_ROOT_DIR})
else()
set(OPENCOLORIO_ROOT_DIR "")
endif()
SET(_opencolorio_FIND_COMPONENTS
set(_opencolorio_FIND_COMPONENTS
OpenColorIO
yaml-cpp
expat
@ -32,12 +32,12 @@ SET(_opencolorio_FIND_COMPONENTS
minizip
)
SET(_opencolorio_SEARCH_DIRS
set(_opencolorio_SEARCH_DIRS
${OPENCOLORIO_ROOT_DIR}
/opt/lib/ocio
)
FIND_PATH(OPENCOLORIO_INCLUDE_DIR
find_path(OPENCOLORIO_INCLUDE_DIR
NAMES
OpenColorIO/OpenColorIO.h
HINTS
@ -46,11 +46,11 @@ FIND_PATH(OPENCOLORIO_INCLUDE_DIR
include
)
SET(_opencolorio_LIBRARIES)
FOREACH(COMPONENT ${_opencolorio_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
set(_opencolorio_LIBRARIES)
foreach(COMPONENT ${_opencolorio_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY
find_library(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -58,47 +58,47 @@ FOREACH(COMPONENT ${_opencolorio_FIND_COMPONENTS})
PATH_SUFFIXES
lib64 lib lib64/static lib/static
)
IF(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY)
LIST(APPEND _opencolorio_LIBRARIES "${OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY}")
ENDIF()
ENDFOREACH()
if(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY)
list(APPEND _opencolorio_LIBRARIES "${OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY}")
endif()
endforeach()
IF(EXISTS "${OPENCOLORIO_INCLUDE_DIR}/OpenColorIO/OpenColorABI.h")
if(EXISTS "${OPENCOLORIO_INCLUDE_DIR}/OpenColorIO/OpenColorABI.h")
# Search twice, because this symbol changed between OCIO 1.x and 2.x
FILE(STRINGS "${OPENCOLORIO_INCLUDE_DIR}/OpenColorIO/OpenColorABI.h" _opencolorio_version
file(STRINGS "${OPENCOLORIO_INCLUDE_DIR}/OpenColorIO/OpenColorABI.h" _opencolorio_version
REGEX "^#define OCIO_VERSION_STR[ \t].*$")
IF(NOT _opencolorio_version)
if(NOT _opencolorio_version)
file(STRINGS "${OPENCOLORIO_INCLUDE_DIR}/OpenColorIO/OpenColorABI.h" _opencolorio_version
REGEX "^#define OCIO_VERSION[ \t].*$")
ENDIF()
STRING(REGEX MATCHALL "[0-9]+[.0-9]+" OPENCOLORIO_VERSION ${_opencolorio_version})
ENDIF()
endif()
string(REGEX MATCHALL "[0-9]+[.0-9]+" OPENCOLORIO_VERSION ${_opencolorio_version})
endif()
# handle the QUIETLY and REQUIRED arguments and set OPENCOLORIO_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenColorIO
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenColorIO
REQUIRED_VARS _opencolorio_LIBRARIES OPENCOLORIO_INCLUDE_DIR
VERSION_VAR OPENCOLORIO_VERSION)
IF(OPENCOLORIO_FOUND)
SET(OPENCOLORIO_LIBRARIES ${_opencolorio_LIBRARIES})
SET(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO_INCLUDE_DIR})
ENDIF()
if(OPENCOLORIO_FOUND)
set(OPENCOLORIO_LIBRARIES ${_opencolorio_LIBRARIES})
set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPENCOLORIO_INCLUDE_DIR
OPENCOLORIO_LIBRARY
OPENCOLORIO_VERSION
)
FOREACH(COMPONENT ${_opencolorio_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
MARK_AS_ADVANCED(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY)
ENDFOREACH()
foreach(COMPONENT ${_opencolorio_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
mark_as_advanced(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY)
endforeach()
UNSET(COMPONENT)
UNSET(UPPERCOMPONENT)
UNSET(_opencolorio_FIND_COMPONENTS)
UNSET(_opencolorio_LIBRARIES)
UNSET(_opencolorio_SEARCH_DIRS)
unset(COMPONENT)
unset(UPPERCOMPONENT)
unset(_opencolorio_FIND_COMPONENTS)
unset(_opencolorio_LIBRARIES)
unset(_opencolorio_SEARCH_DIRS)

View File

@ -23,24 +23,24 @@
# OPENEXR_LIBRARY, where to find the OpenEXR library.
# If `OPENEXR_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENEXR_ROOT_DIR)
if(DEFINED OPENEXR_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPENEXR_ROOT_DIR})
SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
ELSE()
SET(OPENEXR_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPENEXR_ROOT_DIR})
set(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
else()
set(OPENEXR_ROOT_DIR "")
endif()
# Old versions (before 2.0?) do not have any version string,
# just assuming this should be fine though.
SET(_openexr_libs_ver_init "2.0")
set(_openexr_libs_ver_init "2.0")
SET(_openexr_SEARCH_DIRS
set(_openexr_SEARCH_DIRS
${OPENEXR_ROOT_DIR}
/opt/lib/openexr
)
FIND_PATH(OPENEXR_INCLUDE_DIR
find_path(OPENEXR_INCLUDE_DIR
NAMES
OpenEXR/ImfXdr.h
HINTS
@ -50,10 +50,10 @@ FIND_PATH(OPENEXR_INCLUDE_DIR
)
# If the headers were found, get the version from config file, if not already set.
IF(OPENEXR_INCLUDE_DIR)
IF(NOT OPENEXR_VERSION)
if(OPENEXR_INCLUDE_DIR)
if(NOT OPENEXR_VERSION)
FIND_FILE(_openexr_CONFIG
find_file(_openexr_CONFIG
NAMES
OpenEXRConfig.h
PATHS
@ -62,54 +62,54 @@ IF(OPENEXR_INCLUDE_DIR)
NO_DEFAULT_PATH
)
IF(_openexr_CONFIG)
FILE(STRINGS "${_openexr_CONFIG}" OPENEXR_BUILD_SPECIFICATION
if(_openexr_CONFIG)
file(STRINGS "${_openexr_CONFIG}" OPENEXR_BUILD_SPECIFICATION
REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
ELSE()
MESSAGE(WARNING "Could not find \"OpenEXRConfig.h\" in \"${OPENEXR_INCLUDE_DIR}\"")
ENDIF()
else()
message(WARNING "Could not find \"OpenEXRConfig.h\" in \"${OPENEXR_INCLUDE_DIR}\"")
endif()
IF(OPENEXR_BUILD_SPECIFICATION)
MESSAGE(STATUS "${OPENEXR_BUILD_SPECIFICATION}")
STRING(REGEX REPLACE ".*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
if(OPENEXR_BUILD_SPECIFICATION)
message(STATUS "${OPENEXR_BUILD_SPECIFICATION}")
string(REGEX REPLACE ".*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
"\\1" _openexr_libs_ver_init ${OPENEXR_BUILD_SPECIFICATION})
ELSE()
MESSAGE(WARNING "Could not determine ILMBase library version, assuming ${_openexr_libs_ver_init}.")
ENDIF()
else()
message(WARNING "Could not determine ILMBase library version, assuming ${_openexr_libs_ver_init}.")
endif()
UNSET(_openexr_CONFIG CACHE)
unset(_openexr_CONFIG CACHE)
ENDIF()
ENDIF()
endif()
endif()
SET("OPENEXR_VERSION" ${_openexr_libs_ver_init} CACHE STRING "Version of OpenEXR lib")
UNSET(_openexr_libs_ver_init)
set("OPENEXR_VERSION" ${_openexr_libs_ver_init} CACHE STRING "Version of OpenEXR lib")
unset(_openexr_libs_ver_init)
STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION})
string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION})
# Different library names in 3.0, and Imath and Half moved out.
IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
SET(_openexr_FIND_COMPONENTS
if(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
set(_openexr_FIND_COMPONENTS
Iex
OpenEXR
OpenEXRCore
IlmThread
)
ELSE()
SET(_openexr_FIND_COMPONENTS
else()
set(_openexr_FIND_COMPONENTS
Half
Iex
IlmImf
IlmThread
Imath
)
ENDIF()
endif()
SET(_openexr_LIBRARIES)
FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
set(_openexr_LIBRARIES)
foreach(COMPONENT ${_openexr_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY
find_library(OPENEXR_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}-${_openexr_libs_ver} ${COMPONENT}
NAMES_PER_DIR
@ -118,18 +118,18 @@ FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
PATH_SUFFIXES
lib64 lib
)
LIST(APPEND _openexr_LIBRARIES "${OPENEXR_${UPPERCOMPONENT}_LIBRARY}")
ENDFOREACH()
list(APPEND _openexr_LIBRARIES "${OPENEXR_${UPPERCOMPONENT}_LIBRARY}")
endforeach()
UNSET(_openexr_libs_ver)
unset(_openexr_libs_ver)
IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
if(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
# For OpenEXR 3.x, we also need to find the now separate Imath library.
# For simplicity we also add it to the OpenEXR includes and libraries,
# as it's simpler to support both 2.x and 3.x this way.
# Find include directory
FIND_PATH(IMATH_INCLUDE_DIR
find_path(IMATH_INCLUDE_DIR
NAMES
Imath/ImathMath.h
HINTS
@ -139,7 +139,7 @@ IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
)
# Find version
FIND_FILE(_imath_config
find_file(_imath_config
NAMES
ImathConfig.h
PATHS
@ -148,14 +148,14 @@ IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
)
# Find line with version, extract string, and format for library suffix.
FILE(STRINGS "${_imath_config}" _imath_build_specification
file(STRINGS "${_imath_config}" _imath_build_specification
REGEX "^[ \t]*#define[ \t]+IMATH_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
STRING(REGEX REPLACE ".*#define[ \t]+IMATH_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
string(REGEX REPLACE ".*#define[ \t]+IMATH_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
"\\1" _imath_libs_ver ${_imath_build_specification})
STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _imath_libs_ver ${_imath_libs_ver})
string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _imath_libs_ver ${_imath_libs_ver})
# Find library, with or without version number.
FIND_LIBRARY(IMATH_LIBRARY
find_library(IMATH_LIBRARY
NAMES
Imath-${_imath_libs_ver} Imath
NAMES_PER_DIR
@ -164,57 +164,57 @@ IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
PATH_SUFFIXES
lib64 lib
)
LIST(APPEND _openexr_LIBRARIES "${IMATH_LIBRARY}")
list(APPEND _openexr_LIBRARIES "${IMATH_LIBRARY}")
# In cmake version 3.21 and up, we can instead use the NO_CACHE option for
# FIND_FILE so we don't need to clear it from the cache here.
UNSET(_imath_config CACHE)
UNSET(_imath_libs_ver)
UNSET(_imath_build_specification)
ENDIF()
unset(_imath_config CACHE)
unset(_imath_libs_ver)
unset(_imath_build_specification)
endif()
IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
SET(IMATH_LIBRARIES ${IMATH_LIBRARY})
ELSE()
SET(IMATH_LIBRARIES ${OPENEXR_IMATH_LIBRARY})
ENDIF()
if(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
set(IMATH_LIBRARIES ${IMATH_LIBRARY})
else()
set(IMATH_LIBRARIES ${OPENEXR_IMATH_LIBRARY})
endif()
# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenEXR DEFAULT_MSG
_openexr_LIBRARIES OPENEXR_INCLUDE_DIR)
IF(OPENEXR_FOUND)
SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
if(OPENEXR_FOUND)
set(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
# Both include paths are needed because of dummy OSL headers mixing
# #include <OpenEXR/foo.h> and #include <foo.h>, as well as Alembic
# include <half.h> directly.
SET(OPENEXR_INCLUDE_DIRS
set(OPENEXR_INCLUDE_DIRS
${OPENEXR_INCLUDE_DIR}
${OPENEXR_INCLUDE_DIR}/OpenEXR)
IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
LIST(APPEND OPENEXR_INCLUDE_DIRS
if(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
list(APPEND OPENEXR_INCLUDE_DIRS
${IMATH_INCLUDE_DIR}
${IMATH_INCLUDE_DIR}/Imath)
ENDIF()
ENDIF()
endif()
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPENEXR_INCLUDE_DIR
OPENEXR_VERSION
IMATH_INCLUDE_DIR
IMATH_LIBRARY
IMATH_LIBRARIES
)
FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
MARK_AS_ADVANCED(OPENEXR_${UPPERCOMPONENT}_LIBRARY)
ENDFOREACH()
foreach(COMPONENT ${_openexr_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
mark_as_advanced(OPENEXR_${UPPERCOMPONENT}_LIBRARY)
endforeach()
UNSET(COMPONENT)
UNSET(UPPERCOMPONENT)
UNSET(_openexr_FIND_COMPONENTS)
UNSET(_openexr_LIBRARIES)
UNSET(_openexr_SEARCH_DIRS)
unset(COMPONENT)
unset(UPPERCOMPONENT)
unset(_openexr_FIND_COMPONENTS)
unset(_openexr_LIBRARIES)
unset(_openexr_SEARCH_DIRS)

View File

@ -16,20 +16,20 @@
# OPENIMAGEDENOISE_LIBRARY, where to find the OpenImageDenoise library.
# If `OPENIMAGEDENOISE_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENIMAGEDENOISE_ROOT_DIR)
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()
elseif(DEFINED ENV{OPENIMAGEDENOISE_ROOT_DIR})
set(OPENIMAGEDENOISE_ROOT_DIR $ENV{OPENIMAGEDENOISE_ROOT_DIR})
else()
set(OPENIMAGEDENOISE_ROOT_DIR "")
endif()
SET(_openimagedenoise_SEARCH_DIRS
set(_openimagedenoise_SEARCH_DIRS
${OPENIMAGEDENOISE_ROOT_DIR}
/opt/lib/openimagedenoise
)
FIND_PATH(OPENIMAGEDENOISE_INCLUDE_DIR
find_path(OPENIMAGEDENOISE_INCLUDE_DIR
NAMES
OpenImageDenoise/oidn.h
HINTS
@ -38,12 +38,12 @@ FIND_PATH(OPENIMAGEDENOISE_INCLUDE_DIR
include
)
SET(_openimagedenoise_FIND_COMPONENTS
set(_openimagedenoise_FIND_COMPONENTS
OpenImageDenoise
)
# These are needed when building statically
SET(_openimagedenoise_FIND_STATIC_COMPONENTS
set(_openimagedenoise_FIND_STATIC_COMPONENTS
common
# These additional library names change between versions, we list all of them
@ -55,11 +55,11 @@ SET(_openimagedenoise_FIND_STATIC_COMPONENTS
dnnl
)
SET(_openimagedenoise_LIBRARIES)
FOREACH(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
set(_openimagedenoise_LIBRARIES)
foreach(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY
find_library(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -67,13 +67,13 @@ FOREACH(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
PATH_SUFFIXES
lib64 lib
)
LIST(APPEND _openimagedenoise_LIBRARIES "${OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY}")
ENDFOREACH()
list(APPEND _openimagedenoise_LIBRARIES "${OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY}")
endforeach()
FOREACH(COMPONENT ${_openimagedenoise_FIND_STATIC_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
foreach(COMPONENT ${_openimagedenoise_FIND_STATIC_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY
find_library(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -81,13 +81,13 @@ FOREACH(COMPONENT ${_openimagedenoise_FIND_STATIC_COMPONENTS})
PATH_SUFFIXES
lib64 lib
)
MARK_AS_ADVANCED(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
IF(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
LIST(APPEND _openimagedenoise_LIBRARIES "${OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY}")
ENDIF()
ENDFOREACH()
mark_as_advanced(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
if(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
list(APPEND _openimagedenoise_LIBRARIES "${OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY}")
endif()
endforeach()
FIND_LIBRARY(OPENIMAGEDENOISE_LIBRARY
find_library(OPENIMAGEDENOISE_LIBRARY
NAMES
OpenImageDenoise
HINTS
@ -98,27 +98,27 @@ FIND_LIBRARY(OPENIMAGEDENOISE_LIBRARY
# 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
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()
if(OPENIMAGEDENOISE_FOUND)
set(OPENIMAGEDENOISE_LIBRARIES ${_openimagedenoise_LIBRARIES})
set(OPENIMAGEDENOISE_INCLUDE_DIRS ${OPENIMAGEDENOISE_INCLUDE_DIR})
else()
set(OPENIMAGEDENOISE_FOUND FALSE)
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPENIMAGEDENOISE_INCLUDE_DIR
OPENIMAGEDENOISE_LIBRARY
)
FOREACH(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
MARK_AS_ADVANCED(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
ENDFOREACH()
foreach(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
mark_as_advanced(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
endforeach()
UNSET(_openimagedenoise_SEARCH_DIRS)
UNSET(_openimagedenoise_FIND_COMPONENTS)
UNSET(_openimagedenoise_LIBRARIES)
unset(_openimagedenoise_SEARCH_DIRS)
unset(_openimagedenoise_FIND_COMPONENTS)
unset(_openimagedenoise_LIBRARIES)

View File

@ -18,20 +18,20 @@
# OPENIMAGEIO_LIBRARY, where to find the OpenImageIO library.
# If `OPENIMAGEIO_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENIMAGEIO_ROOT_DIR)
if(DEFINED OPENIMAGEIO_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPENIMAGEIO_ROOT_DIR})
SET(OPENIMAGEIO_ROOT_DIR $ENV{OPENIMAGEIO_ROOT_DIR})
ELSE()
SET(OPENIMAGEIO_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPENIMAGEIO_ROOT_DIR})
set(OPENIMAGEIO_ROOT_DIR $ENV{OPENIMAGEIO_ROOT_DIR})
else()
set(OPENIMAGEIO_ROOT_DIR "")
endif()
SET(_openimageio_SEARCH_DIRS
set(_openimageio_SEARCH_DIRS
${OPENIMAGEIO_ROOT_DIR}
/opt/lib/oiio
)
FIND_PATH(OPENIMAGEIO_INCLUDE_DIR
find_path(OPENIMAGEIO_INCLUDE_DIR
NAMES
OpenImageIO/imageio.h
HINTS
@ -40,7 +40,7 @@ FIND_PATH(OPENIMAGEIO_INCLUDE_DIR
include
)
FIND_LIBRARY(OPENIMAGEIO_LIBRARY
find_library(OPENIMAGEIO_LIBRARY
NAMES
OpenImageIO
HINTS
@ -51,7 +51,7 @@ FIND_LIBRARY(OPENIMAGEIO_LIBRARY
set(_openimageio_LIBRARIES ${OPENIMAGEIO_LIBRARY})
FIND_FILE(OPENIMAGEIO_IDIFF
find_file(OPENIMAGEIO_IDIFF
NAMES
idiff
HINTS
@ -63,7 +63,7 @@ FIND_FILE(OPENIMAGEIO_IDIFF
# Additionally find util library if needed. In old versions this library was
# included in libOpenImageIO and linking to both would duplicate symbols. In
# new versions we need to link to both.
FIND_FILE(_openimageio_export
find_file(_openimageio_export
NAMES
export.h
PATHS
@ -72,11 +72,11 @@ FIND_FILE(_openimageio_export
)
# Use existence of OIIO_UTIL_API to check if it's a separate lib.
FILE(STRINGS "${_openimageio_export}" _openimageio_util_define
file(STRINGS "${_openimageio_export}" _openimageio_util_define
REGEX "^[ \t]*#[ \t]*define[ \t]+OIIO_UTIL_API.*$")
IF(_openimageio_util_define)
FIND_LIBRARY(OPENIMAGEIO_UTIL_LIBRARY
if(_openimageio_util_define)
find_library(OPENIMAGEIO_UTIL_LIBRARY
NAMES
OpenImageIO_Util
HINTS
@ -85,38 +85,38 @@ IF(_openimageio_util_define)
lib64 lib
)
LIST(APPEND _openimageio_LIBRARIES ${OPENIMAGEIO_UTIL_LIBRARY})
ENDIF()
list(APPEND _openimageio_LIBRARIES ${OPENIMAGEIO_UTIL_LIBRARY})
endif()
# In cmake version 3.21 and up, we can instead use the NO_CACHE option for
# FIND_FILE so we don't need to clear it from the cache here.
UNSET(_openimageio_export CACHE)
UNSET(_openimageio_util_define)
unset(_openimageio_export CACHE)
unset(_openimageio_util_define)
# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenImageIO DEFAULT_MSG
_openimageio_LIBRARIES OPENIMAGEIO_INCLUDE_DIR)
IF(OPENIMAGEIO_FOUND)
SET(OPENIMAGEIO_LIBRARIES ${_openimageio_LIBRARIES})
SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp)
SET(OPENIMAGEIO_PUGIXML_FOUND TRUE)
ELSE()
SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
ENDIF()
ELSE()
SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
ENDIF()
if(OPENIMAGEIO_FOUND)
set(OPENIMAGEIO_LIBRARIES ${_openimageio_LIBRARIES})
set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
if(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp)
set(OPENIMAGEIO_PUGIXML_FOUND TRUE)
else()
set(OPENIMAGEIO_PUGIXML_FOUND FALSE)
endif()
else()
set(OPENIMAGEIO_PUGIXML_FOUND FALSE)
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPENIMAGEIO_INCLUDE_DIR
OPENIMAGEIO_LIBRARY
OPENIMAGEIO_UTIL_LIBRARY
OPENIMAGEIO_IDIFF
)
UNSET(_openimageio_SEARCH_DIRS)
UNSET(_openimageio_LIBRARIES)
unset(_openimageio_SEARCH_DIRS)
unset(_openimageio_LIBRARIES)

View File

@ -16,19 +16,19 @@
# OPENJPEG_LIBRARY, where to find the OpenJPEG library.
# If `OPENJPEG_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENJPEG_ROOT_DIR)
if(DEFINED OPENJPEG_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPENJPEG_ROOT_DIR})
SET(OPENJPEG_ROOT_DIR $ENV{OPENJPEG_ROOT_DIR})
ELSE()
SET(OPENJPEG_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPENJPEG_ROOT_DIR})
set(OPENJPEG_ROOT_DIR $ENV{OPENJPEG_ROOT_DIR})
else()
set(OPENJPEG_ROOT_DIR "")
endif()
SET(_openjpeg_SEARCH_DIRS
set(_openjpeg_SEARCH_DIRS
${OPENJPEG_ROOT_DIR}
)
FIND_PATH(OPENJPEG_INCLUDE_DIR
find_path(OPENJPEG_INCLUDE_DIR
NAMES
openjpeg.h
HINTS
@ -48,7 +48,7 @@ FIND_PATH(OPENJPEG_INCLUDE_DIR
openjpeg-2.0
)
FIND_LIBRARY(OPENJPEG_LIBRARY
find_library(OPENJPEG_LIBRARY
NAMES
openjp2
HINTS
@ -59,18 +59,18 @@ FIND_LIBRARY(OPENJPEG_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set OPENJPEG_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenJPEG DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenJPEG DEFAULT_MSG
OPENJPEG_LIBRARY OPENJPEG_INCLUDE_DIR)
IF(OPENJPEG_FOUND)
SET(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY})
SET(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR})
ENDIF()
if(OPENJPEG_FOUND)
set(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY})
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPENJPEG_INCLUDE_DIR
OPENJPEG_LIBRARY
)
UNSET(_openjpeg_SEARCH_DIRS)
unset(_openjpeg_SEARCH_DIRS)

View File

@ -13,26 +13,26 @@
# OPENSUBDIV_FOUND, if false, do not try to use OpenSubdiv.
# If `OPENSUBDIV_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENSUBDIV_ROOT_DIR)
if(DEFINED OPENSUBDIV_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPENSUBDIV_ROOT_DIR})
SET(OPENSUBDIV_ROOT_DIR $ENV{OPENSUBDIV_ROOT_DIR})
ELSE()
SET(OPENSUBDIV_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPENSUBDIV_ROOT_DIR})
set(OPENSUBDIV_ROOT_DIR $ENV{OPENSUBDIV_ROOT_DIR})
else()
set(OPENSUBDIV_ROOT_DIR "")
endif()
SET(_opensubdiv_FIND_COMPONENTS
set(_opensubdiv_FIND_COMPONENTS
osdGPU
osdCPU
)
SET(_opensubdiv_SEARCH_DIRS
set(_opensubdiv_SEARCH_DIRS
${OPENSUBDIV_ROOT_DIR}
/opt/lib/opensubdiv
/opt/lib/osd # install_deps.sh
)
FIND_PATH(OPENSUBDIV_INCLUDE_DIR
find_path(OPENSUBDIV_INCLUDE_DIR
NAMES
opensubdiv/osd/mesh.h
HINTS
@ -41,11 +41,11 @@ FIND_PATH(OPENSUBDIV_INCLUDE_DIR
include
)
SET(_opensubdiv_LIBRARIES)
FOREACH(COMPONENT ${_opensubdiv_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
set(_opensubdiv_LIBRARIES)
foreach(COMPONENT ${_opensubdiv_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(OPENSUBDIV_${UPPERCOMPONENT}_LIBRARY
find_library(OPENSUBDIV_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
HINTS
@ -53,35 +53,35 @@ FOREACH(COMPONENT ${_opensubdiv_FIND_COMPONENTS})
PATH_SUFFIXES
lib64 lib
)
LIST(APPEND _opensubdiv_LIBRARIES "${OPENSUBDIV_${UPPERCOMPONENT}_LIBRARY}")
ENDFOREACH()
list(APPEND _opensubdiv_LIBRARIES "${OPENSUBDIV_${UPPERCOMPONENT}_LIBRARY}")
endforeach()
MACRO(OPENSUBDIV_CHECK_CONTROLLER
macro(OPENSUBDIV_CHECK_CONTROLLER
controller_include_file
variable_name)
IF(EXISTS "${OPENSUBDIV_INCLUDE_DIR}/opensubdiv/osd/${controller_include_file}")
SET(${variable_name} TRUE)
ELSE()
SET(${variable_name} FALSE)
ENDIF()
ENDMACRO()
if(EXISTS "${OPENSUBDIV_INCLUDE_DIR}/opensubdiv/osd/${controller_include_file}")
set(${variable_name} TRUE)
else()
set(${variable_name} FALSE)
endif()
endmacro()
# handle the QUIETLY and REQUIRED arguments and set OPENSUBDIV_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenSubdiv DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenSubdiv DEFAULT_MSG
_opensubdiv_LIBRARIES OPENSUBDIV_INCLUDE_DIR)
IF(OPENSUBDIV_FOUND)
SET(OPENSUBDIV_LIBRARIES ${_opensubdiv_LIBRARIES})
SET(OPENSUBDIV_INCLUDE_DIRS ${OPENSUBDIV_INCLUDE_DIR})
ENDIF()
if(OPENSUBDIV_FOUND)
set(OPENSUBDIV_LIBRARIES ${_opensubdiv_LIBRARIES})
set(OPENSUBDIV_INCLUDE_DIRS ${OPENSUBDIV_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPENSUBDIV_INCLUDE_DIR
)
FOREACH(COMPONENT ${_opensubdiv_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
MARK_AS_ADVANCED(OPENSUBDIV_${UPPERCOMPONENT}_LIBRARY)
ENDFOREACH()
foreach(COMPONENT ${_opensubdiv_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
mark_as_advanced(OPENSUBDIV_${UPPERCOMPONENT}_LIBRARY)
endforeach()

View File

@ -16,20 +16,20 @@
# OPENVDB_LIBRARY, where to find the OPENVDB library.
# If `OPENVDB_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPENVDB_ROOT_DIR)
if(DEFINED OPENVDB_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPENVDB_ROOT_DIR})
SET(OPENVDB_ROOT_DIR $ENV{OPENVDB_ROOT_DIR})
ELSE()
SET(OPENVDB_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPENVDB_ROOT_DIR})
set(OPENVDB_ROOT_DIR $ENV{OPENVDB_ROOT_DIR})
else()
set(OPENVDB_ROOT_DIR "")
endif()
SET(_openvdb_SEARCH_DIRS
set(_openvdb_SEARCH_DIRS
${OPENVDB_ROOT_DIR}
/opt/lib/openvdb
)
FIND_PATH(OPENVDB_INCLUDE_DIR
find_path(OPENVDB_INCLUDE_DIR
NAMES
openvdb/openvdb.h
HINTS
@ -38,7 +38,7 @@ FIND_PATH(OPENVDB_INCLUDE_DIR
include
)
FIND_LIBRARY(OPENVDB_LIBRARY
find_library(OPENVDB_LIBRARY
NAMES
openvdb
HINTS
@ -49,18 +49,18 @@ FIND_LIBRARY(OPENVDB_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set OPENVDB_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenVDB DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenVDB DEFAULT_MSG
OPENVDB_LIBRARY OPENVDB_INCLUDE_DIR)
IF(OPENVDB_FOUND)
SET(OPENVDB_LIBRARIES ${OPENVDB_LIBRARY})
SET(OPENVDB_INCLUDE_DIRS ${OPENVDB_INCLUDE_DIR})
ENDIF()
if(OPENVDB_FOUND)
set(OPENVDB_LIBRARIES ${OPENVDB_LIBRARY})
set(OPENVDB_INCLUDE_DIRS ${OPENVDB_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPENVDB_INCLUDE_DIR
OPENVDB_LIBRARY
)
UNSET(_openvdb_SEARCH_DIRS)
unset(_openvdb_SEARCH_DIRS)

View File

@ -12,15 +12,15 @@
# OPTIX_FOUND, If false, do not try to use OptiX.
# If `OPTIX_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED OPTIX_ROOT_DIR)
if(DEFINED OPTIX_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{OPTIX_ROOT_DIR})
SET(OPTIX_ROOT_DIR $ENV{OPTIX_ROOT_DIR})
ELSE()
SET(OPTIX_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{OPTIX_ROOT_DIR})
set(OPTIX_ROOT_DIR $ENV{OPTIX_ROOT_DIR})
else()
set(OPTIX_ROOT_DIR "")
endif()
SET(_optix_SEARCH_DIRS
set(_optix_SEARCH_DIRS
${OPTIX_ROOT_DIR}
)
@ -29,7 +29,7 @@ if(DEFINED ENV{PROGRAMDATA})
list(APPEND _optix_SEARCH_DIRS "$ENV{PROGRAMDATA}/NVIDIA Corporation/OptiX SDK 7.3.0")
endif()
FIND_PATH(OPTIX_INCLUDE_DIR
find_path(OPTIX_INCLUDE_DIR
NAMES
optix.h
HINTS
@ -38,31 +38,31 @@ FIND_PATH(OPTIX_INCLUDE_DIR
include
)
IF(EXISTS "${OPTIX_INCLUDE_DIR}/optix.h")
FILE(STRINGS "${OPTIX_INCLUDE_DIR}/optix.h" _optix_version REGEX "^#define OPTIX_VERSION[ \t].*$")
STRING(REGEX MATCHALL "[0-9]+" _optix_version ${_optix_version})
if(EXISTS "${OPTIX_INCLUDE_DIR}/optix.h")
file(STRINGS "${OPTIX_INCLUDE_DIR}/optix.h" _optix_version REGEX "^#define OPTIX_VERSION[ \t].*$")
string(REGEX MATCHALL "[0-9]+" _optix_version ${_optix_version})
MATH(EXPR _optix_version_major "${_optix_version} / 10000")
MATH(EXPR _optix_version_minor "(${_optix_version} % 10000) / 100")
MATH(EXPR _optix_version_patch "${_optix_version} % 100")
math(EXPR _optix_version_major "${_optix_version} / 10000")
math(EXPR _optix_version_minor "(${_optix_version} % 10000) / 100")
math(EXPR _optix_version_patch "${_optix_version} % 100")
SET(OPTIX_VERSION "${_optix_version_major}.${_optix_version_minor}.${_optix_version_patch}")
ENDIF()
set(OPTIX_VERSION "${_optix_version_major}.${_optix_version_minor}.${_optix_version_patch}")
endif()
# handle the QUIETLY and REQUIRED arguments and set OPTIX_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OptiX
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OptiX
REQUIRED_VARS OPTIX_INCLUDE_DIR
VERSION_VAR OPTIX_VERSION)
IF(OPTIX_FOUND)
SET(OPTIX_INCLUDE_DIRS ${OPTIX_INCLUDE_DIR})
ENDIF()
if(OPTIX_FOUND)
set(OPTIX_INCLUDE_DIRS ${OPTIX_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
OPTIX_INCLUDE_DIR
OPTIX_VERSION
)
UNSET(_optix_SEARCH_DIRS)
unset(_optix_SEARCH_DIRS)

View File

@ -16,26 +16,26 @@
# PCRE_LIBRARY, where to find the PCRE library.
# If `PCRE_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED PCRE_ROOT_DIR)
if(DEFINED PCRE_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{PCRE_ROOT_DIR})
SET(PCRE_ROOT_DIR $ENV{PCRE_ROOT_DIR})
ELSE()
SET(PCRE_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{PCRE_ROOT_DIR})
set(PCRE_ROOT_DIR $ENV{PCRE_ROOT_DIR})
else()
set(PCRE_ROOT_DIR "")
endif()
SET(_pcre_SEARCH_DIRS
set(_pcre_SEARCH_DIRS
${PCRE_ROOT_DIR}
)
FIND_PATH(PCRE_INCLUDE_DIR pcre.h
find_path(PCRE_INCLUDE_DIR pcre.h
HINTS
${_pcre_SEARCH_DIRS}
PATH_SUFFIXES
include
)
FIND_LIBRARY(PCRE_LIBRARY
find_library(PCRE_LIBRARY
NAMES
pcre
HINTS
@ -46,21 +46,21 @@ FIND_LIBRARY(PCRE_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PCRE DEFAULT_MSG
PCRE_LIBRARY PCRE_INCLUDE_DIR)
# With 'make deps' precompiled libs, opencollada ships with a copy of libpcre
# but not the headers, ${PCRE_LIBRARY} will be valid in this case
# but PCRE_FOUND will be FALSE. So we set this variable outside of
# the IF(PCRE_FOUND) below to allow blender to successfully link.
SET(PCRE_LIBRARIES ${PCRE_LIBRARY})
# the `if(PCRE_FOUND)` below to allow blender to successfully link.
set(PCRE_LIBRARIES ${PCRE_LIBRARY})
IF(PCRE_FOUND)
SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR})
ENDIF()
if(PCRE_FOUND)
set(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
PCRE_INCLUDE_DIR
PCRE_LIBRARY
)

View File

@ -16,22 +16,22 @@
# POTRACE_LIBRARY, where to find the POTRACE library.
# If `POTRACE_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED POTRACE_ROOT_DIR)
if(DEFINED POTRACE_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{POTRACE_ROOT_DIR})
SET(POTRACE_ROOT_DIR $ENV{POTRACE_ROOT_DIR})
ELSE()
SET(POTRACE_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{POTRACE_ROOT_DIR})
set(POTRACE_ROOT_DIR $ENV{POTRACE_ROOT_DIR})
else()
set(POTRACE_ROOT_DIR "")
endif()
SET(_potrace_SEARCH_DIRS
set(_potrace_SEARCH_DIRS
${POTRACE_ROOT_DIR}
/opt/lib/potrace
/usr/include
/usr/local/include
)
FIND_PATH(POTRACE_INCLUDE_DIR
find_path(POTRACE_INCLUDE_DIR
NAMES
potracelib.h
HINTS
@ -40,7 +40,7 @@ FIND_PATH(POTRACE_INCLUDE_DIR
include
)
FIND_LIBRARY(POTRACE_LIBRARY
find_library(POTRACE_LIBRARY
NAMES
potrace
HINTS
@ -51,16 +51,16 @@ FIND_LIBRARY(POTRACE_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set POTRACE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Potrace DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Potrace DEFAULT_MSG
POTRACE_LIBRARY POTRACE_INCLUDE_DIR)
IF(POTRACE_FOUND)
SET(POTRACE_LIBRARIES ${POTRACE_LIBRARY})
SET(POTRACE_INCLUDE_DIRS ${POTRACE_INCLUDE_DIR})
ENDIF()
if(POTRACE_FOUND)
set(POTRACE_LIBRARIES ${POTRACE_LIBRARY})
set(POTRACE_INCLUDE_DIRS ${POTRACE_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
POTRACE_INCLUDE_DIR
POTRACE_LIBRARY
)

View File

@ -16,20 +16,20 @@
# PUGIXML_LIBRARY, where to find the PugiXML library.
# If `PUGIXML_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED PUGIXML_ROOT_DIR)
if(DEFINED PUGIXML_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{PUGIXML_ROOT_DIR})
SET(PUGIXML_ROOT_DIR $ENV{PUGIXML_ROOT_DIR})
ELSE()
SET(PUGIXML_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{PUGIXML_ROOT_DIR})
set(PUGIXML_ROOT_DIR $ENV{PUGIXML_ROOT_DIR})
else()
set(PUGIXML_ROOT_DIR "")
endif()
SET(_pugixml_SEARCH_DIRS
set(_pugixml_SEARCH_DIRS
${PUGIXML_ROOT_DIR}
/opt/lib/oiio
)
FIND_PATH(PUGIXML_INCLUDE_DIR
find_path(PUGIXML_INCLUDE_DIR
NAMES
pugixml.hpp
HINTS
@ -38,7 +38,7 @@ FIND_PATH(PUGIXML_INCLUDE_DIR
include
)
FIND_LIBRARY(PUGIXML_LIBRARY
find_library(PUGIXML_LIBRARY
NAMES
pugixml
HINTS
@ -49,18 +49,18 @@ FIND_LIBRARY(PUGIXML_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set PUGIXML_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PugiXML DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PugiXML DEFAULT_MSG
PUGIXML_LIBRARY PUGIXML_INCLUDE_DIR)
IF(PUGIXML_FOUND)
SET(PUGIXML_LIBRARIES ${PUGIXML_LIBRARY})
SET(PUGIXML_INCLUDE_DIRS ${PUGIXML_INCLUDE_DIR})
ELSE()
SET(PUGIXML_PUGIXML_FOUND FALSE)
ENDIF()
if(PUGIXML_FOUND)
set(PUGIXML_LIBRARIES ${PUGIXML_LIBRARY})
set(PUGIXML_INCLUDE_DIRS ${PUGIXML_INCLUDE_DIR})
else()
set(PUGIXML_PUGIXML_FOUND FALSE)
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
PUGIXML_INCLUDE_DIR
PUGIXML_LIBRARY
)

View File

@ -16,26 +16,26 @@
# LIBPULSE_LIBRARY, where to find the PulseAudio library.
# If `LIBPULSE_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED LIBPULSE_ROOT_DIR)
if(DEFINED LIBPULSE_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{LIBPULSE_ROOT_DIR})
SET(LIBPULSE_ROOT_DIR $ENV{LIBPULSE_ROOT_DIR})
ELSE()
SET(LIBPULSE_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{LIBPULSE_ROOT_DIR})
set(LIBPULSE_ROOT_DIR $ENV{LIBPULSE_ROOT_DIR})
else()
set(LIBPULSE_ROOT_DIR "")
endif()
SET(_pulse_SEARCH_DIRS
set(_pulse_SEARCH_DIRS
${LIBPULSE_ROOT_DIR}
)
FIND_PATH(LIBPULSE_INCLUDE_DIR pulse/pulseaudio.h
find_path(LIBPULSE_INCLUDE_DIR pulse/pulseaudio.h
HINTS
${_pulse_SEARCH_DIRS}
PATH_SUFFIXES
include
)
FIND_LIBRARY(LIBPULSE_LIBRARY
find_library(LIBPULSE_LIBRARY
NAMES
pulse
HINTS
@ -46,16 +46,16 @@ FIND_LIBRARY(LIBPULSE_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set PULSE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Pulse DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Pulse DEFAULT_MSG
LIBPULSE_LIBRARY LIBPULSE_INCLUDE_DIR)
IF(PULSE_FOUND)
SET(LIBPULSE_LIBRARIES ${LIBPULSE_LIBRARY})
SET(LIBPULSE_INCLUDE_DIRS ${LIBPULSE_INCLUDE_DIR})
ENDIF()
if(PULSE_FOUND)
set(LIBPULSE_LIBRARIES ${LIBPULSE_LIBRARY})
set(LIBPULSE_INCLUDE_DIRS ${LIBPULSE_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
LIBPULSE_INCLUDE_DIR
LIBPULSE_LIBRARY
)

View File

@ -28,17 +28,17 @@
# PYTHON_LIBRARY, where to find the python library.
# If `PYTHON_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED PYTHON_ROOT_DIR)
if(DEFINED PYTHON_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{PYTHON_ROOT_DIR})
SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR})
ELSE()
SET(PYTHON_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{PYTHON_ROOT_DIR})
set(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR})
else()
set(PYTHON_ROOT_DIR "")
endif()
SET(_PYTHON_VERSION_SUPPORTED 3.10)
SET(PYTHON_VERSION ${_PYTHON_VERSION_SUPPORTED} CACHE STRING "Python Version (major and minor only)")
MARK_AS_ADVANCED(PYTHON_VERSION)
set(_PYTHON_VERSION_SUPPORTED 3.10)
set(PYTHON_VERSION ${_PYTHON_VERSION_SUPPORTED} CACHE STRING "Python Version (major and minor only)")
mark_as_advanced(PYTHON_VERSION)
if(APPLE)
@ -49,53 +49,53 @@ if(APPLE)
endif()
else()
# See: http://docs.python.org/extending/embedding.html#linking-requirements
SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic" CACHE STRING "Linker flags for python")
MARK_AS_ADVANCED(PYTHON_LINKFLAGS)
set(PYTHON_LINKFLAGS "-Xlinker -export-dynamic" CACHE STRING "Linker flags for python")
mark_as_advanced(PYTHON_LINKFLAGS)
endif()
# if the user passes these defines as args, we don't want to overwrite
SET(_IS_INC_DEF OFF)
SET(_IS_INC_CONF_DEF OFF)
SET(_IS_LIB_DEF OFF)
SET(_IS_LIB_PATH_DEF OFF)
IF(DEFINED PYTHON_INCLUDE_DIR)
SET(_IS_INC_DEF ON)
ENDIF()
IF(DEFINED PYTHON_INCLUDE_CONFIG_DIR)
SET(_IS_INC_CONF_DEF ON)
ENDIF()
IF(DEFINED PYTHON_LIBRARY)
SET(_IS_LIB_DEF ON)
ENDIF()
IF(DEFINED PYTHON_LIBPATH)
SET(_IS_LIB_PATH_DEF ON)
ENDIF()
set(_IS_INC_DEF OFF)
set(_IS_INC_CONF_DEF OFF)
set(_IS_LIB_DEF OFF)
set(_IS_LIB_PATH_DEF OFF)
if(DEFINED PYTHON_INCLUDE_DIR)
set(_IS_INC_DEF ON)
endif()
if(DEFINED PYTHON_INCLUDE_CONFIG_DIR)
set(_IS_INC_CONF_DEF ON)
endif()
if(DEFINED PYTHON_LIBRARY)
set(_IS_LIB_DEF ON)
endif()
if(DEFINED PYTHON_LIBPATH)
set(_IS_LIB_PATH_DEF ON)
endif()
STRING(REPLACE "." "" PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
string(REPLACE "." "" PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
SET(_PYTHON_ABI_FLAGS "")
set(_PYTHON_ABI_FLAGS "")
SET(_python_SEARCH_DIRS
set(_python_SEARCH_DIRS
${PYTHON_ROOT_DIR}
"$ENV{HOME}/py${PYTHON_VERSION_NO_DOTS}"
"/opt/lib/python-${PYTHON_VERSION}"
)
# only search for the dirs if we haven't already
IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_LIB_PATH_DEF))
SET(_PYTHON_ABI_FLAGS_TEST
if((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_LIB_PATH_DEF))
set(_PYTHON_ABI_FLAGS_TEST
"u; " # release
"du;d" # debug
)
FOREACH(_CURRENT_ABI_FLAGS ${_PYTHON_ABI_FLAGS_TEST})
# IF(CMAKE_BUILD_TYPE STREQUAL Debug)
# SET(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
# ENDIF()
STRING(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
foreach(_CURRENT_ABI_FLAGS ${_PYTHON_ABI_FLAGS_TEST})
# if(CMAKE_BUILD_TYPE STREQUAL Debug)
# set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
# endif()
string(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
IF(NOT DEFINED PYTHON_INCLUDE_DIR)
FIND_PATH(PYTHON_INCLUDE_DIR
if(NOT DEFINED PYTHON_INCLUDE_DIR)
find_path(PYTHON_INCLUDE_DIR
NAMES
Python.h
HINTS
@ -104,10 +104,10 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
include/${CMAKE_LIBRARY_ARCHITECTURE}/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
)
ENDIF()
endif()
IF(NOT DEFINED PYTHON_INCLUDE_CONFIG_DIR)
FIND_PATH(PYTHON_INCLUDE_CONFIG_DIR
if(NOT DEFINED PYTHON_INCLUDE_CONFIG_DIR)
find_path(PYTHON_INCLUDE_CONFIG_DIR
NAMES
pyconfig.h
HINTS
@ -116,15 +116,15 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
include/${CMAKE_LIBRARY_ARCHITECTURE}/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
)
IF((NOT PYTHON_INCLUDE_CONFIG_DIR) AND PYTHON_INCLUDE_DIR)
if((NOT PYTHON_INCLUDE_CONFIG_DIR) AND PYTHON_INCLUDE_DIR)
# Fallback...
UNSET(PYTHON_INCLUDE_CONFIG_DIR CACHE)
SET(PYTHON_INCLUDE_CONFIG_DIR ${PYTHON_INCLUDE_DIR} CACHE PATH "")
ENDIF()
ENDIF()
unset(PYTHON_INCLUDE_CONFIG_DIR CACHE)
set(PYTHON_INCLUDE_CONFIG_DIR ${PYTHON_INCLUDE_DIR} CACHE PATH "")
endif()
endif()
IF(NOT DEFINED PYTHON_LIBRARY)
FIND_LIBRARY(PYTHON_LIBRARY
if(NOT DEFINED PYTHON_LIBRARY)
find_library(PYTHON_LIBRARY
NAMES
"python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}"
HINTS
@ -132,10 +132,10 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
PATH_SUFFIXES
lib64 lib
)
ENDIF()
endif()
IF(NOT DEFINED PYTHON_LIBPATH)
FIND_PATH(PYTHON_LIBPATH
if(NOT DEFINED PYTHON_LIBPATH)
find_path(PYTHON_LIBPATH
NAMES
"python${PYTHON_VERSION}/abc.py" # This is a bit hackish! :/
HINTS
@ -143,48 +143,48 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
PATH_SUFFIXES
lib64 lib
)
IF((NOT PYTHON_LIBPATH) AND PYTHON_LIBRARY)
if((NOT PYTHON_LIBPATH) AND PYTHON_LIBRARY)
# Fallback...
UNSET(PYTHON_LIBPATH CACHE)
GET_FILENAME_COMPONENT(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
ENDIF()
ENDIF()
unset(PYTHON_LIBPATH CACHE)
get_filename_component(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
endif()
endif()
IF(PYTHON_LIBRARY AND PYTHON_LIBPATH AND PYTHON_INCLUDE_DIR AND PYTHON_INCLUDE_CONFIG_DIR)
SET(_PYTHON_ABI_FLAGS "${_CURRENT_ABI_FLAGS}")
if(PYTHON_LIBRARY AND PYTHON_LIBPATH AND PYTHON_INCLUDE_DIR AND PYTHON_INCLUDE_CONFIG_DIR)
set(_PYTHON_ABI_FLAGS "${_CURRENT_ABI_FLAGS}")
break()
ELSE()
else()
# ensure we don't find values from 2 different ABI versions
IF(NOT _IS_INC_DEF)
UNSET(PYTHON_INCLUDE_DIR CACHE)
ENDIF()
IF(NOT _IS_INC_CONF_DEF)
UNSET(PYTHON_INCLUDE_CONFIG_DIR CACHE)
ENDIF()
IF(NOT _IS_LIB_DEF)
UNSET(PYTHON_LIBRARY CACHE)
ENDIF()
IF(NOT _IS_LIB_PATH_DEF)
UNSET(PYTHON_LIBPATH CACHE)
ENDIF()
ENDIF()
ENDFOREACH()
if(NOT _IS_INC_DEF)
unset(PYTHON_INCLUDE_DIR CACHE)
endif()
if(NOT _IS_INC_CONF_DEF)
unset(PYTHON_INCLUDE_CONFIG_DIR CACHE)
endif()
if(NOT _IS_LIB_DEF)
unset(PYTHON_LIBRARY CACHE)
endif()
if(NOT _IS_LIB_PATH_DEF)
unset(PYTHON_LIBPATH CACHE)
endif()
endif()
endforeach()
UNSET(_CURRENT_ABI_FLAGS)
UNSET(_CURRENT_PATH)
unset(_CURRENT_ABI_FLAGS)
unset(_CURRENT_PATH)
UNSET(_PYTHON_ABI_FLAGS_TEST)
ENDIF()
unset(_PYTHON_ABI_FLAGS_TEST)
endif()
UNSET(_IS_INC_DEF)
UNSET(_IS_INC_CONF_DEF)
UNSET(_IS_LIB_DEF)
UNSET(_IS_LIB_PATH_DEF)
unset(_IS_INC_DEF)
unset(_IS_INC_CONF_DEF)
unset(_IS_LIB_DEF)
unset(_IS_LIB_PATH_DEF)
# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibsUnix
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PythonLibsUnix
# NOTE(@ideasman42): Instead of `DEFAULT_MSG` use a custom message because users
# may have newer versions Python and not be using pre-compiled libraries
# (on other UNIX systems or using an esoteric architecture).
@ -203,14 +203,14 @@ If you wish to use a newer Python version you may set 'PYTHON_VERSION' \
however we do not guarantee full compatibility in this case."
PYTHON_LIBRARY PYTHON_LIBPATH PYTHON_INCLUDE_DIR PYTHON_INCLUDE_CONFIG_DIR)
IF(PYTHONLIBSUNIX_FOUND)
if(PYTHONLIBSUNIX_FOUND)
# Assign cache items
SET(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR} ${PYTHON_INCLUDE_CONFIG_DIR})
IF(NOT WITH_PYTHON_MODULE)
SET(PYTHON_LIBRARIES ${PYTHON_LIBRARY})
ENDIF()
set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR} ${PYTHON_INCLUDE_CONFIG_DIR})
if(NOT WITH_PYTHON_MODULE)
set(PYTHON_LIBRARIES ${PYTHON_LIBRARY})
endif()
FIND_FILE(PYTHON_SITE_PACKAGES
find_file(PYTHON_SITE_PACKAGES
NAMES
# debian specific
dist-packages
@ -221,10 +221,10 @@ IF(PYTHONLIBSUNIX_FOUND)
# we need this for installation
# XXX No more valid with debian-like py3.5 packages...
# GET_FILENAME_COMPONENT(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
# get_filename_component(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
# not required for build, just used when bundling Python.
FIND_PROGRAM(
find_program(
PYTHON_EXECUTABLE
NAMES
"python${PYTHON_VERSION}${_PYTHON_ABI_FLAGS}"
@ -234,13 +234,13 @@ IF(PYTHONLIBSUNIX_FOUND)
${_python_SEARCH_DIRS}
PATH_SUFFIXES bin
)
ENDIF()
endif()
UNSET(_PYTHON_ABI_FLAGS)
UNSET(_PYTHON_VERSION_SUPPORTED)
UNSET(_python_SEARCH_DIRS)
unset(_PYTHON_ABI_FLAGS)
unset(_PYTHON_VERSION_SUPPORTED)
unset(_python_SEARCH_DIRS)
MARK_AS_ADVANCED(
mark_as_advanced(
PYTHON_INCLUDE_DIR
PYTHON_INCLUDE_CONFIG_DIR
PYTHON_LIBRARY

View File

@ -15,19 +15,19 @@
# SDL2_LIBRARY, where to find the SDL library.
# If `SDL2_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED SDL2_ROOT_DIR)
if(DEFINED SDL2_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{SDL2_ROOT_DIR})
SET(SDL2_ROOT_DIR $ENV{SDL2_ROOT_DIR})
ELSE()
SET(SDL2_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{SDL2_ROOT_DIR})
set(SDL2_ROOT_DIR $ENV{SDL2_ROOT_DIR})
else()
set(SDL2_ROOT_DIR "")
endif()
SET(_sdl2_SEARCH_DIRS
set(_sdl2_SEARCH_DIRS
${SDL2_ROOT_DIR}
)
FIND_PATH(SDL2_INCLUDE_DIR
find_path(SDL2_INCLUDE_DIR
NAMES
SDL.h
HINTS
@ -36,7 +36,7 @@ FIND_PATH(SDL2_INCLUDE_DIR
include/SDL2 include SDL2
)
FIND_LIBRARY(SDL2_LIBRARY
find_library(SDL2_LIBRARY
NAMES
SDL2
HINTS
@ -47,16 +47,16 @@ FIND_LIBRARY(SDL2_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set SDL2_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SDL2 DEFAULT_MSG
SDL2_LIBRARY SDL2_INCLUDE_DIR)
IF(SDL2_FOUND)
SET(SDL2_LIBRARIES ${SDL2_LIBRARY})
SET(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
ENDIF()
if(SDL2_FOUND)
set(SDL2_LIBRARIES ${SDL2_LIBRARY})
set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
SDL2_INCLUDE_DIR
SDL2_LIBRARY
)

View File

@ -12,11 +12,11 @@
# This can also be an environment variable.
# SYCL_FOUND, If false, then don't try to use SYCL.
IF(NOT SYCL_ROOT_DIR AND NOT $ENV{SYCL_ROOT_DIR} STREQUAL "")
SET(SYCL_ROOT_DIR $ENV{SYCL_ROOT_DIR})
ENDIF()
if(NOT SYCL_ROOT_DIR AND NOT $ENV{SYCL_ROOT_DIR} STREQUAL "")
set(SYCL_ROOT_DIR $ENV{SYCL_ROOT_DIR})
endif()
SET(_sycl_search_dirs
set(_sycl_search_dirs
${SYCL_ROOT_DIR}
/usr/lib
/usr/local/lib
@ -29,7 +29,7 @@ SET(_sycl_search_dirs
# CLang start with looking for either dpcpp or clang binary in the given
# list of search paths only. If that fails, try to look for a system-wide
# dpcpp binary.
FIND_PROGRAM(SYCL_COMPILER
find_program(SYCL_COMPILER
NAMES
icpx
dpcpp
@ -45,7 +45,7 @@ FIND_PROGRAM(SYCL_COMPILER
# NOTE: No clang++ here so that we do not pick up a system-wide CLang
# compiler.
if(NOT SYCL_COMPILER)
FIND_PROGRAM(SYCL_COMPILER
find_program(SYCL_COMPILER
NAMES
icpx
dpcpp
@ -56,7 +56,7 @@ if(NOT SYCL_COMPILER)
)
endif()
FIND_LIBRARY(SYCL_LIBRARY
find_library(SYCL_LIBRARY
NAMES
sycl7
sycl6
@ -68,7 +68,7 @@ FIND_LIBRARY(SYCL_LIBRARY
)
if(WIN32)
FIND_LIBRARY(SYCL_LIBRARY_DEBUG
find_library(SYCL_LIBRARY_DEBUG
NAMES
sycl7d
sycl6d
@ -80,7 +80,7 @@ if(WIN32)
)
endif()
FIND_PATH(SYCL_INCLUDE_DIR
find_path(SYCL_INCLUDE_DIR
NAMES
sycl/sycl.hpp
HINTS
@ -89,36 +89,36 @@ FIND_PATH(SYCL_INCLUDE_DIR
include
)
IF(EXISTS "${SYCL_INCLUDE_DIR}/sycl/version.hpp")
FILE(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_major_version REGEX "^#define __LIBSYCL_MAJOR_VERSION[ \t].*$")
STRING(REGEX MATCHALL "[0-9]+" _libsycl_major_version ${_libsycl_major_version})
FILE(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_minor_version REGEX "^#define __LIBSYCL_MINOR_VERSION[ \t].*$")
STRING(REGEX MATCHALL "[0-9]+" _libsycl_minor_version ${_libsycl_minor_version})
FILE(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_patch_version REGEX "^#define __LIBSYCL_PATCH_VERSION[ \t].*$")
STRING(REGEX MATCHALL "[0-9]+" _libsycl_patch_version ${_libsycl_patch_version})
if(EXISTS "${SYCL_INCLUDE_DIR}/sycl/version.hpp")
file(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_major_version REGEX "^#define __LIBSYCL_MAJOR_VERSION[ \t].*$")
string(REGEX MATCHALL "[0-9]+" _libsycl_major_version ${_libsycl_major_version})
file(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_minor_version REGEX "^#define __LIBSYCL_MINOR_VERSION[ \t].*$")
string(REGEX MATCHALL "[0-9]+" _libsycl_minor_version ${_libsycl_minor_version})
file(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_patch_version REGEX "^#define __LIBSYCL_PATCH_VERSION[ \t].*$")
string(REGEX MATCHALL "[0-9]+" _libsycl_patch_version ${_libsycl_patch_version})
SET(SYCL_VERSION "${_libsycl_major_version}.${_libsycl_minor_version}.${_libsycl_patch_version}")
ENDIF()
set(SYCL_VERSION "${_libsycl_major_version}.${_libsycl_minor_version}.${_libsycl_patch_version}")
endif()
INCLUDE(FindPackageHandleStandardArgs)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SYCL
find_package_handle_standard_args(SYCL
REQUIRED_VARS SYCL_LIBRARY SYCL_INCLUDE_DIR
VERSION_VAR SYCL_VERSION
)
IF(SYCL_FOUND)
SET(SYCL_INCLUDE_DIR ${SYCL_INCLUDE_DIR} ${SYCL_INCLUDE_DIR}/sycl)
IF(WIN32 AND SYCL_LIBRARY_DEBUG)
SET(SYCL_LIBRARIES optimized ${SYCL_LIBRARY} debug ${SYCL_LIBRARY_DEBUG})
ELSE()
SET(SYCL_LIBRARIES ${SYCL_LIBRARY})
ENDIF()
ELSE()
SET(SYCL_SYCL_FOUND FALSE)
ENDIF()
if(SYCL_FOUND)
set(SYCL_INCLUDE_DIR ${SYCL_INCLUDE_DIR} ${SYCL_INCLUDE_DIR}/sycl)
if(WIN32 AND SYCL_LIBRARY_DEBUG)
set(SYCL_LIBRARIES optimized ${SYCL_LIBRARY} debug ${SYCL_LIBRARY_DEBUG})
else()
set(SYCL_LIBRARIES ${SYCL_LIBRARY})
endif()
else()
set(SYCL_SYCL_FOUND FALSE)
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
SYCL_COMPILER
SYCL_INCLUDE_DIR
SYCL_LIBRARY

View File

@ -14,25 +14,25 @@
#
# If `SHADERC_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED SHADERC_ROOT_DIR)
if(DEFINED SHADERC_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{SHADERC_ROOT_DIR})
SET(SHADERC_ROOT_DIR $ENV{SHADERC_ROOT_DIR})
ELSE()
SET(SHADERC_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{SHADERC_ROOT_DIR})
set(SHADERC_ROOT_DIR $ENV{SHADERC_ROOT_DIR})
else()
set(SHADERC_ROOT_DIR "")
endif()
SET(_shaderc_SEARCH_DIRS
set(_shaderc_SEARCH_DIRS
${SHADERC_ROOT_DIR}
)
# FIXME: These finder modules typically don't use LIBDIR,
# this should be set by `./build_files/cmake/platform/` instead.
IF(DEFINED LIBDIR)
SET(_shaderc_SEARCH_DIRS ${_shaderc_SEARCH_DIRS} ${LIBDIR}/shaderc)
ENDIF()
if(DEFINED LIBDIR)
set(_shaderc_SEARCH_DIRS ${_shaderc_SEARCH_DIRS} ${LIBDIR}/shaderc)
endif()
FIND_PATH(SHADERC_INCLUDE_DIR
find_path(SHADERC_INCLUDE_DIR
NAMES
shaderc/shaderc.h
HINTS
@ -41,7 +41,7 @@ FIND_PATH(SHADERC_INCLUDE_DIR
include
)
FIND_LIBRARY(SHADERC_LIBRARY
find_library(SHADERC_LIBRARY
NAMES
shaderc_combined
HINTS
@ -52,17 +52,17 @@ FIND_LIBRARY(SHADERC_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set SHADERC_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ShaderC DEFAULT_MSG SHADERC_LIBRARY SHADERC_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ShaderC DEFAULT_MSG SHADERC_LIBRARY SHADERC_INCLUDE_DIR)
IF(SHADERC_FOUND)
SET(SHADERC_LIBRARIES ${SHADERC_LIBRARY})
SET(SHADERC_INCLUDE_DIRS ${SHADERC_INCLUDE_DIR})
ENDIF()
if(SHADERC_FOUND)
set(SHADERC_LIBRARIES ${SHADERC_LIBRARY})
set(SHADERC_INCLUDE_DIRS ${SHADERC_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
SHADERC_INCLUDE_DIR
SHADERC_LIBRARY
)
UNSET(_shaderc_SEARCH_DIRS)
unset(_shaderc_SEARCH_DIRS)

View File

@ -16,26 +16,26 @@
# LIBSNDFILE_LIBRARY, where to find the SndFile library.
# If `LIBSNDFILE_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED LIBSNDFILE_ROOT_DIR)
if(DEFINED LIBSNDFILE_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{LIBSNDFILE_ROOT_DIR})
SET(LIBSNDFILE_ROOT_DIR $ENV{LIBSNDFILE_ROOT_DIR})
ELSE()
SET(LIBSNDFILE_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{LIBSNDFILE_ROOT_DIR})
set(LIBSNDFILE_ROOT_DIR $ENV{LIBSNDFILE_ROOT_DIR})
else()
set(LIBSNDFILE_ROOT_DIR "")
endif()
SET(_sndfile_SEARCH_DIRS
set(_sndfile_SEARCH_DIRS
${LIBSNDFILE_ROOT_DIR}
)
FIND_PATH(LIBSNDFILE_INCLUDE_DIR sndfile.h
find_path(LIBSNDFILE_INCLUDE_DIR sndfile.h
HINTS
${_sndfile_SEARCH_DIRS}
PATH_SUFFIXES
include
)
FIND_LIBRARY(LIBSNDFILE_LIBRARY
find_library(LIBSNDFILE_LIBRARY
NAMES
sndfile
HINTS
@ -46,16 +46,16 @@ FIND_LIBRARY(LIBSNDFILE_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set SNDFILE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SndFile DEFAULT_MSG
LIBSNDFILE_LIBRARY LIBSNDFILE_INCLUDE_DIR)
IF(SNDFILE_FOUND)
SET(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBRARY})
SET(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE_INCLUDE_DIR})
ENDIF()
if(SNDFILE_FOUND)
set(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBRARY})
set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
LIBSNDFILE_INCLUDE_DIR
LIBSNDFILE_LIBRARY
)

View File

@ -16,19 +16,19 @@
# SPACENAV_LIBRARY, where to find the Spacenav library.
# If `SPACENAV_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED SPACENAV_ROOT_DIR)
if(DEFINED SPACENAV_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{SPACENAV_ROOT_DIR})
SET(SPACENAV_ROOT_DIR $ENV{SPACENAV_ROOT_DIR})
ELSE()
SET(SPACENAV_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{SPACENAV_ROOT_DIR})
set(SPACENAV_ROOT_DIR $ENV{SPACENAV_ROOT_DIR})
else()
set(SPACENAV_ROOT_DIR "")
endif()
SET(_spacenav_SEARCH_DIRS
set(_spacenav_SEARCH_DIRS
${SPACENAV_ROOT_DIR}
)
FIND_PATH(SPACENAV_INCLUDE_DIR
find_path(SPACENAV_INCLUDE_DIR
NAMES
spnav.h
HINTS
@ -37,7 +37,7 @@ FIND_PATH(SPACENAV_INCLUDE_DIR
include
)
FIND_LIBRARY(SPACENAV_LIBRARY
find_library(SPACENAV_LIBRARY
NAMES
spnav
HINTS
@ -48,16 +48,16 @@ FIND_LIBRARY(SPACENAV_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set SPACENAV_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Spacenav DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Spacenav DEFAULT_MSG
SPACENAV_LIBRARY SPACENAV_INCLUDE_DIR)
IF(SPACENAV_FOUND)
SET(SPACENAV_LIBRARIES ${SPACENAV_LIBRARY})
SET(SPACENAV_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIR})
ENDIF()
if(SPACENAV_FOUND)
set(SPACENAV_LIBRARIES ${SPACENAV_LIBRARY})
set(SPACENAV_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
SPACENAV_INCLUDE_DIR
SPACENAV_LIBRARY
)

View File

@ -16,20 +16,20 @@
# TBB_LIBRARY, where to find the TBB library.
# If `TBB_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED TBB_ROOT_DIR)
if(DEFINED TBB_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{TBB_ROOT_DIR})
SET(TBB_ROOT_DIR $ENV{TBB_ROOT_DIR})
ELSE()
SET(TBB_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{TBB_ROOT_DIR})
set(TBB_ROOT_DIR $ENV{TBB_ROOT_DIR})
else()
set(TBB_ROOT_DIR "")
endif()
SET(_tbb_SEARCH_DIRS
set(_tbb_SEARCH_DIRS
${TBB_ROOT_DIR}
/opt/lib/tbb
)
FIND_PATH(TBB_INCLUDE_DIR
find_path(TBB_INCLUDE_DIR
NAMES
tbb/tbb.h
HINTS
@ -38,7 +38,7 @@ FIND_PATH(TBB_INCLUDE_DIR
include
)
FIND_LIBRARY(TBB_LIBRARY
find_library(TBB_LIBRARY
NAMES
tbb
HINTS
@ -49,18 +49,18 @@ FIND_LIBRARY(TBB_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set TBB_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TBB DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(TBB DEFAULT_MSG
TBB_LIBRARY TBB_INCLUDE_DIR)
IF(TBB_FOUND)
SET(TBB_LIBRARIES ${TBB_LIBRARY})
SET(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
ELSE()
SET(TBB_TBB_FOUND FALSE)
ENDIF()
if(TBB_FOUND)
set(TBB_LIBRARIES ${TBB_LIBRARY})
set(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
else()
set(TBB_TBB_FOUND FALSE)
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
TBB_INCLUDE_DIR
TBB_LIBRARY
)

View File

@ -14,20 +14,20 @@
#
# If `USD_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED USD_ROOT_DIR)
if(DEFINED USD_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{USD_ROOT_DIR})
SET(USD_ROOT_DIR $ENV{USD_ROOT_DIR})
ELSE()
SET(USD_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{USD_ROOT_DIR})
set(USD_ROOT_DIR $ENV{USD_ROOT_DIR})
else()
set(USD_ROOT_DIR "")
endif()
SET(_usd_SEARCH_DIRS
set(_usd_SEARCH_DIRS
${USD_ROOT_DIR}
/opt/lib/usd
)
FIND_PATH(USD_INCLUDE_DIR
find_path(USD_INCLUDE_DIR
NAMES
pxr/usd/usd/api.h
HINTS
@ -37,10 +37,14 @@ FIND_PATH(USD_INCLUDE_DIR
DOC "Universal Scene Description (USD) header files"
)
if(NOT DEFINED PXR_LIB_PREFIX)
set(PXR_LIB_PREFIX "")
endif()
# Since USD 21.11 the libraries are prefixed with "usd_", i.e.
# "libusd_m.a" became "libusd_usd_m.a".
# See https://github.com/PixarAnimationStudios/USD/blob/release/CHANGELOG.md#2111---2021-11-01
FIND_LIBRARY(USD_LIBRARY
find_library(USD_LIBRARY
NAMES
usd_usd_m usd_usd_ms usd_m usd_ms
${PXR_LIB_PREFIX}usd
@ -52,28 +56,28 @@ FIND_LIBRARY(USD_LIBRARY
DOC "Universal Scene Description (USD) monolithic library"
)
IF(${USD_LIBRARY_NOTFOUND})
if(NOT USD_LIBRARY)
set(USD_FOUND FALSE)
ELSE()
else()
# handle the QUIETLY and REQUIRED arguments and set USD_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(USD DEFAULT_MSG USD_LIBRARY USD_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(USD DEFAULT_MSG USD_LIBRARY USD_INCLUDE_DIR)
IF(USD_FOUND)
if(USD_FOUND)
get_filename_component(USD_LIBRARY_DIR ${USD_LIBRARY} DIRECTORY)
SET(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR})
set(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR})
set(USD_LIBRARIES ${USD_LIBRARY})
IF(EXISTS ${USD_INCLUDE_DIR}/pxr/base/tf/pyModule.h)
SET(USD_PYTHON_SUPPORT ON)
ENDIF()
ENDIF()
ENDIF()
if(EXISTS ${USD_INCLUDE_DIR}/pxr/base/tf/pyModule.h)
set(USD_PYTHON_SUPPORT ON)
endif()
endif()
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
USD_INCLUDE_DIR
USD_LIBRARY_DIR
USD_LIBRARY
)
UNSET(_usd_SEARCH_DIRS)
unset(_usd_SEARCH_DIRS)

View File

@ -14,25 +14,25 @@
#
# If `VULKAN_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED VULKAN_ROOT_DIR)
if(DEFINED VULKAN_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{VULKAN_ROOT_DIR})
SET(VULKAN_ROOT_DIR $ENV{VULKAN_ROOT_DIR})
ELSE()
SET(VULKAN_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{VULKAN_ROOT_DIR})
set(VULKAN_ROOT_DIR $ENV{VULKAN_ROOT_DIR})
else()
set(VULKAN_ROOT_DIR "")
endif()
SET(_vulkan_SEARCH_DIRS
set(_vulkan_SEARCH_DIRS
${VULKAN_ROOT_DIR}
)
# FIXME: These finder modules typically don't use LIBDIR,
# this should be set by `./build_files/cmake/platform/` instead.
IF(DEFINED LIBDIR)
SET(_vulkan_SEARCH_DIRS ${_vulkan_SEARCH_DIRS} ${LIBDIR}/vulkan)
ENDIF()
if(DEFINED LIBDIR)
set(_vulkan_SEARCH_DIRS ${_vulkan_SEARCH_DIRS} ${LIBDIR}/vulkan)
endif()
FIND_PATH(VULKAN_INCLUDE_DIR
find_path(VULKAN_INCLUDE_DIR
NAMES
vulkan/vulkan.h
HINTS
@ -41,7 +41,7 @@ FIND_PATH(VULKAN_INCLUDE_DIR
include
)
FIND_LIBRARY(VULKAN_LIBRARY
find_library(VULKAN_LIBRARY
NAMES
vulkan
HINTS
@ -52,17 +52,17 @@ FIND_LIBRARY(VULKAN_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set VULKAN_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Vulkan DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Vulkan DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
IF(VULKAN_FOUND)
SET(VULKAN_LIBRARIES ${VULKAN_LIBRARY})
SET(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR})
ENDIF()
if(VULKAN_FOUND)
set(VULKAN_LIBRARIES ${VULKAN_LIBRARY})
set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
VULKAN_INCLUDE_DIR
VULKAN_LIBRARY
)
UNSET(_vulkan_SEARCH_DIRS)
unset(_vulkan_SEARCH_DIRS)

View File

@ -15,20 +15,20 @@
# WEBP_LIBRARY, where to find the WEBP library.
# If `WEBP_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED WEBP_ROOT_DIR)
if(DEFINED WEBP_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{WEBP_ROOT_DIR})
SET(WEBP_ROOT_DIR $ENV{WEBP_ROOT_DIR})
ELSE()
SET(WEBP_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{WEBP_ROOT_DIR})
set(WEBP_ROOT_DIR $ENV{WEBP_ROOT_DIR})
else()
set(WEBP_ROOT_DIR "")
endif()
SET(_webp_SEARCH_DIRS
set(_webp_SEARCH_DIRS
${WEBP_ROOT_DIR}
/opt/lib/webp
)
FIND_PATH(WEBP_INCLUDE_DIR
find_path(WEBP_INCLUDE_DIR
NAMES
webp/types.h
HINTS
@ -37,17 +37,17 @@ FIND_PATH(WEBP_INCLUDE_DIR
include
)
SET(_webp_FIND_COMPONENTS
set(_webp_FIND_COMPONENTS
webp
webpmux
webpdemux
)
SET(_webp_LIBRARIES)
FOREACH(COMPONENT ${_webp_FIND_COMPONENTS})
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
set(_webp_LIBRARIES)
foreach(COMPONENT ${_webp_FIND_COMPONENTS})
string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
FIND_LIBRARY(WEBP_${UPPERCOMPONENT}_LIBRARY
find_library(WEBP_${UPPERCOMPONENT}_LIBRARY
NAMES
${COMPONENT}
NAMES_PER_DIR
@ -56,27 +56,27 @@ FOREACH(COMPONENT ${_webp_FIND_COMPONENTS})
PATH_SUFFIXES
lib64 lib lib/static
)
LIST(APPEND _webp_LIBRARIES "${WEBP_${UPPERCOMPONENT}_LIBRARY}")
ENDFOREACH()
list(APPEND _webp_LIBRARIES "${WEBP_${UPPERCOMPONENT}_LIBRARY}")
endforeach()
IF(${WEBP_WEBP_LIBRARY_NOTFOUND})
if(NOT WEBP_WEBP_LIBRARY)
set(WEBP_FOUND FALSE)
ELSE()
else()
# handle the QUIETLY and REQUIRED arguments and set WEBP_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(WebP DEFAULT_MSG _webp_LIBRARIES WEBP_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(WebP DEFAULT_MSG _webp_LIBRARIES WEBP_INCLUDE_DIR)
IF(WEBP_FOUND)
if(WEBP_FOUND)
get_filename_component(WEBP_LIBRARY_DIR ${WEBP_WEBP_LIBRARY} DIRECTORY)
SET(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR})
SET(WEBP_LIBRARIES ${_webp_LIBRARIES})
ELSE()
SET(WEBPL_PUGIXML_FOUND FALSE)
ENDIF()
ENDIF()
set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR})
set(WEBP_LIBRARIES ${_webp_LIBRARIES})
else()
set(WEBPL_PUGIXML_FOUND FALSE)
endif()
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
WEBP_INCLUDE_DIR
WEBP_LIBRARY_DIR

View File

@ -16,26 +16,26 @@
# XML2_LIBRARY, where to find the XML2 library.
# If `XML2_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED XML2_ROOT_DIR)
if(DEFINED XML2_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{XML2_ROOT_DIR})
SET(XML2_ROOT_DIR $ENV{XML2_ROOT_DIR})
ELSE()
SET(XML2_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{XML2_ROOT_DIR})
set(XML2_ROOT_DIR $ENV{XML2_ROOT_DIR})
else()
set(XML2_ROOT_DIR "")
endif()
SET(_xml2_SEARCH_DIRS
set(_xml2_SEARCH_DIRS
${XML2_ROOT_DIR}
)
FIND_PATH(XML2_INCLUDE_DIR libxml2/libxml/xpath.h
find_path(XML2_INCLUDE_DIR libxml2/libxml/xpath.h
HINTS
${_xml2_SEARCH_DIRS}
PATH_SUFFIXES
include
)
FIND_LIBRARY(XML2_LIBRARY
find_library(XML2_LIBRARY
NAMES
xml2
HINTS
@ -46,16 +46,16 @@ FIND_LIBRARY(XML2_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set XML2_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XML2 DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(XML2 DEFAULT_MSG
XML2_LIBRARY XML2_INCLUDE_DIR)
IF(XML2_FOUND)
SET(XML2_LIBRARIES ${XML2_LIBRARY})
SET(XML2_INCLUDE_DIRS ${XML2_INCLUDE_DIR})
ENDIF()
if(XML2_FOUND)
set(XML2_LIBRARIES ${XML2_LIBRARY})
set(XML2_INCLUDE_DIRS ${XML2_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
XML2_INCLUDE_DIR
XML2_LIBRARY
)

View File

@ -24,20 +24,20 @@
# XR_OPENXR_SDK_LOADER_LIBRARY, where to find the OpenXR-SDK loader library.
# If `XR_OPENXR_SDK_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED XR_OPENXR_SDK_ROOT_DIR)
if(DEFINED XR_OPENXR_SDK_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{XR_OPENXR_SDK_ROOT_DIR})
SET(XR_OPENXR_SDK_ROOT_DIR $ENV{XR_OPENXR_SDK_ROOT_DIR})
ELSE()
SET(XR_OPENXR_SDK_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{XR_OPENXR_SDK_ROOT_DIR})
set(XR_OPENXR_SDK_ROOT_DIR $ENV{XR_OPENXR_SDK_ROOT_DIR})
else()
set(XR_OPENXR_SDK_ROOT_DIR "")
endif()
SET(_xr_openxr_sdk_SEARCH_DIRS
set(_xr_openxr_sdk_SEARCH_DIRS
${XR_OPENXR_SDK_ROOT_DIR}
/opt/lib/xr-openxr-sdk
)
FIND_PATH(XR_OPENXR_SDK_INCLUDE_DIR
find_path(XR_OPENXR_SDK_INCLUDE_DIR
NAMES
openxr/openxr.h
HINTS
@ -46,7 +46,7 @@ FIND_PATH(XR_OPENXR_SDK_INCLUDE_DIR
include
)
FIND_LIBRARY(XR_OPENXR_SDK_LOADER_LIBRARY
find_library(XR_OPENXR_SDK_LOADER_LIBRARY
NAMES
openxr_loader
HINTS
@ -57,16 +57,16 @@ FIND_LIBRARY(XR_OPENXR_SDK_LOADER_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set XR_OPENXR_SDK_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XR_OpenXR_SDK DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(XR_OpenXR_SDK DEFAULT_MSG
XR_OPENXR_SDK_LOADER_LIBRARY XR_OPENXR_SDK_INCLUDE_DIR)
IF(XR_OPENXR_SDK_FOUND)
SET(XR_OPENXR_SDK_LIBRARIES ${XR_OPENXR_SDK_LOADER_LIBRARY})
SET(XR_OPENXR_SDK_INCLUDE_DIRS ${XR_OPENXR_SDK_INCLUDE_DIR})
ENDIF()
if(XR_OPENXR_SDK_FOUND)
set(XR_OPENXR_SDK_LIBRARIES ${XR_OPENXR_SDK_LOADER_LIBRARY})
set(XR_OPENXR_SDK_INCLUDE_DIRS ${XR_OPENXR_SDK_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
XR_OPENXR_SDK_INCLUDE_DIR
XR_OPENXR_SDK_LOADER_LIBRARY
)

View File

@ -16,19 +16,19 @@
# ZSTD_LIBRARY, where to find the Zstd library.
# If `ZSTD_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED ZSTD_ROOT_DIR)
if(DEFINED ZSTD_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{ZSTD_ROOT_DIR})
SET(ZSTD_ROOT_DIR $ENV{ZSTD_ROOT_DIR})
ELSE()
SET(ZSTD_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{ZSTD_ROOT_DIR})
set(ZSTD_ROOT_DIR $ENV{ZSTD_ROOT_DIR})
else()
set(ZSTD_ROOT_DIR "")
endif()
SET(_zstd_SEARCH_DIRS
set(_zstd_SEARCH_DIRS
${ZSTD_ROOT_DIR}
)
FIND_PATH(ZSTD_INCLUDE_DIR
find_path(ZSTD_INCLUDE_DIR
NAMES
zstd.h
HINTS
@ -37,7 +37,7 @@ FIND_PATH(ZSTD_INCLUDE_DIR
include
)
FIND_LIBRARY(ZSTD_LIBRARY
find_library(ZSTD_LIBRARY
NAMES
zstd
HINTS
@ -48,16 +48,16 @@ FIND_LIBRARY(ZSTD_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set ZSTD_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Zstd DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Zstd DEFAULT_MSG
ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
IF(ZSTD_FOUND)
SET(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
SET(ZSTD_INCLUDE_DIRS ${ZSTD_INCLUDE_DIR})
ENDIF()
if(ZSTD_FOUND)
set(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
set(ZSTD_INCLUDE_DIRS ${ZSTD_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
ZSTD_INCLUDE_DIR
ZSTD_LIBRARY
)

View File

@ -12,19 +12,19 @@
# SSE2NEON_FOUND, If false, do not try to use sse2neon.
# If `SSE2NEON_ROOT_DIR` was defined in the environment, use it.
IF(DEFINED SSE2NEON_ROOT_DIR)
if(DEFINED SSE2NEON_ROOT_DIR)
# Pass.
ELSEIF(DEFINED ENV{SSE2NEON_ROOT_DIR})
SET(SSE2NEON_ROOT_DIR $ENV{SSE2NEON_ROOT_DIR})
ELSE()
SET(SSE2NEON_ROOT_DIR "")
ENDIF()
elseif(DEFINED ENV{SSE2NEON_ROOT_DIR})
set(SSE2NEON_ROOT_DIR $ENV{SSE2NEON_ROOT_DIR})
else()
set(SSE2NEON_ROOT_DIR "")
endif()
SET(_sse2neon_SEARCH_DIRS
set(_sse2neon_SEARCH_DIRS
${SSE2NEON_ROOT_DIR}
)
FIND_PATH(SSE2NEON_INCLUDE_DIR
find_path(SSE2NEON_INCLUDE_DIR
NAMES
sse2neon.h
HINTS
@ -35,16 +35,16 @@ FIND_PATH(SSE2NEON_INCLUDE_DIR
# handle the QUIETLY and REQUIRED arguments and set SSE2NEON_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(sse2neon DEFAULT_MSG
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(sse2neon DEFAULT_MSG
SSE2NEON_INCLUDE_DIR)
IF(SSE2NEON_FOUND)
SET(SSE2NEON_INCLUDE_DIRS ${SSE2NEON_INCLUDE_DIR})
ENDIF()
if(SSE2NEON_FOUND)
set(SSE2NEON_INCLUDE_DIRS ${SSE2NEON_INCLUDE_DIR})
endif()
MARK_AS_ADVANCED(
mark_as_advanced(
SSE2NEON_INCLUDE_DIR
)
UNSET(_sse2neon_SEARCH_DIRS)
unset(_sse2neon_SEARCH_DIRS)

View File

@ -85,7 +85,7 @@ macro(BLENDER_SRC_GTEST_EX)
target_link_libraries(${TARGET_NAME} PRIVATE ${GMP_LIBRARIES})
endif()
GET_BLENDER_TEST_INSTALL_DIR(TEST_INSTALL_DIR)
get_blender_test_install_dir(TEST_INSTALL_DIR)
set_target_properties(${TARGET_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${TESTS_OUTPUT_DIR}"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${TESTS_OUTPUT_DIR}"

View File

@ -16,15 +16,16 @@ check_symbol_exists(malloc_stats "malloc.h" HAVE_MALLOC_STATS_H)
# Used for: `source/creator/creator_signals.c`.
# The function `feenableexcept` is not present non-GLIBC systems,
# hence we need to check if it's available in the `fenv.h` file.
set(HAVE_FEENABLEEXCEPT OFF)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
check_symbol_exists(feenableexcept "fenv.h" HAVE_FEENABLEEXCEPT)
endif()
if(NOT DEFINED HAVE_FEENABLEEXCEPT)
set(HAVE_FEENABLEEXCEPT 0)
endif()
# Used for: `source/blender/blenlib/intern/system.c`.
# `execinfo` is not available on non-GLIBC systems (at least not on MUSL-LIBC),
# so check the presence of the header before including it and using the it for back-trace.
set(HAVE_EXECINFO_H OFF)
if(NOT MSVC)
include(CheckIncludeFiles)
check_include_files("execinfo.h" HAVE_EXECINFO_H)
@ -32,3 +33,6 @@ if(NOT MSVC)
add_definitions(-DHAVE_EXECINFO_H)
endif()
endif()
if(NOT DEFINED HAVE_EXECINFO_H)
set(HAVE_EXECINFO_H 0)
endif()

View File

@ -737,34 +737,20 @@ endmacro()
macro(remove_cc_flag
_flag)
set(_flag_vars
CMAKE_C_FLAGS
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELWITHDEBINFO
foreach(f ${ARGV})
string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_MINSIZEREL})
string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELWITHDEBINFO
)
foreach(_flag ${ARGV})
foreach(_var ${_flag_vars})
# Expands to an expression like:
# `string(REGEX REPLACE "${_flag}" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")`
cmake_language(
EVAL CODE
"string(REGEX REPLACE \"\$\{_flag\}\" \"\" ${_var} \"\$\{${_var}\}\")"
)
endforeach()
string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
endforeach()
unset(_flag)
unset(_flag_vars)
unset(_var)
unset(f)
endmacro()
@ -786,6 +772,7 @@ macro(remove_strict_flags)
if(CMAKE_COMPILER_IS_GNUCC)
remove_cc_flag(
"-Wstrict-prototypes"
"-Wsuggest-attribute=format"
"-Wmissing-prototypes"
"-Wmissing-declarations"
"-Wmissing-format-attribute"
@ -906,7 +893,7 @@ macro(remove_cc_flag_unsigned_char)
endif()
endmacro()
function(ADD_CHECK_C_COMPILER_FLAG_IMPL
function(add_check_c_compiler_flag_impl
_CFLAGS
_CACHE_VAR
_FLAG
@ -923,7 +910,7 @@ function(ADD_CHECK_C_COMPILER_FLAG_IMPL
endif()
endfunction()
function(ADD_CHECK_CXX_COMPILER_FLAG_IMPL
function(add_check_cxx_compiler_flag_impl
_CXXFLAGS
_CACHE_VAR
_FLAG
@ -945,7 +932,7 @@ function(ADD_CHECK_C_COMPILER_FLAGS _CFLAGS)
set(cache_var "")
foreach(arg ${ARGN})
if(cache_var)
ADD_CHECK_C_COMPILER_FLAG_IMPL("${_CFLAGS}" "${cache_var}" "${arg}")
add_check_c_compiler_flag_impl("${_CFLAGS}" "${cache_var}" "${arg}")
set(cache_var "")
else()
set(cache_var "${arg}")
@ -959,7 +946,7 @@ function(ADD_CHECK_CXX_COMPILER_FLAGS _CXXFLAGS)
set(cache_var "")
foreach(arg ${ARGN})
if(cache_var)
ADD_CHECK_CXX_COMPILER_FLAG_IMPL("${_CXXFLAGS}" "${cache_var}" "${arg}")
add_check_cxx_compiler_flag_impl("${_CXXFLAGS}" "${cache_var}" "${arg}")
set(cache_var "")
else()
set(cache_var "${arg}")

View File

@ -145,9 +145,10 @@ endif()
# FreeType compiled with Brotli compression for woff2.
find_package(Freetype REQUIRED)
list(APPEND FREETYPE_LIBRARIES
set(BROTLI_LIBRARIES
${LIBDIR}/brotli/lib/libbrotlicommon-static.a
${LIBDIR}/brotli/lib/libbrotlidec-static.a)
${LIBDIR}/brotli/lib/libbrotlidec-static.a
)
if(WITH_IMAGE_OPENEXR)
find_package(OpenEXR)
@ -243,7 +244,7 @@ endif()
if(WITH_BOOST)
set(Boost_NO_BOOST_CMAKE ON)
set(BOOST_ROOT ${LIBDIR}/boost)
set(Boost_ROOT ${LIBDIR}/boost)
set(Boost_NO_SYSTEM_PATHS ON)
set(_boost_FIND_COMPONENTS date_time filesystem regex system thread wave)
if(WITH_INTERNATIONAL)
@ -516,7 +517,11 @@ if(PLATFORM_BUNDLED_LIBRARIES)
# Environment variables to run precompiled executables that needed libraries.
list(JOIN PLATFORM_BUNDLED_LIBRARY_DIRS ":" _library_paths)
set(PLATFORM_ENV_BUILD "DYLD_LIBRARY_PATH=\"${_library_paths};${DYLD_LIBRARY_PATH}\"")
if(DEFINED DYLD_LIBRARY_PATH)
set(PLATFORM_ENV_BUILD "DYLD_LIBRARY_PATH=\"${_library_paths};${DYLD_LIBRARY_PATH}\"")
else()
set(PLATFORM_ENV_BUILD "DYLD_LIBRARY_PATH=\"${_library_paths}\"")
endif()
set(PLATFORM_ENV_INSTALL "DYLD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/Blender.app/Contents/Resources/lib/;$DYLD_LIBRARY_PATH")
unset(_library_paths)
endif()

View File

@ -77,7 +77,7 @@ if(DEFINED LIBDIR)
set(WITH_OPENMP_STATIC ON)
endif()
set(Boost_NO_BOOST_CMAKE ON)
set(BOOST_ROOT ${LIBDIR}/boost)
set(Boost_ROOT ${LIBDIR}/boost)
set(BOOST_LIBRARYDIR ${LIBDIR}/boost/lib)
set(Boost_NO_SYSTEM_PATHS ON)
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
@ -144,6 +144,9 @@ if(NOT WITH_SYSTEM_FREETYPE)
# list(APPEND FREETYPE_LIBRARIES
# ${BROTLI_LIBRARIES}
# )
else()
# Quiet warning as this variable will be used after `FREETYPE_LIBRARIES`.
set(BROTLI_LIBRARIES "")
endif()
check_freetype_for_brotli()
endif()
@ -604,6 +607,8 @@ if(WITH_SYSTEM_FREETYPE)
message(FATAL_ERROR "Failed finding system FreeType version!")
endif()
check_freetype_for_brotli()
# Quiet warning as this variable will be used after `FREETYPE_LIBRARIES`.
set(BROTLI_LIBRARIES "")
endif()
if(WITH_LZO AND WITH_SYSTEM_LZO)
@ -1049,7 +1054,11 @@ if(PLATFORM_BUNDLED_LIBRARIES)
# Environment variables to run precompiled executables that needed libraries.
list(JOIN PLATFORM_BUNDLED_LIBRARY_DIRS ":" _library_paths)
set(PLATFORM_ENV_BUILD "LD_LIBRARY_PATH=\"${_library_paths}:${LD_LIBRARY_PATH}\"")
if(DEFINED LD_LIBRARY_PATH)
set(PLATFORM_ENV_BUILD "LD_LIBRARY_PATH=\"${_library_paths}:${LD_LIBRARY_PATH}\"")
else()
set(PLATFORM_ENV_BUILD "LD_LIBRARY_PATH=\"${_library_paths}\"")
endif()
set(PLATFORM_ENV_INSTALL "LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/lib/;$LD_LIBRARY_PATH")
unset(_library_paths)
endif()

View File

@ -364,9 +364,12 @@ set(FREETYPE_INCLUDE_DIRS
)
set(FREETYPE_LIBRARIES
${LIBDIR}/freetype/lib/freetype2ST.lib
)
set(BROTLI_LIBRARIES
${LIBDIR}/brotli/lib/brotlidec-static.lib
${LIBDIR}/brotli/lib/brotlicommon-static.lib
)
windows_find_package(Freetype REQUIRED)
if(WITH_FFTW3)

View File

@ -1,13 +1,12 @@
sphinx==5.3.0
sphinx==7.1.2
# Sphinx dependencies that are important
Jinja2==3.1.2
Pygments==2.13.0
docutils==0.17.1
Pygments==2.16.1
docutils==0.18.1
snowballstemmer==2.2.0
babel==2.11.0
requests==2.28.1
requests==2.31.0
# Only needed to match the theme used for the official documentation.
# Without this theme, the default theme will be used.
sphinx_rtd_theme==1.1.0
sphinx_rtd_theme==1.3.0rc1

View File

@ -2255,13 +2255,18 @@ def write_rst_enum_items_and_index(basepath):
fw(".. toctree::\n")
fw("\n")
for key, enum_items in rna_enum_dict.items():
if not key.startswith("rna_enum_"):
raise Exception("Found RNA enum identifier that doesn't use the 'rna_enum_' prefix, found %r!" % key)
valid_prefix = key.startswith("rna_enum_") or key.startswith("rna_node_")
if not valid_prefix:
raise Exception(
"Found RNA enum identifier that doesn't use the 'rna_enum_' or 'rna_node_' prefix, found %r!" %
key)
key_no_prefix = key.removeprefix("rna_enum_")
key_no_prefix = key.removeprefix("rna_node_")
fw(" %s\n" % key_no_prefix)
for key, enum_items in rna_enum_dict.items():
key_no_prefix = key.removeprefix("rna_enum_")
key_no_prefix = key.removeprefix("rna_node_")
write_rst_enum_items(basepath_bpy_types_rna_enum, key, key_no_prefix, enum_items)
fw("\n")

View File

@ -83,7 +83,9 @@ endif()
if(WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)
set(AUDASPACE_CMAKE_CFG ${CMAKE_CURRENT_SOURCE_DIR}/audaspace/blender_config.cmake)
set(LIB_SUFFIX "") # Quiet uninitialized warning.
add_subdirectory(audaspace)
unset(LIB_SUFFIX)
endif()
if(WITH_QUADRIFLOW)

View File

@ -14,7 +14,7 @@
# limitations under the License.
################################################################################
cmake_minimum_required(VERSION 3.0)
cmake_minimum_required(VERSION 3.5)
include(CMakeDependentOption)
if(POLICY CMP0054)

View File

@ -48,6 +48,11 @@ set(SRC
set(LIB
)
# Suppress warnings as GLOG has it's own define.
if(HAVE_EXECINFO_H)
remove_definitions(-DHAVE_EXECINFO_H)
endif()
if(NOT WITH_SYSTEM_GFLAGS)
list(APPEND LIB
extern_gflags

View File

@ -17,6 +17,8 @@ if(WIN32)
endif()
set(LEMON_3RD_PATH 3rd/lemon-1.3.1)
# Needed for the configure script.
set(PROJECT_VERSION "1.3.1")
set(LEMON_SOURCE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${LEMON_3RD_PATH})
@ -28,6 +30,8 @@ configure_file(
${LEMON_SRC}/config.h.in
${LEMON_GEN_DIR}/lemon/config.h
)
unset(PROJECT_VERSION)
set(LEMON_SOURCES
${LEMON_SRC}/arg_parser.cc
${LEMON_SRC}/base.cc

View File

@ -202,7 +202,6 @@ endif()
add_definitions(
${BOOST_DEFINITIONS}
${OPENIMAGEIO_DEFINITIONS}
)
add_definitions(

View File

@ -109,7 +109,10 @@ macro(cycles_external_libraries_append libraries)
endif()
endif()
if(WITH_OPENVDB)
list(APPEND ${libraries} ${OPENVDB_LIBRARIES} ${BLOSC_LIBRARIES})
list(APPEND ${libraries} ${OPENVDB_LIBRARIES})
if(DEFINED BLOSC_LIBRARIES)
list(APPEND ${libraries} ${BLOSC_LIBRARIES})
endif()
endif()
if(WITH_OPENIMAGEDENOISE)
list(APPEND ${libraries} ${OPENIMAGEDENOISE_LIBRARIES})
@ -125,16 +128,17 @@ macro(cycles_external_libraries_append libraries)
if(WITH_PATH_GUIDING)
list(APPEND ${libraries} ${OPENPGL_LIBRARIES})
endif()
if (WITH_WEBP)
list(APPEND ${libraries} ${WEBP_LIBRARIES})
endif()
if(UNIX AND NOT APPLE)
list(APPEND ${libraries} "-lm -lc -lutil")
endif()
list(APPEND ${libraries}
${OPENIMAGEIO_LIBRARIES}
${PNG_LIBRARIES}
${JPEG_LIBRARIES}
${TIFF_LIBRARY}
${WEBP_LIBRARIES}
${OPENJPEG_LIBRARIES}
${OPENEXR_LIBRARIES}
${OPENEXR_LIBRARIES} # For circular dependencies between libs.

View File

@ -742,7 +742,7 @@ endif()
# OptiX PTX modules
if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
macro(CYCLES_OPTIX_KERNEL_ADD name input flags)
macro(cycles_optix_kernel_add name input flags)
set(output "${CMAKE_CURRENT_BINARY_DIR}/${name}.ptx")
set(cuda_flags ${flags}
@ -800,11 +800,11 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
"device/optix/kernel_shader_raytrace.cu"
"--keep-device-functions")
if(WITH_CYCLES_OSL AND OSL_LIBRARY_VERSION_CODE GREATER_EQUAL 11300)
CYCLES_OPTIX_KERNEL_ADD(
cycles_optix_kernel_add(
kernel_optix_osl
"device/optix/kernel_osl.cu"
"--relocatable-device-code=true")
CYCLES_OPTIX_KERNEL_ADD(
cycles_optix_kernel_add(
kernel_optix_osl_services
"osl/services_optix.cu"
"--relocatable-device-code=true")

View File

@ -27,7 +27,7 @@ set(SRC
set(LIB
)
if(WITH_OPENMP_STATIC)
if(WITH_OPENMP AND WITH_OPENMP_STATIC)
list(APPEND LIB
${OpenMP_LIBRARIES}
)

View File

@ -250,7 +250,7 @@ elseif(WITH_GHOST_X11 OR WITH_GHOST_WAYLAND)
if(WITH_X11_XF86VMODE)
add_definitions(-DWITH_X11_XF86VMODE)
list(APPEND INC_SYS
${X11_Xxf86vmode_INCLUDE_PATH}
${X11_Xxf86vm_INCLUDE_PATH}
)
list(APPEND LIB
${X11_Xxf86vmode_LIB}

View File

@ -21,6 +21,8 @@ GHOST_SystemPathsWin32::~GHOST_SystemPathsWin32() {}
const char *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) const
{
const char *system_dir = nullptr;
/* 1 utf-16 might translate into 3 utf-8. 2 utf-16 translates into 4 utf-8. */
static char knownpath[MAX_PATH * 3 + 128] = {0};
PWSTR knownpath_16 = nullptr;
@ -30,17 +32,19 @@ const char *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) co
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
CoTaskMemFree(knownpath_16);
strcat(knownpath, "\\Blender Foundation\\Blender\\");
strcat(knownpath, versionstr);
return knownpath;
system_dir = knownpath;
}
return nullptr;
CoTaskMemFree(knownpath_16);
return system_dir;
}
const char *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) const
{
const char *user_dir = nullptr;
static char knownpath[MAX_PATH * 3 + 128] = {0};
PWSTR knownpath_16 = nullptr;
@ -49,19 +53,20 @@ const char *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) cons
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
CoTaskMemFree(knownpath_16);
strcat(knownpath, "\\Blender Foundation\\Blender\\");
strcat(knownpath, versionstr);
return knownpath;
user_dir = knownpath;
}
return nullptr;
CoTaskMemFree(knownpath_16);
return user_dir;
}
const char *GHOST_SystemPathsWin32::getUserSpecialDir(GHOST_TUserSpecialDirTypes type) const
{
GUID folderid;
const char *special_dir = nullptr;
GUID folderid;
switch (type) {
case GHOST_kUserSpecialDirDesktop:
folderid = FOLDERID_Desktop;
@ -97,12 +102,11 @@ const char *GHOST_SystemPathsWin32::getUserSpecialDir(GHOST_TUserSpecialDirTypes
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
CoTaskMemFree(knownpath_16);
return knownpath;
special_dir = knownpath;
}
CoTaskMemFree(knownpath_16);
return nullptr;
return special_dir;
}
const char *GHOST_SystemPathsWin32::getBinaryDir() const

View File

@ -1392,6 +1392,11 @@ static void ghost_wl_display_report_error(wl_display *display)
::exit(-1);
}
#ifdef __GNUC__
static void ghost_wayland_log_handler(const char *msg, va_list arg)
__attribute__((format(printf, 1, 0)));
#endif
/**
* Callback for WAYLAND to run when there is an error.
*

View File

@ -146,6 +146,15 @@ std::list<OCIO_GPUDisplayShader> SHADER_CACHE;
/** \name Shader
* \{ */
void string_replace_all(std::string &haystack, const std::string &needle, const std::string &other)
{
size_t i = 0, index;
while ((index = haystack.find(needle, i)) != std::string::npos) {
haystack.replace(index, needle.size(), other);
i = index + other.size();
}
}
static bool createGPUShader(OCIO_GPUShader &shader,
OCIO_GPUTextures &textures,
const GpuShaderDescRcPtr &shaderdesc_to_scene_linear,
@ -174,6 +183,17 @@ static bool createGPUShader(OCIO_GPUShader &shader,
}
}
/* Comparison operator in Metal returns per-element comparison and returns a vector of booleans.
* Need a special syntax to see if two vec3 are matched.
*
* NOTE: The replacement is optimized for transforming code generated by
* GradingPrimaryTransform. A more general approach is possible, but for now prefer processing
* speed.
*
* NOTE: The syntax works for all backends Blender supports. */
string_replace_all(
source, "if ( gamma != vec3(1., 1., 1.) )", "if (! all(equal(gamma, vec3(1., 1., 1.))) )");
StageInterfaceInfo iface("OCIO_Interface", "");
iface.smooth(Type::VEC2, "texCoord_interp");

View File

@ -301,6 +301,7 @@ class GRAPH_MT_key_blending(Menu):
layout.operator("graph.ease", text="Ease")
layout.operator("graph.blend_offset", text="Blend Offset")
layout.operator("graph.blend_to_ease", text="Blend to Ease")
layout.operator("graph.match_slope", text="Match Slope")
class GRAPH_MT_key_smoothing(Menu):

View File

@ -597,7 +597,7 @@ inline bool TreeNode::use_onion_skinning() const
}
inline StringRefNull TreeNode::name() const
{
return this->name_ptr;
return (this->name_ptr != nullptr) ? this->name_ptr : StringRefNull();
}
inline const TreeNode &LayerGroup::as_node() const
{

View File

@ -105,6 +105,13 @@ typedef struct SpaceType {
/* Used when we want to replace an ID by another (or NULL). */
void (*id_remap)(struct ScrArea *area, struct SpaceLink *sl, const struct IDRemapper *mappings);
/**
* foreach_id callback to process all ID pointers of the editor. Used indirectly by lib_query's
* #BKE_library_foreach_ID_link when #IDWALK_INCLUDE_UI bitflag is set (through WM's foreach_id
* usage of #BKE_screen_foreach_id_screen_area).
*/
void (*foreach_id)(struct SpaceLink *space_link, struct LibraryForeachIDData *data);
int (*space_subtype_get)(struct ScrArea *area);
void (*space_subtype_set)(struct ScrArea *area, int value);
void (*space_subtype_item_extend)(struct bContext *C, EnumPropertyItem **item, int *totitem);

View File

@ -81,243 +81,15 @@ static void screen_free_data(ID *id)
MEM_SAFE_FREE(screen->tool_tip);
}
static void screen_foreach_id_dopesheet(LibraryForeachIDData *data, bDopeSheet *ads)
{
if (ads != nullptr) {
BKE_LIB_FOREACHID_PROCESS_ID(data, ads->source, IDWALK_CB_NOP);
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, ads->filter_grp, IDWALK_CB_NOP);
}
}
void BKE_screen_foreach_id_screen_area(LibraryForeachIDData *data, ScrArea *area)
{
const int data_flags = BKE_lib_query_foreachid_process_flags_get(data);
const bool is_readonly = (data_flags & IDWALK_READONLY) != 0;
const bool allow_pointer_access = (data_flags & IDWALK_NO_ORIG_POINTERS_ACCESS) == 0;
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, area->full, IDWALK_CB_NOP);
/* TODO: this should be moved to a callback in `SpaceType`, defined in each editor's own code.
* Will be for a later round of cleanup though... */
LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {
switch (sl->spacetype) {
case SPACE_VIEW3D: {
View3D *v3d = (View3D *)sl;
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, v3d->camera, IDWALK_CB_NOP);
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, v3d->ob_center, IDWALK_CB_NOP);
if (v3d->localvd) {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, v3d->localvd->camera, IDWALK_CB_NOP);
}
BKE_viewer_path_foreach_id(data, &v3d->viewer_path);
break;
}
case SPACE_GRAPH: {
SpaceGraph *sipo = (SpaceGraph *)sl;
BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL(data,
screen_foreach_id_dopesheet(data, sipo->ads));
SpaceType *space_type = BKE_spacetype_from_id(sl->spacetype);
if (!is_readonly) {
/* Force recalc of list of channels (i.e. including calculating F-Curve colors) to
* prevent the "black curves" problem post-undo. */
sipo->runtime.flag |= SIPO_RUNTIME_FLAG_NEED_CHAN_SYNC_COLOR;
}
break;
}
case SPACE_PROPERTIES: {
SpaceProperties *sbuts = (SpaceProperties *)sl;
BKE_LIB_FOREACHID_PROCESS_ID(data, sbuts->pinid, IDWALK_CB_NOP);
if (!is_readonly) {
if (sbuts->pinid == nullptr) {
sbuts->flag &= ~SB_PIN_CONTEXT;
}
/* NOTE: Restoring path pointers is complicated, if not impossible, because this contains
* data pointers too, not just ID ones. See #40046. */
MEM_SAFE_FREE(sbuts->path);
}
break;
}
case SPACE_FILE: {
if (!is_readonly) {
SpaceFile *sfile = (SpaceFile *)sl;
sfile->op = nullptr;
sfile->tags = FILE_TAG_REBUILD_MAIN_FILES;
}
break;
}
case SPACE_ACTION: {
SpaceAction *saction = (SpaceAction *)sl;
screen_foreach_id_dopesheet(data, &saction->ads);
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, saction->action, IDWALK_CB_NOP);
if (!is_readonly) {
/* Force recalc of list of channels, potentially updating the active action while we're
* at it (as it can only be updated that way) #28962. */
saction->runtime.flag |= SACTION_RUNTIME_FLAG_NEED_CHAN_SYNC;
}
break;
}
case SPACE_IMAGE: {
SpaceImage *sima = (SpaceImage *)sl;
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, sima->image, IDWALK_CB_USER_ONE);
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, sima->iuser.scene, IDWALK_CB_NOP);
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, sima->mask_info.mask, IDWALK_CB_USER_ONE);
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, sima->gpd, IDWALK_CB_USER);
if (!is_readonly) {
sima->scopes.ok = 0;
}
break;
}
case SPACE_SEQ: {
SpaceSeq *sseq = (SpaceSeq *)sl;
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, sseq->gpd, IDWALK_CB_USER);
break;
}
case SPACE_NLA: {
SpaceNla *snla = (SpaceNla *)sl;
BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL(data,
screen_foreach_id_dopesheet(data, snla->ads));
break;
}
case SPACE_TEXT: {
SpaceText *st = (SpaceText *)sl;
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, st->text, IDWALK_CB_USER_ONE);
break;
}
case SPACE_SCRIPT: {
SpaceScript *scpt = (SpaceScript *)sl;
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, scpt->script, IDWALK_CB_NOP);
break;
}
case SPACE_OUTLINER: {
SpaceOutliner *space_outliner = (SpaceOutliner *)sl;
if (space_outliner->treestore != nullptr) {
TreeStoreElem *tselem;
BLI_mempool_iter iter;
BLI_mempool_iternew(space_outliner->treestore, &iter);
while ((tselem = static_cast<TreeStoreElem *>(BLI_mempool_iterstep(&iter)))) {
/* Do not try to restore non-ID pointers (drivers/sequence/etc.). */
if (TSE_IS_REAL_ID(tselem)) {
const int cb_flag = (tselem->id != nullptr && allow_pointer_access &&
(tselem->id->flag & LIB_EMBEDDED_DATA) != 0) ?
IDWALK_CB_EMBEDDED_NOT_OWNING :
IDWALK_CB_NOP;
BKE_LIB_FOREACHID_PROCESS_ID(data, tselem->id, cb_flag);
}
else if (!is_readonly) {
tselem->id = nullptr;
}
}
if (!is_readonly) {
/* rebuild hash table, because it depends on ids too */
space_outliner->storeflag |= SO_TREESTORE_REBUILD;
}
}
break;
}
case SPACE_NODE: {
SpaceNode *snode = (SpaceNode *)sl;
const bool is_embedded_nodetree = snode->id != nullptr && allow_pointer_access &&
ntreeFromID(snode->id) == snode->nodetree;
BKE_LIB_FOREACHID_PROCESS_ID(data, snode->id, IDWALK_CB_NOP);
BKE_LIB_FOREACHID_PROCESS_ID(data, snode->from, IDWALK_CB_NOP);
bNodeTreePath *path = static_cast<bNodeTreePath *>(snode->treepath.first);
BLI_assert(path == nullptr || path->nodetree == snode->nodetree);
if (is_embedded_nodetree) {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, snode->nodetree, IDWALK_CB_EMBEDDED_NOT_OWNING);
if (path != nullptr) {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, path->nodetree, IDWALK_CB_EMBEDDED_NOT_OWNING);
}
/* Embedded ID pointers are not remapped (besides exceptions), ensure it still matches
* actual data. Note that `snode->id` was already processed (and therefore potentially
* remapped) above. */
if (!is_readonly) {
snode->nodetree = (snode->id == nullptr) ? nullptr : ntreeFromID(snode->id);
if (path != nullptr) {
path->nodetree = snode->nodetree;
}
}
}
else {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, snode->nodetree, IDWALK_CB_USER_ONE);
if (path != nullptr) {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, path->nodetree, IDWALK_CB_USER_ONE);
}
}
/* Both `snode->id` and `snode->nodetree` have been remapped now, so their data can be
* accessed. */
BLI_assert(snode->id == nullptr || snode->nodetree == nullptr ||
(snode->nodetree->id.flag & LIB_EMBEDDED_DATA) == 0 ||
snode->nodetree == ntreeFromID(snode->id));
if (path != nullptr) {
for (path = path->next; path != nullptr; path = path->next) {
BLI_assert(path->nodetree != nullptr);
if ((data_flags & IDWALK_NO_ORIG_POINTERS_ACCESS) == 0) {
BLI_assert((path->nodetree->id.flag & LIB_EMBEDDED_DATA) == 0);
}
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, path->nodetree, IDWALK_CB_USER_ONE);
if (path->nodetree == nullptr) {
BLI_assert(!is_readonly);
/* Remaining path entries are invalid, remove them. */
for (bNodeTreePath *path_next; path; path = path_next) {
path_next = path->next;
BLI_remlink(&snode->treepath, path);
MEM_freeN(path);
}
break;
}
}
}
BLI_assert(path == nullptr);
if (!is_readonly) {
/* `edittree` is just the last in the path, set this directly since the path may have
* been shortened above. */
if (snode->treepath.last != nullptr) {
path = static_cast<bNodeTreePath *>(snode->treepath.last);
snode->edittree = path->nodetree;
}
else {
snode->edittree = nullptr;
}
}
else {
/* Only process this pointer in readonly case, otherwise could lead to a bad
* double-remapping e.g. */
if (is_embedded_nodetree && snode->edittree == snode->nodetree) {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(
data, snode->edittree, IDWALK_CB_EMBEDDED_NOT_OWNING);
}
else {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, snode->edittree, IDWALK_CB_NOP);
}
}
break;
}
case SPACE_CLIP: {
SpaceClip *sclip = (SpaceClip *)sl;
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, sclip->clip, IDWALK_CB_USER_ONE);
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, sclip->mask_info.mask, IDWALK_CB_USER_ONE);
if (!is_readonly) {
sclip->scopes.ok = 0;
}
break;
}
case SPACE_SPREADSHEET: {
SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl;
BKE_viewer_path_foreach_id(data, &sspreadsheet->viewer_path);
break;
}
default:
break;
if (space_type && space_type->foreach_id) {
space_type->foreach_id(sl, data);
}
}
}
@ -356,6 +128,9 @@ bool BKE_screen_blend_read_data(BlendDataReader *reader, bScreen *screen)
screen->regionbase.first = screen->regionbase.last = nullptr;
screen->context = nullptr;
screen->active_region = nullptr;
screen->animtimer = nullptr; /* saved in rare cases */
screen->tool_tip = nullptr;
screen->scrubbing = false;
BLO_read_data_address(reader, &screen->preview);
BKE_previewimg_blend_read(reader, screen->preview);
@ -376,10 +151,6 @@ static void screen_blend_read_lib(BlendLibReader *reader, ID *id)
/* deprecated, but needed for versioning (will be nullptr'ed then) */
BLO_read_id_address(reader, id, &screen->scene);
screen->animtimer = nullptr; /* saved in rare cases */
screen->tool_tip = nullptr;
screen->scrubbing = false;
LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
BKE_screen_area_blend_read_lib(reader, &screen->id, area);
}
@ -1415,6 +1186,8 @@ static void direct_link_area(BlendDataReader *reader, ScrArea *area)
BLI_listbase_clear(&area->handlers);
area->type = nullptr; /* spacetype callbacks */
memset(&area->runtime, 0x0, sizeof(area->runtime));
/* Should always be unset so that rna_Area_type_get works correctly. */
area->butspacetype = SPACE_EMPTY;
@ -1506,8 +1279,6 @@ void BKE_screen_area_blend_read_lib(BlendLibReader *reader, ID *parent_id, ScrAr
{
BLO_read_id_address(reader, parent_id, &area->full);
memset(&area->runtime, 0x0, sizeof(area->runtime));
LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {
SpaceType *space_type = BKE_spacetype_from_id(sl->spacetype);

View File

@ -37,9 +37,9 @@ enum {
#define BLI_buffer_at(buffer_, type_, index_) \
((((type_ *)(buffer_) \
->data)[(BLI_assert(sizeof(type_) == (buffer_)->elem_size)), \
(BLI_assert((int)(index_) >= 0 && (size_t)(index_) < (buffer_)->count)), \
index_]))
->data)[((BLI_assert(sizeof(type_) == (buffer_)->elem_size)), \
(BLI_assert((int)(index_) >= 0 && (size_t)(index_) < (buffer_)->count)), \
index_)]))
#define BLI_buffer_array(buffer_, type_) (&(BLI_buffer_at(buffer_, type_, 0)))
@ -50,8 +50,8 @@ enum {
((BLI_buffer_reinit(buffer_, new_count_), new_count_ ? BLI_buffer_array(buffer_, type_) : NULL))
#define BLI_buffer_append(buffer_, type_, val_) \
(BLI_buffer_resize(buffer_, (buffer_)->count + 1), \
(BLI_buffer_at(buffer_, type_, (buffer_)->count - 1) = val_))
((BLI_buffer_resize(buffer_, (buffer_)->count + 1), \
(BLI_buffer_at(buffer_, type_, (buffer_)->count - 1) = val_)))
#define BLI_buffer_clear(buffer_) \
{ \

View File

@ -171,6 +171,11 @@ template<typename T> inline T pow(const T &x, const T &power)
return std::pow(x, power);
}
template<typename T> inline T square(const T &a)
{
return a * a;
}
template<typename T> inline T exp(const T &x)
{
return std::exp(x);

View File

@ -206,6 +206,17 @@ template<typename T, int Size>
return result;
}
/** Per-element square. */
template<typename T, int Size>
[[nodiscard]] inline VecBase<T, Size> square(const VecBase<T, Size> &a)
{
VecBase<T, Size> result;
for (int i = 0; i < Size; i++) {
result[i] = math::square(a[i]);
}
return result;
}
/* Per-element exponent. */
template<typename T, int Size> [[nodiscard]] inline VecBase<T, Size> exp(const VecBase<T, Size> &x)
{

View File

@ -27,4 +27,4 @@ void CPPType::print_or_default(const void *value,
}
}
} // namespace blender
} // namespace blender

View File

@ -14,4 +14,4 @@ std::ostream &operator<<(std::ostream &stream, IndexRange range)
return stream;
}
} // namespace blender
} // namespace blender

View File

@ -42,4 +42,4 @@ std::ostream &operator<<(std::ostream &stream, const CartesianBasis &rot)
return stream << "CartesianBasis" << rot.axes;
}
} // namespace blender::math
} // namespace blender::math

View File

@ -20,4 +20,4 @@ std::ostream &operator<<(std::ostream &stream, StringRefNull ref)
return stream;
}
}
} // namespace blender

View File

@ -8,11 +8,11 @@
#include <iostream>
void blender::internal::vector_print_stats(StringRef name,
void *address,
int64_t size,
int64_t capacity,
int64_t inlineCapacity,
int64_t memorySize)
void *address,
int64_t size,
int64_t capacity,
int64_t inlineCapacity,
int64_t memorySize)
{
std::cout << "Vector Stats: " << name << "\n";
std::cout << " Address: " << address << "\n";

View File

@ -180,4 +180,13 @@ TEST(math_vector, exp)
EXPECT_NEAR(result.z, 20.085536923187668f, 1e-6f);
}
TEST(math_vector, square)
{
const float3 a(1.0f, 2.0f, 3.0f);
const float3 result = math::square(a);
EXPECT_NEAR(result.x, 1.0f, 1e-6f);
EXPECT_NEAR(result.y, 4.0f, 1e-6f);
EXPECT_NEAR(result.z, 9.0f, 1e-6f);
}
} // namespace blender::tests

View File

@ -629,16 +629,8 @@ static void do_versions_socket_default_value_259(bNodeSocket *sock)
}
}
static bool seq_sound_proxy_update_cb(Sequence *seq, void *user_data)
static bool seq_sound_proxy_update_cb(Sequence *seq, void * /*user_data*/)
{
Main *bmain = (Main *)user_data;
if (seq->type == SEQ_TYPE_SOUND_HD) {
char filepath_abs[FILE_MAX];
BLI_path_join(
filepath_abs, sizeof(filepath_abs), seq->strip->dirpath, seq->strip->stripdata->filename);
BLI_path_abs(filepath_abs, BKE_main_blendfile_path(bmain));
seq->sound = BKE_sound_new_file(bmain, filepath_abs);
}
#define SEQ_USE_PROXY_CUSTOM_DIR (1 << 19)
#define SEQ_USE_PROXY_CUSTOM_FILE (1 << 21)
/* don't know, if anybody used that this way, but just in case, upgrade to new way... */
@ -688,7 +680,7 @@ void blo_do_versions_250(FileData *fd, Library * /*lib*/, Main *bmain)
}
LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
if (scene->ed && scene->ed->seqbasep) {
if (scene->ed) {
SEQ_for_each_callback(&scene->ed->seqbase, seq_sound_proxy_update_cb, bmain);
}
}

View File

@ -255,7 +255,7 @@ static void seq_convert_transform_crop_lb(const Scene *scene,
{
LISTBASE_FOREACH (Sequence *, seq, lb) {
if (seq->type != SEQ_TYPE_SOUND_RAM) {
if (!ELEM(seq->type, SEQ_TYPE_SOUND_RAM, SEQ_TYPE_SOUND_HD)) {
seq_convert_transform_crop(scene, seq, render_size);
}
if (seq->type == SEQ_TYPE_META) {
@ -341,7 +341,7 @@ static void seq_convert_transform_crop_lb_2(const Scene *scene,
{
LISTBASE_FOREACH (Sequence *, seq, lb) {
if (seq->type != SEQ_TYPE_SOUND_RAM) {
if (!ELEM(seq->type, SEQ_TYPE_SOUND_RAM, SEQ_TYPE_SOUND_HD)) {
seq_convert_transform_crop_2(scene, seq, render_size);
}
if (seq->type == SEQ_TYPE_META) {

View File

@ -28,6 +28,8 @@
#include "BKE_node.hh"
#include "BKE_node_runtime.hh"
#include "SEQ_sequencer.h"
#include "MEM_guardedalloc.h"
#include "BLO_readfile.h"
@ -504,6 +506,14 @@ void do_versions_after_setup(Main *new_bmain, BlendFileReadReport *reports)
do_versions_ipos_to_animato(new_bmain);
}
if (!blendfile_or_libraries_versions_atleast(new_bmain, 250, 0)) {
LISTBASE_FOREACH (Scene *, scene, &new_bmain->scenes) {
if (scene->ed) {
SEQ_doversion_250_sound_proxy_update(new_bmain, scene->ed);
}
}
}
if (!blendfile_or_libraries_versions_atleast(new_bmain, 302, 1)) {
BKE_lib_override_library_main_proxy_convert(new_bmain, reports);
/* Currently liboverride code can generate invalid namemap. This is a known issue, requires

View File

@ -29,7 +29,9 @@ set(INC
../../../intern/clog
../../../intern/opensubdiv
)
set(INC_SYS
)
set(SRC

View File

@ -32,8 +32,8 @@ void main()
uvs = 2.0 * uvs - 1.0;
vec3 cubevec = x_axis[geom_iface.fFace] * uvs.x + y_axis[geom_iface.fFace] * uvs.y +
maj_axes[geom_iface.fFace];
vec3 cubevec = x_axis[geom_iface_flat.fFace] * uvs.x + y_axis[geom_iface_flat.fFace] * uvs.y +
maj_axes[geom_iface_flat.fFace];
FragColor = textureLod(source, cubevec, 0.0);
}

View File

@ -6,20 +6,23 @@
/* EEVEE_shaders_probe_filter_glossy_sh_get */
GPU_SHADER_INTERFACE_INFO(eevee_legacy_lightprobe_vert_geom_iface, "vert_iface")
.smooth(Type::VEC4, "vPos")
.smooth(Type::VEC4, "vPos");
GPU_SHADER_INTERFACE_INFO(eevee_legacy_lightprobe_vert_geom_flat_iface, "vert_iface_flat")
.flat(Type::INT, "face");
GPU_SHADER_INTERFACE_INFO(eevee_legacy_lightprobe_geom_frag_iface, "geom_iface")
.smooth(Type::VEC3, "worldPosition")
.smooth(Type::VEC3, "viewPosition")
.smooth(Type::VEC3, "worldNormal")
.smooth(Type::VEC3, "viewNormal")
.smooth(Type::VEC3, "viewNormal");
GPU_SHADER_INTERFACE_INFO(eevee_legacy_lightprobe_geom_frag_flat_iface, "geom_iface_flat")
.flat(Type::INT, "fFace");
GPU_SHADER_CREATE_INFO(eevee_legacy_lightprobe_vert)
.vertex_in(0, Type::VEC3, "pos")
.vertex_source("lightprobe_vert.glsl")
.vertex_out(eevee_legacy_lightprobe_vert_geom_iface)
.vertex_out(eevee_legacy_lightprobe_vert_geom_flat_iface)
.builtins(BuiltinBits::INSTANCE_ID);
#ifdef WITH_METAL_BACKEND
@ -28,12 +31,14 @@ GPU_SHADER_CREATE_INFO(eevee_legacy_lightprobe_vert_no_geom)
.push_constant(Type::INT, "Layer")
.vertex_source("lightprobe_vert_no_geom.glsl")
.vertex_out(eevee_legacy_lightprobe_geom_frag_iface)
.vertex_out(eevee_legacy_lightprobe_geom_frag_flat_iface)
.builtins(BuiltinBits::INSTANCE_ID);
#endif
GPU_SHADER_CREATE_INFO(eevee_legacy_lightprobe_geom)
.geometry_source("lightprobe_geom.glsl")
.geometry_out(eevee_legacy_lightprobe_geom_frag_iface)
.geometry_out(eevee_legacy_lightprobe_geom_frag_flat_iface)
.push_constant(Type::INT, "Layer")
.geometry_layout(PrimitiveIn::TRIANGLES, PrimitiveOut::TRIANGLE_STRIP, 3);
@ -208,8 +213,10 @@ GPU_SHADER_CREATE_INFO(eevee_legacy_studiolight_background)
GPU_SHADER_INTERFACE_INFO(eevee_legacy_probe_planar_downsample_vert_geom_iface,
"lightprobe_vert_iface")
.flat(Type::INT, "instance")
.smooth(Type::VEC2, "vPos");
GPU_SHADER_INTERFACE_INFO(eevee_legacy_probe_planar_downsample_vert_geom_flat_iface,
"lightprobe_vert_iface_flat")
.flat(Type::INT, "instance");
GPU_SHADER_INTERFACE_INFO(eevee_legacy_probe_planar_downsample_geom_frag_iface,
"lightprobe_geom_iface")
@ -219,6 +226,7 @@ GPU_SHADER_CREATE_INFO(eevee_legacy_lightprobe_planar_downsample_common)
.vertex_source("lightprobe_planar_downsample_vert.glsl")
.fragment_source("lightprobe_planar_downsample_frag.glsl")
.vertex_out(eevee_legacy_probe_planar_downsample_vert_geom_iface)
.vertex_out(eevee_legacy_probe_planar_downsample_vert_geom_flat_iface)
.sampler(0, ImageType::FLOAT_2D_ARRAY, "source")
.push_constant(Type::FLOAT, "fireflyFactor")
.fragment_out(0, Type::VEC4, "FragColor")

View File

@ -20,14 +20,14 @@ const vec3 y_axis[6] = vec3[6](vec3(0.0, -1.0, 0.0),
void main()
{
geom_iface.fFace = vert_iface[0].face;
gl_Layer = Layer + geom_iface.fFace;
geom_iface_flat.fFace = vert_iface_flat[0].face;
gl_Layer = Layer + geom_iface_flat.fFace;
for (int v = 0; v < 3; v++) {
gl_Position = vert_iface[v].vPos;
geom_iface.worldPosition = x_axis[geom_iface.fFace] * vert_iface[v].vPos.x +
y_axis[geom_iface.fFace] * vert_iface[v].vPos.y +
maj_axes[geom_iface.fFace];
geom_iface.worldPosition = x_axis[geom_iface_flat.fFace] * vert_iface[v].vPos.x +
y_axis[geom_iface_flat.fFace] * vert_iface[v].vPos.y +
maj_axes[geom_iface_flat.fFace];
EmitVertex();
}

View File

@ -4,8 +4,8 @@ layout(triangle_strip, max_vertices = 3) out;
void main()
{
gl_Layer = lightprobe_vert_iface[0].instance;
lightprobe_geom_iface.layer = float(lightprobe_vert_iface[0].instance);
gl_Layer = lightprobe_vert_iface_flat[0].instance;
lightprobe_geom_iface.layer = float(lightprobe_vert_iface_flat[0].instance);
gl_Position = vec4(lightprobe_vert_iface[0].vPos, 0.0, 1.0);
EmitVertex();

View File

@ -5,11 +5,11 @@ void main()
lightprobe_vert_iface.vPos.x = -1.0 + float((v & 1) << 2);
lightprobe_vert_iface.vPos.y = -1.0 + float((v & 2) << 1);
lightprobe_vert_iface.instance = gl_VertexID / 3;
lightprobe_vert_iface_flat.instance = gl_VertexID / 3;
#ifdef GPU_METAL
gpu_Layer = lightprobe_vert_iface.instance;
lightprobe_geom_iface.layer = float(lightprobe_vert_iface.instance);
gpu_Layer = lightprobe_vert_iface_flat.instance;
lightprobe_geom_iface.layer = float(lightprobe_vert_iface_flat.instance);
gl_Position = vec4(lightprobe_vert_iface.vPos, 0.0, 1.0);
#endif
}

View File

@ -2,5 +2,5 @@
void main()
{
vert_iface.vPos = vec4(pos, 1.0);
vert_iface.face = gl_InstanceID;
vert_iface_flat.face = gl_InstanceID;
}

View File

@ -22,14 +22,15 @@ void main()
vec3(0.0, 0.0, -1.0),
vec3(0.0, -1.0, 0.0),
vec3(0.0, -1.0, 0.0));
geom_iface.fFace = gl_InstanceID;
geom_iface_flat.fFace = gl_InstanceID;
gl_Position = vec4(pos.xyz, 1.0);
geom_iface.worldPosition = x_axis[geom_iface.fFace] * pos.x + y_axis[geom_iface.fFace] * pos.y +
maj_axes[geom_iface.fFace];
geom_iface.worldPosition = x_axis[geom_iface_flat.fFace] * pos.x +
y_axis[geom_iface_flat.fFace] * pos.y +
maj_axes[geom_iface_flat.fFace];
#ifdef GPU_METAL
/* In the Metal API, gl_Layer equivalent is specified in the vertex shader for multilayered
* rendering support. */
gpu_Layer = Layer + geom_iface.fFace;
gpu_Layer = Layer + geom_iface_flat.fFace;
#endif
}

View File

@ -184,7 +184,7 @@ int g_curves_attr_id = 0;
* based on the attribute scope (point or spline). */
int curves_attribute_element_id()
{
int id = interp.curves_strand_id;
int id = interp_flat.curves_strand_id;
if (drw_curves.is_point_attribute[g_curves_attr_id][0] != 0u) {
# ifdef COMMON_HAIR_LIB
id = hair_get_base_id();
@ -202,11 +202,11 @@ vec4 attr_load_tangent(samplerBuffer cd_buf)
}
vec3 attr_load_uv(samplerBuffer cd_buf)
{
return texelFetch(cd_buf, interp.curves_strand_id).rgb;
return texelFetch(cd_buf, interp_flat.curves_strand_id).rgb;
}
vec4 attr_load_color(samplerBuffer cd_buf)
{
return texelFetch(cd_buf, interp.curves_strand_id).rgba;
return texelFetch(cd_buf, interp_flat.curves_strand_id).rgba;
}
vec4 attr_load_vec4(samplerBuffer cd_buf)
{

View File

@ -12,24 +12,24 @@
void main()
{
vec4 coc4 = vec4(interp.color_and_coc1.w,
interp.color_and_coc2.w,
interp.color_and_coc3.w,
interp.color_and_coc4.w);
vec4 coc4 = vec4(interp_flat.color_and_coc1.w,
interp_flat.color_and_coc2.w,
interp_flat.color_and_coc3.w,
interp_flat.color_and_coc4.w);
vec4 shapes;
if (use_bokeh_lut) {
shapes = vec4(texture(bokeh_lut_tx, interp.rect_uv1).r,
texture(bokeh_lut_tx, interp.rect_uv2).r,
texture(bokeh_lut_tx, interp.rect_uv3).r,
texture(bokeh_lut_tx, interp.rect_uv4).r);
shapes = vec4(texture(bokeh_lut_tx, interp_noperspective.rect_uv1).r,
texture(bokeh_lut_tx, interp_noperspective.rect_uv2).r,
texture(bokeh_lut_tx, interp_noperspective.rect_uv3).r,
texture(bokeh_lut_tx, interp_noperspective.rect_uv4).r);
}
else {
shapes = vec4(length(interp.rect_uv1),
length(interp.rect_uv2),
length(interp.rect_uv3),
length(interp.rect_uv4));
shapes = vec4(length(interp_noperspective.rect_uv1),
length(interp_noperspective.rect_uv2),
length(interp_noperspective.rect_uv3),
length(interp_noperspective.rect_uv4));
}
shapes *= interp.distance_scale;
shapes *= interp_flat.distance_scale;
/* Becomes signed distance field in pixel units. */
shapes -= coc4;
/* Smooth the edges a bit to fade out the undersampling artifacts. */
@ -52,8 +52,8 @@ void main()
shapes *= variance * safe_rcp(variance + sqr(max(coc4 * correction_fac - mean, 0.0)));
}
out_color = (interp.color_and_coc1 * shapes[0] + interp.color_and_coc2 * shapes[1] +
interp.color_and_coc3 * shapes[2] + interp.color_and_coc4 * shapes[3]);
out_color = (interp_flat.color_and_coc1 * shapes[0] + interp_flat.color_and_coc2 * shapes[1] +
interp_flat.color_and_coc3 * shapes[2] + interp_flat.color_and_coc4 * shapes[3]);
/* Do not accumulate alpha. This has already been accumulated by the gather pass. */
out_color.a = 0.0;

View File

@ -12,10 +12,10 @@ void main()
{
ScatterRect rect = scatter_list_buf[gl_InstanceID];
interp.color_and_coc1 = rect.color_and_coc[0];
interp.color_and_coc2 = rect.color_and_coc[1];
interp.color_and_coc3 = rect.color_and_coc[2];
interp.color_and_coc4 = rect.color_and_coc[3];
interp_flat.color_and_coc1 = rect.color_and_coc[0];
interp_flat.color_and_coc2 = rect.color_and_coc[1];
interp_flat.color_and_coc3 = rect.color_and_coc[2];
interp_flat.color_and_coc4 = rect.color_and_coc[3];
vec2 uv = vec2(gl_VertexID & 1, gl_VertexID >> 1) * 2.0 - 1.0;
uv = uv * rect.half_extent;
@ -26,20 +26,20 @@ void main()
if (use_bokeh_lut) {
/* Bias scale to avoid sampling at the texture's border. */
interp.distance_scale = (float(DOF_BOKEH_LUT_SIZE) / float(DOF_BOKEH_LUT_SIZE - 1));
vec2 uv_div = 1.0 / (interp.distance_scale * abs(rect.half_extent));
interp.rect_uv1 = ((uv + quad_offsets[0]) * uv_div) * 0.5 + 0.5;
interp.rect_uv2 = ((uv + quad_offsets[1]) * uv_div) * 0.5 + 0.5;
interp.rect_uv3 = ((uv + quad_offsets[2]) * uv_div) * 0.5 + 0.5;
interp.rect_uv4 = ((uv + quad_offsets[3]) * uv_div) * 0.5 + 0.5;
interp_flat.distance_scale = (float(DOF_BOKEH_LUT_SIZE) / float(DOF_BOKEH_LUT_SIZE - 1));
vec2 uv_div = 1.0 / (interp_flat.distance_scale * abs(rect.half_extent));
interp_noperspective.rect_uv1 = ((uv + quad_offsets[0]) * uv_div) * 0.5 + 0.5;
interp_noperspective.rect_uv2 = ((uv + quad_offsets[1]) * uv_div) * 0.5 + 0.5;
interp_noperspective.rect_uv3 = ((uv + quad_offsets[2]) * uv_div) * 0.5 + 0.5;
interp_noperspective.rect_uv4 = ((uv + quad_offsets[3]) * uv_div) * 0.5 + 0.5;
/* Only for sampling. */
interp.distance_scale *= max_v2(abs(rect.half_extent));
interp_flat.distance_scale *= max_v2(abs(rect.half_extent));
}
else {
interp.distance_scale = 1.0;
interp.rect_uv1 = uv + quad_offsets[0];
interp.rect_uv2 = uv + quad_offsets[1];
interp.rect_uv3 = uv + quad_offsets[2];
interp.rect_uv4 = uv + quad_offsets[3];
interp_flat.distance_scale = 1.0;
interp_noperspective.rect_uv1 = uv + quad_offsets[0];
interp_noperspective.rect_uv2 = uv + quad_offsets[1];
interp_noperspective.rect_uv3 = uv + quad_offsets[2];
interp_noperspective.rect_uv4 = uv + quad_offsets[3];
}
}

View File

@ -29,7 +29,7 @@ void main()
interp.curves_time_width);
interp.N = cross(interp.curves_tangent, interp.curves_binormal);
interp.curves_strand_id = hair_get_strand_id();
interp_flat.curves_strand_id = hair_get_strand_id();
interp.barycentric_coords = hair_get_barycentric();
#ifdef MAT_VELOCITY
/* Due to the screen space nature of the vertex positioning, we compute only the motion of curve

View File

@ -16,7 +16,7 @@ void main()
init_interface();
point_cloud_interp.id = pointcloud_get_point_id();
point_cloud_interp_flat.id = pointcloud_get_point_id();
pointcloud_get_pos_and_radius(point_cloud_interp.position, point_cloud_interp.radius);
pointcloud_get_pos_and_nor(interp.P, interp.N);
#ifdef MAT_SHADOW
@ -30,7 +30,7 @@ void main()
#ifdef MAT_VELOCITY
vec3 lP = point_world_to_object(point_cloud_interp.position);
vec3 prv, nxt;
velocity_local_pos_get(lP, point_cloud_interp.id, prv, nxt);
velocity_local_pos_get(lP, point_cloud_interp_flat.id, prv, nxt);
/* FIXME(fclem): Evaluating before displacement avoid displacement being treated as motion but
* ignores motion from animated displacement. Supporting animated displacement motion vectors
* would require evaluating the nodetree multiple time with different nodetree UBOs evaluated at

View File

@ -86,7 +86,7 @@ vec3 lightprobe_irradiance_grid_bias_sample_coord(IrradianceGridData grid_data,
/* Biases. See McGuire's presentation. */
positional_weight += 0.001;
geometry_weight = square_f(geometry_weight) + 0.2 + grid_data.facing_bias;
geometry_weight = square(geometry_weight) + 0.2 + grid_data.facing_bias;
trilinear_weights[i] = saturate(positional_weight * geometry_weight * validity_weight);
total_weight += trilinear_weights[i];

View File

@ -81,7 +81,7 @@ void main()
continue;
}
float dist_sqr = length_squared(vec3(offset));
if (dist_sqr > square_f(dilation_radius)) {
if (dist_sqr > square(dilation_radius)) {
continue;
}
float weight = 1.0 / dist_sqr;

Some files were not shown because too many files have changed in this diff Show More