diff --git a/CMakeLists.txt b/CMakeLists.txt index b17664f2..88d6e473 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,7 @@ list(APPEND CMAKE_MESSAGE_CONTEXT ${PROJECT_NAME}) if(NOT DEFINED CMAKE_INSTALL_PREFIX OR ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr/local") set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/release) endif() + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/cmake) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/rats/cmake) @@ -92,4 +93,3 @@ if(GLD STREQUAL "$ENV{STUDIO}") GROUP_READ GROUP_WRITE WORLD_READ) endif() - diff --git a/CMakeMacOSPresets.json b/CMakeMacOSPresets.json index 0524fa1f..a4d98a50 100644 --- a/CMakeMacOSPresets.json +++ b/CMakeMacOSPresets.json @@ -5,8 +5,8 @@ "name": "macos-environment", "hidden": true, "environment": { - "DEPS_ROOT" : "${sourceParentDir}/installs", - "BUILD_DIR" : "${sourceParentDir}/build", + "DEPS_ROOT" : "/Applications/MoonRay/installs", + "BUILD_DIR" : "/Applications/MoonRay/build", "Boost_ROOT" : "$env{DEPS_ROOT}", "Libuuid_ROOT" : "$env{DEPS_ROOT}", "CppUnit_ROOT" : "$env{DEPS_ROOT}", @@ -20,17 +20,31 @@ "OPTIX_ROOT" : "$env{DEPS_ROOT}/optix", "PXR_USD_LOCATION" : "$env{DEPS_ROOT}", "PXR_INCLUDE_DIRS" : "$env{DEPS_ROOT}/include", + "PXR_BOOST_PYTHON_LIB" : "/Applications/Houdini/Houdini22.0.408/Frameworks/Houdini.framework/Versions/Current/Libraries/libhboost_python313-mt-a64.dylib", "Random123_ROOT" : "$env{DEPS_ROOT}", "ZLIB_ROOT" : "$env{DEPS_ROOT}", - "OIIO_PYTHON" : "$env{DEPS_ROOT}/lib/python3.9/site-packages" + "OIIO_PYTHON" : "$env{DEPS_ROOT}/lib/python3.13/site-packages" }, "cacheVariables": { "CMAKE_PREFIX_PATH": "$env{DEPS_ROOT}", - "CMAKE_CXX_FLAGS": "-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION -I${sourceParentDir}/building/macOS/houdini-usd-fixes", + "CMAKE_CXX_FLAGS": "-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION -DFMT_USE_NONTYPE_TEMPLATE_ARGS=0 -DFMT_USE_CONSTEXPR=0 -DFMT_CONSTEVAL= -I/Applications/MoonRay/source/openmoonray/building/macOS/houdini-usd-fixes", "CMAKE_IGNORE_PATH": "/opt/homebrew", "CMAKE_IGNORE_PREFIX_PATH": "/opt/homebrew", "CMAKE_POLICY_VERSION_MINIMUM": "3.5", - "Python_EXECUTABLE": "/usr/bin/python3" + "Python_EXECUTABLE": "/Applications/Houdini/Houdini22.0.408/Frameworks/Python.framework/Versions/3.13/Resources/Python.app/Contents/MacOS/Python", + "CMAKE_CXX_STANDARD": "20", + "BUILD_QT_APPS": "OFF", + "BUILD_MATERIALX_SHADERS": "ON", + "BUILD_TESTING": "OFF", + "SCENERDL2_BUILD_TESTING": "OFF", + "MOONRAY_BUILD_TESTING": "OFF", + "ARRAS4_CORE_BUILD_TESTING": "OFF", + "MOONRAY_USE_METAL": "OFF", + "BUILD_MOONRAY_SDR_PLUGINS": "OFF", + "BUILD_HD_COMMANDS": "OFF", + "Vulkan_INCLUDE_DIR": "$env{HOUDINI_INSTALL_DIR}/Frameworks/Houdini.framework/Versions/Current/Resources/toolkit/include", + "Vulkan_LIBRARY": "$env{HOUDINI_INSTALL_DIR}/Frameworks/Houdini.framework/Versions/Current/Libraries/libvulkan.dylib", + "CMAKE_ISPC_COMPILER": "$env{ISPC}" } }, { @@ -38,12 +52,12 @@ "hidden": true, "inherits": "macos-environment", "environment": { - "PREFIX_PXR" : "${sourceParentDir}/building/macOS/pxr-houdini", - "HOUDINI_INSTALL_DIR" : "/Applications/Houdini/Houdini20.0.751", + "PREFIX_PXR" : "/Applications/MoonRay/source/openmoonray/building/macOS/pxr-houdini", + "HOUDINI_INSTALL_DIR" : "/Applications/Houdini/Houdini22.0.408", "PXR_LIB_PREFIX" : "$env{HOUDINI_INSTALL_DIR}/Frameworks/Houdini.framework/Versions/Current/Libraries", "PXR_INCLUDE_PREFIX" : "$env{HOUDINI_INSTALL_DIR}/Frameworks/Houdini.framework/Versions/Current/Resources/toolkit/include", "PXR_DEPS_PREFIX" : "$env{DEPS_ROOT}", - "PXR_BOOST_PYTHON_LIB" : "$env{HOUDINI_INSTALL_DIR}/Frameworks/Houdini.framework/Versions/Current/Libraries/libhboost_python39-mt-a64.dylib" + "PXR_BOOST_PYTHON_LIB" : "$env{HOUDINI_INSTALL_DIR}/Frameworks/Houdini.framework/Versions/Current/Libraries/libhboost_python313-mt-a64.dylib" }, "cacheVariables": { "CMAKE_PREFIX_PATH": "$env{DEPS_ROOT};$env{PREFIX_PXR}", @@ -57,7 +71,7 @@ "binaryDir": "$env{BUILD_DIR}", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", - "CMAKE_INSTALL_PREFIX": "${sourceParentDir}/installs/openmoonray" + "CMAKE_INSTALL_PREFIX": "/Applications/MoonRay/installs/openmoonray" }, "generator": "Xcode" }, @@ -68,9 +82,9 @@ "binaryDir": "$env{BUILD_DIR}", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", - "CMAKE_INSTALL_PREFIX": "${sourceParentDir}/installs/openmoonray" + "CMAKE_INSTALL_PREFIX": "/Applications/MoonRay/installs/openmoonray" }, - "generator": "Xcode" + "generator": "Unix Makefiles" } ], "buildPresets": [ diff --git a/building/macOS/Boost-no-numpy.patch b/building/macOS/Boost-no-numpy.patch new file mode 100644 index 00000000..f9cef76b --- /dev/null +++ b/building/macOS/Boost-no-numpy.patch @@ -0,0 +1,6 @@ +diff --git a/libs/python/build/Jamfile b/libs/python/build/Jamfile +--- a/libs/python/build/Jamfile ++++ b/libs/python/build/Jamfile +@@ -136,1 +136,1 @@ +-if [ python.configured ] && [ python.numpy ] ++if "" diff --git a/building/macOS/CMakeLists.txt b/building/macOS/CMakeLists.txt index 00085e2f..640a814b 100644 --- a/building/macOS/CMakeLists.txt +++ b/building/macOS/CMakeLists.txt @@ -37,8 +37,10 @@ set(THIS_DIR ${CMAKE_CURRENT_SOURCE_DIR}) # User configurable settings set(InstallRoot ${rootSrcDir}/../../../../installs CACHE FILEPATH "Install root for dependencies") -set(PythonVer 3.9.6 CACHE STRING "Python version (n.m), e.g. 3.6") -set(PythonRoot /usr CACHE FILEPATH "Location of Python install") +set(HoudiniInstallRoot "/Applications/Houdini/Houdini22.0.408" CACHE PATH "Houdini installation root") +set(PythonVer 3.13.10 CACHE STRING "Python version (n.m), e.g. 3.6") +set(PythonRoot "${HoudiniInstallRoot}/Frameworks/Python.framework/Versions/3.13" CACHE FILEPATH "Location of Python install") +set(HoudiniPython "${PythonRoot}/Resources/Python.app/Contents/MacOS/Python" CACHE FILEPATH "Houdini Python executable") # Arguments shared by every CMake-based dependency: policy floor for CMake 4, # find dependencies only in ${InstallRoot}, never in homebrew, and install @@ -61,13 +63,14 @@ ExternalProject_Add(Blosc set(CHAIN Blosc) ExternalProject_Add(Boost - URL https://archives.boost.io/release/1.78.0/source/boost_1_78_0.tar.gz - https://downloads.sourceforge.net/project/boost/boost/1.78.0/boost_1_78_0.tar.gz - URL_HASH SHA256=94ced8b72956591c4775ae2207a9763d3600b30d9d7446562c552f0a14a63be7 - UPDATE_COMMAND ./bootstrap.sh --prefix=${InstallRoot} --with-libraries=python,filesystem,system,thread,regex,date_time,chrono,program_options,iostreams --with-toolset=clang linkflags="-arch ${BOOST_ARCH}" + URL https://archives.boost.io/release/1.88.0/source/boost_1_88_0.tar.gz + https://downloads.sourceforge.net/project/boost/boost/1.88.0/boost_1_88_0.tar.gz + UPDATE_COMMAND ./bootstrap.sh --prefix=${InstallRoot} --with-toolset=clang linkflags="-arch ${BOOST_ARCH}" CONFIGURE_COMMAND "" PATCH_COMMAND patch -p3 -N < ${THIS_DIR}/Boost.patch || true - BUILD_COMMAND ./b2 install ${JOBS_ARG} --user-config=${THIS_DIR}/user-config.jam variant=release link=shared threading=multi define=BOOST_UNORDERED_HAVE_PIECEWISE_CONSTRUCT=0 + COMMAND patch -p1 -N < ${THIS_DIR}/Boost-no-numpy.patch || true + COMMAND /usr/bin/perl -0pi -e "s/boost-install boost_python boost_numpy/boost-install boost_python/" libs/python/build/Jamfile + BUILD_COMMAND ./b2 install ${JOBS_ARG} --user-config=${THIS_DIR}/user-config.jam --with-python --with-iostreams --with-atomic --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-system --with-thread variant=release link=shared threading=multi architecture=arm address-model=64 define=BOOST_UNORDERED_HAVE_PIECEWISE_CONSTRUCT=0 BUILD_IN_SOURCE 1 INSTALL_COMMAND "" DEPENDS ${CHAIN} @@ -112,7 +115,7 @@ set(CHAIN MicroHttpd) ExternalProject_Add(OpenSubdiv GIT_REPOSITORY https://github.com/PixarAnimationStudios/OpenSubdiv - GIT_TAG 8ffa2b6566be10209529d7a0d1db02a0796b160c # v3_5_0 + GIT_TAG 4951f30c00f395aa831a9fc42577cc28ce46fa81 # v3_7_0 BUILD_COMMAND make ${JOBS_ARG} CMAKE_ARGS ${COMMON_CMAKE_ARGS} @@ -123,41 +126,67 @@ ExternalProject_Add(OpenSubdiv ) set(CHAIN OpenSubdiv) +ExternalProject_Add(Imath + GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/Imath + GIT_TAG 1e480d11cb98b032a2dece9b9a8730512effc7f6 # v3.2.2 + BUILD_COMMAND make ${JOBS_ARG} + CMAKE_ARGS + ${COMMON_CMAKE_ARGS} + -DCMAKE_BUILD_TYPE=Release + -DBUILD_TESTING=OFF + -DIMATH_INSTALL_PKG_CONFIG=ON + DEPENDS ${CHAIN} +) +set(CHAIN Imath) + ExternalProject_Add(OpenEXR GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/openexr - GIT_TAG 8bc3741131db146ad08a5b83af9e6e48f0e94a03 # v2.5.7 - PATCH_COMMAND patch IlmBase/Half/CMakeLists.txt ${THIS_DIR}/../Imath_include_paths.patch + GIT_TAG 4b7ce9c503d0b069f58f07f915f7682c4030cbf1 # v3.4.3 BUILD_COMMAND make ${JOBS_ARG} CMAKE_ARGS ${COMMON_CMAKE_ARGS} - -DBoost_ROOT=${InstallRoot} - -DBUILD_SHARED_LIBS=OFF + -DImath_ROOT=${InstallRoot} + -DImath_DIR=${InstallRoot}/lib/cmake/Imath + -DCMAKE_BUILD_TYPE=Release + -DBUILD_SHARED_LIBS=ON + -DOPENEXR_BUILD_TOOLS=OFF + -DOPENEXR_BUILD_EXAMPLES=OFF + -DOPENEXR_BUILD_TESTS=OFF + -DOPENEXR_BUILD_PYTHON=OFF + -DOPENEXR_INSTALL_EXAMPLES=OFF DEPENDS ${CHAIN} ) set(CHAIN OpenEXR) ExternalProject_Add(TBB - URL https://github.com/oneapi-src/oneTBB/archive/2020_U3.tar.gz - URL_HASH SHA256=2103cc6238c935664f87680618f6684d57501d4a2fa8ea8f6c97ad6ff7dc722a - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND "" - BUILD_COMMAND make ${JOBS_ARG} arch=arm64 - INSTALL_COMMAND bash -c "cp build/*_release/libtbb*.* ${InstallRoot}/lib" - COMMAND bash -c "cp -r include/tbb ${InstallRoot}/include" + GIT_REPOSITORY https://github.com/oneapi-src/oneTBB.git + GIT_TAG 45587e94dfb6dfe00220c5f520020a5bc745e92f # v2022.1.0 + BUILD_COMMAND ${CMAKE_COMMAND} --build --config Release --parallel ${N} + INSTALL_COMMAND ${CMAKE_COMMAND} --install --config Release + CMAKE_ARGS + ${COMMON_CMAKE_ARGS} + -DCMAKE_BUILD_TYPE=Release + -DTBB_TEST=OFF + -DTBB_EXAMPLES=OFF + -DTBB_STRICT=OFF DEPENDS ${CHAIN} ) set(CHAIN TBB) ExternalProject_Add(OpenVDB GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/openvdb - GIT_TAG ab935574cdb25c3df66b068fce2a3b0a74281c54 # v9.1.0 - PATCH_COMMAND patch -p1 -N < ${THIS_DIR}/OpenVDB.patch || true + GIT_TAG 7c03e1f084873cd1b3422c7ff7aec6ee681b3b38 # v13.0.0 BUILD_COMMAND make ${JOBS_ARG} CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DBlosc_ROOT=${InstallRoot} -DBoost_ROOT=${InstallRoot} -DTBB_ROOT=${InstallRoot} + -DCMAKE_BUILD_TYPE=Release + -DOPENVDB_BUILD_BINARIES=OFF + -DOPENVDB_BUILD_UNITTESTS=OFF + -DOPENVDB_BUILD_PYTHON_MODULE=OFF + -DOPENVDB_BUILD_NANOVDB=OFF DEPENDS ${CHAIN} ) set(CHAIN OpenVDB) @@ -233,7 +262,7 @@ set(CHAIN embree) ExternalProject_Add(OpenColorIO GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/OpenColorIO - GIT_TAG 056b7b0cb0d087961e9dba75104820e44faf52a1 # v2.0.2 + GIT_TAG 592a122b37467c3376f2387fbbdbe7b571fad39f # v2.5.0 BUILD_COMMAND ${CMAKE_COMMAND} -E env ${POLICY_MIN_ENV} make ${JOBS_ARG} CMAKE_ARGS ${COMMON_CMAKE_ARGS} @@ -245,7 +274,7 @@ ExternalProject_Add(OpenColorIO -DOCIO_BUILD_PYTHON=OFF -DBUILD_SHARED_LIBS=ON -DOCIO_BUILD_STATIC=OFF - -DCMAKE_CXX_STANDARD=17 + -DCMAKE_CXX_STANDARD=20 DEPENDS ${CHAIN} ) set(CHAIN OpenColorIO) @@ -286,33 +315,49 @@ set(CHAIN pybind11) ExternalProject_Add(OpenImageIO GIT_REPOSITORY https://github.com/OpenImageIO/oiio - GIT_TAG 331a323468928c8017ad048b26d47c4e57a724a7 # 2.3.20.0 + GIT_TAG 372c57696909513a8ea97180cb34b925c4fe09e3 # v2.5.18.0 BUILD_COMMAND make ${JOBS_ARG} CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DBoost_ROOT=${InstallRoot} -DIMath_ROOT=${InstallRoot} + -DImath_DIR=${InstallRoot}/lib/cmake/Imath -DDISABLE_CMAKE_SEARCH_PATHS=TRUE -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=TRUE -DOpenEXR_ROOT=${InstallRoot} + -DOpenEXR_DIR=${InstallRoot}/lib/cmake/OpenEXR + -DOpenColorIO_ROOT=${InstallRoot} + -DTBB_ROOT=${InstallRoot} + -DCMAKE_BUILD_TYPE=Release -DUSE_QT=0 -DUSE_PYTHON=1 - -DPython_EXECUTABLE=/usr/bin/python3 + -DPython_EXECUTABLE=${HoudiniPython} + -DPython_ROOT=${PythonRoot} + -DPython_LIBRARIES=${PythonRoot}/lib/libpython3.13.dylib + -DPython_INCLUDE_DIR=${PythonRoot}/include/python3.13 + -DUSE_OPENVDB=0 + -DUSE_FFMPEG=0 + -DUSE_OPENCV=0 + -DUSE_WEBP=0 + -DUSE_DCMTK=0 + -DUSE_OPENJPEG=0 + -DUSE_TESTS=0 DEPENDS ${CHAIN} ) set(CHAIN OpenImageIO) ExternalProject_Add(OpenImageDenoise - URL https://github.com/OpenImageDenoise/oidn/releases/download/v2.2.0/oidn-2.2.0.arm64.macos.tar.gz - URL_HASH SHA256=16cdaddabeb0f2af22fc8e466317c1a14a54b6ec03db2ac343e17fad40c70f3f + URL https://github.com/OpenImageDenoise/oidn/releases/download/v2.3.3/oidn-2.3.3.arm64.macos.tar.gz BUILD_COMMAND "" CONFIGURE_COMMAND "" - INSTALL_COMMAND bash -c "rm -f ../OpenImageDenoise/lib/libtbb.dylib" + INSTALL_COMMAND bash -c "rm -f ../OpenImageDenoise/lib/libtbb*.dylib" COMMAND bash -c "ditto ../OpenImageDenoise ${InstallRoot}" DEPENDS ${CHAIN} ) set(CHAIN OpenImageDenoise) +option(NO_QT "Skip building the Qt dependency" OFF) +if(NOT NO_QT) ExternalProject_Add(qt5 GIT_REPOSITORY https://code.qt.io/qt/qt5.git GIT_SUBMODULES_RECURSE false @@ -327,6 +372,22 @@ ExternalProject_Add(qt5 DEPENDS ${CHAIN} ) set(CHAIN qt5) +endif() + +ExternalProject_Add(MaterialX + GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/MaterialX + GIT_TAG 7b64921ef1d42f2d57871e9d2c43dc11f041f26b # v1.39.5 + BUILD_COMMAND make ${JOBS_ARG} + CMAKE_ARGS + ${COMMON_CMAKE_ARGS} + -DMATERIALX_BUILD_PYTHON=OFF + -DMATERIALX_BUILD_TESTS=OFF + -DMATERIALX_BUILD_VIEWER=OFF + -DMATERIALX_BUILD_GRAPH_EDITOR=OFF + -DCMAKE_BUILD_TYPE=Release + DEPENDS ${CHAIN} +) +set(CHAIN MaterialX) if(NOT NO_USD) ExternalProject_Add(USD @@ -379,6 +440,8 @@ set(CHAIN libuuid) ExternalProject_Add(OpenSSL GIT_REPOSITORY https://github.com/openssl/openssl.git + GIT_SHALLOW TRUE + GIT_SUBMODULES "" # GIT_TAG a92271e03a8d0dee507b6f1e7f49512568b2c7ad # 3.1.0 - contains a bug on Apple Silicon GIT_TAG 31157bc0b46e04227b8468d3e6915e4d0332777c # 3.0.8 CONFIGURE_COMMAND ./Configure darwin64-arm64 --prefix=${InstallRoot} --openssldir=${InstallRoot} -rpath ${InstallRoot}/lib @@ -432,4 +495,3 @@ ExternalProject_Add(GLFW DEPENDS ${CHAIN} ) set(CHAIN GLFW) - diff --git a/building/macOS/houdini-usd-fixes/boost/asio/io_service.hpp b/building/macOS/houdini-usd-fixes/boost/asio/io_service.hpp new file mode 100644 index 00000000..47282e93 --- /dev/null +++ b/building/macOS/houdini-usd-fixes/boost/asio/io_service.hpp @@ -0,0 +1,8 @@ +// Compatibility shim for Boost 1.88, which folded io_service into io_context. +#pragma once + +#include + +namespace boost::asio { +using io_service = io_context; +} diff --git a/building/macOS/pxr-houdini/pxrConfig.cmake b/building/macOS/pxr-houdini/pxrConfig.cmake index 28237a87..7cf0ae0f 100644 --- a/building/macOS/pxr-houdini/pxrConfig.cmake +++ b/building/macOS/pxr-houdini/pxrConfig.cmake @@ -17,12 +17,12 @@ get_filename_component(PXR_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) set(PXR_MAJOR_VERSION "0") -set(PXR_MINOR_VERSION "22") +set(PXR_MINOR_VERSION "26") set(PXR_PATCH_VERSION "5") -set(PXR_VERSION "2205") +set(PXR_VERSION "2605") include("${PXR_CMAKE_DIR}/pxrTargets.cmake") -set(libs "arch;tf;gf;js;trace;work;plug;vt;ar;kind;sdf;ndr;sdr;pcp;usd;usdGeom;usdVol;usdMedia;usdShade;usdLux;usdRender;usdHydra;usdRi;usdSkel;usdUI;usdUtils;usdPhysics;garch;hf;hio;cameraUtil;pxOsd;glf;hgi;hgiGL;hgiInterop;hd;hdSt;hdx;usdImaging;usdImagingGL;usdRiImaging;usdSkelImaging;usdVolImaging;usdAppUtils;usdviewq") +set(libs "arch;tf;gf;js;trace;work;plug;vt;ar;kind;sdf;sdr;pcp;usd;usdGeom;usdVol;usdMedia;usdShade;usdLux;usdRender;usdHydra;usdRi;usdSkel;usdUI;usdUtils;usdPhysics;garch;hf;hio;cameraUtil;pxOsd;glf;hgi;hgiGL;hgiInterop;hd;hdsi;hdSt;hdx;hdMtlx;usdImaging;usdImagingGL;usdSkelImaging;usdVolImaging;usdAppUtils;usdMtlx") set(PXR_LIBRARIES "") set(PXR_INCLUDE_DIRS "$ENV{PXR_INCLUDE_PREFIX}") string(REPLACE " " ";" libs "${libs}") diff --git a/building/macOS/pxr-houdini/pxrTargets-release.cmake b/building/macOS/pxr-houdini/pxrTargets-release.cmake index ae3a89da..e56ea95a 100644 --- a/building/macOS/pxr-houdini/pxrTargets-release.cmake +++ b/building/macOS/pxr-houdini/pxrTargets-release.cmake @@ -118,16 +118,6 @@ set_target_properties(sdf PROPERTIES list(APPEND _IMPORT_CHECK_TARGETS sdf ) list(APPEND _IMPORT_CHECK_FILES_FOR_sdf "${_LIB_PREFIX}/libpxr_sdf.dylib" ) -# Import target "ndr" for configuration "Release" -set_property(TARGET ndr APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(ndr PROPERTIES - IMPORTED_LOCATION_RELEASE "${_LIB_PREFIX}/libpxr_ndr.dylib" - IMPORTED_SONAME_RELEASE "libpxr_ndr.dylib" - ) - -list(APPEND _IMPORT_CHECK_TARGETS ndr ) -list(APPEND _IMPORT_CHECK_FILES_FOR_ndr "${_LIB_PREFIX}/libpxr_ndr.dylib" ) - # Import target "sdr" for configuration "Release" set_property(TARGET sdr APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(sdr PROPERTIES @@ -378,6 +368,23 @@ set_target_properties(hd PROPERTIES list(APPEND _IMPORT_CHECK_TARGETS hd ) list(APPEND _IMPORT_CHECK_FILES_FOR_hd "${_LIB_PREFIX}/libpxr_hd.dylib" ) +# Import target "hdSt" for configuration "Release" +set_property(TARGET hdsi APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(hdsi PROPERTIES + IMPORTED_LOCATION_RELEASE "${_LIB_PREFIX}/libpxr_hdsi.dylib" + IMPORTED_SONAME_RELEASE "libpxr_hdsi.dylib" + ) +list(APPEND _IMPORT_CHECK_TARGETS hdsi ) +list(APPEND _IMPORT_CHECK_FILES_FOR_hdsi "${_LIB_PREFIX}/libpxr_hdsi.dylib" ) + +set_property(TARGET hdMtlx APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(hdMtlx PROPERTIES + IMPORTED_LOCATION_RELEASE "${_LIB_PREFIX}/libpxr_hdMtlx.dylib" + IMPORTED_SONAME_RELEASE "libpxr_hdMtlx.dylib" + ) +list(APPEND _IMPORT_CHECK_TARGETS hdMtlx ) +list(APPEND _IMPORT_CHECK_FILES_FOR_hdMtlx "${_LIB_PREFIX}/libpxr_hdMtlx.dylib" ) + # Import target "hdSt" for configuration "Release" set_property(TARGET hdSt APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(hdSt PROPERTIES @@ -398,6 +405,15 @@ set_target_properties(hdx PROPERTIES list(APPEND _IMPORT_CHECK_TARGETS hdx ) list(APPEND _IMPORT_CHECK_FILES_FOR_hdx "${_LIB_PREFIX}/libpxr_hdx.dylib" ) +# Import target "usdImaging" for configuration "Release" +set_property(TARGET usdMtlx APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(usdMtlx PROPERTIES + IMPORTED_LOCATION_RELEASE "${_LIB_PREFIX}/libpxr_usdMtlx.dylib" + IMPORTED_SONAME_RELEASE "libpxr_usdMtlx.dylib" + ) +list(APPEND _IMPORT_CHECK_TARGETS usdMtlx ) +list(APPEND _IMPORT_CHECK_FILES_FOR_usdMtlx "${_LIB_PREFIX}/libpxr_usdMtlx.dylib" ) + # Import target "usdImaging" for configuration "Release" set_property(TARGET usdImaging APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(usdImaging PROPERTIES @@ -418,16 +434,6 @@ set_target_properties(usdImagingGL PROPERTIES list(APPEND _IMPORT_CHECK_TARGETS usdImagingGL ) list(APPEND _IMPORT_CHECK_FILES_FOR_usdImagingGL "${_LIB_PREFIX}/libpxr_usdImagingGL.dylib" ) -# Import target "usdRiImaging" for configuration "Release" -set_property(TARGET usdRiImaging APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(usdRiImaging PROPERTIES - IMPORTED_LOCATION_RELEASE "${_LIB_PREFIX}/libpxr_usdRiImaging.dylib" - IMPORTED_SONAME_RELEASE "libpxr_usdRiImaging.dylib" - ) - -list(APPEND _IMPORT_CHECK_TARGETS usdRiImaging ) -list(APPEND _IMPORT_CHECK_FILES_FOR_usdRiImaging "${_LIB_PREFIX}/libpxr_usdRiImaging.dylib" ) - # Import target "usdSkelImaging" for configuration "Release" set_property(TARGET usdSkelImaging APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(usdSkelImaging PROPERTIES diff --git a/building/macOS/pxr-houdini/pxrTargets.cmake b/building/macOS/pxr-houdini/pxrTargets.cmake index f3cd6feb..adfbb7aa 100644 --- a/building/macOS/pxr-houdini/pxrTargets.cmake +++ b/building/macOS/pxr-houdini/pxrTargets.cmake @@ -17,14 +17,14 @@ cmake_policy(VERSION 2.6...3.21) # Commands may need to know the format version. set(CMAKE_IMPORT_FILE_VERSION 1) -SET(HPYTHONLIB $ENV{HOUDINI_INSTALL_DIR}/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib) -SET(HPYTHONINC $ENV{HOUDINI_INSTALL_DIR}/Frameworks/Python.framework/Versions/3.9/include/python3.9) +SET(HPYTHONLIB $ENV{HOUDINI_INSTALL_DIR}/Frameworks/Python.framework/Versions/3.13/lib/libpython3.13.dylib) +SET(HPYTHONINC $ENV{HOUDINI_INSTALL_DIR}/Frameworks/Python.framework/Versions/3.13/include/python3.13) # Protect against multiple inclusion, which would fail when already imported targets are added once more. set(_targetsDefined) set(_targetsNotDefined) set(_expectedTargets) -foreach(_expectedTarget arch tf gf js trace work plug vt ar kind sdf ndr sdr pcp usd usdGeom usdVol usdMedia usdShade usdLux usdRender usdHydra usdRi usdSkel usdUI usdUtils usdPhysics garch hf hio cameraUtil pxOsd glf hgi hgiGL hgiInterop hd hdSt hdx usdImaging usdImagingGL usdRiImaging usdSkelImaging usdVolImaging usdAppUtils usdviewq) +foreach(_expectedTarget arch tf gf js trace work plug vt ar kind sdf sdr pcp usd usdGeom usdVol usdMedia usdShade usdLux usdRender usdHydra usdRi usdSkel usdUI usdUtils usdPhysics garch hf hio cameraUtil pxOsd glf hgi hgiGL hgiInterop hd hdsi hdSt hdx hdMtlx usdImaging usdImagingGL usdSkelImaging usdVolImaging usdAppUtils usdMtlx usdviewq) list(APPEND _expectedTargets ${_expectedTarget}) if(NOT TARGET ${_expectedTarget}) list(APPEND _targetsNotDefined ${_expectedTarget}) @@ -161,23 +161,13 @@ set_target_properties(sdf PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" ) -# Create imported target ndr -add_library(ndr SHARED IMPORTED) - -set_target_properties(ndr PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" - INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" - INTERFACE_LINK_LIBRARIES "tf;plug;vt;work;ar;sdf;${_BOOST_PYTHON_LIB}" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" -) - # Create imported target sdr add_library(sdr SHARED IMPORTED) set_target_properties(sdr PROPERTIES INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" - INTERFACE_LINK_LIBRARIES "tf;vt;ar;ndr;sdf;${_BOOST_PYTHON_LIB}" + INTERFACE_LINK_LIBRARIES "tf;vt;ar;sdf;${_BOOST_PYTHON_LIB}" INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" ) @@ -235,7 +225,7 @@ add_library(usdShade SHARED IMPORTED) set_target_properties(usdShade PROPERTIES INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" - INTERFACE_LINK_LIBRARIES "tf;vt;sdf;ndr;sdr;usd;usdGeom" + INTERFACE_LINK_LIBRARIES "tf;vt;sdf;sdr;usd;usdGeom" ) # Create imported target usdLux @@ -244,7 +234,7 @@ add_library(usdLux SHARED IMPORTED) set_target_properties(usdLux PROPERTIES INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" - INTERFACE_LINK_LIBRARIES "tf;vt;ndr;sdf;usd;usdGeom;usdShade" + INTERFACE_LINK_LIBRARIES "tf;vt;sdf;usd;usdGeom;usdShade" ) # Create imported target usdRender @@ -409,6 +399,26 @@ set_target_properties(hd PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" ) +# Create imported target hdSt +add_library(hdsi SHARED IMPORTED) + +set_target_properties(hdsi PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" + INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" + INTERFACE_LINK_LIBRARIES "hd;tf;plug;vt;sdf;usd;usdGeom;usdShade;usdImaging" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" +) + +# Create imported target hdMtlx +add_library(hdMtlx SHARED IMPORTED) + +set_target_properties(hdMtlx PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" + INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" + INTERFACE_LINK_LIBRARIES "hd;hdsi;sdr;usd;usdShade;usdMtlx" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" +) + # Create imported target hdSt add_library(hdSt SHARED IMPORTED) @@ -428,6 +438,16 @@ set_target_properties(hdx PROPERTIES INTERFACE_LINK_LIBRARIES "plug;tf;vt;gf;work;garch;glf;pxOsd;hd;hdSt;hgi;hgiInterop;cameraUtil;sdf" ) +# Create imported target usdImaging +add_library(usdMtlx SHARED IMPORTED) + +set_target_properties(usdMtlx PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" + INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" + INTERFACE_LINK_LIBRARIES "usd;usdShade;usdGeom;${_BOOST_PYTHON_LIB}" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" +) + # Create imported target usdImaging add_library(usdImaging SHARED IMPORTED) @@ -448,16 +468,6 @@ set_target_properties(usdImagingGL PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${HPYTHONINC};${_DEPS_PREFIX}/include" ) -# Create imported target usdRiImaging -add_library(usdRiImaging SHARED IMPORTED) - -set_target_properties(usdRiImaging PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" - INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" - INTERFACE_LINK_LIBRARIES "gf;tf;plug;trace;vt;work;hd;pxOsd;sdf;usd;usdGeom;usdLux;usdShade;usdImaging;usdVol;ar;${_DEPS_PREFIX}/lib/libtbb${CMAKE_SHARED_LIBRARY_SUFFIX}" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" -) - # Create imported target usdSkelImaging add_library(usdSkelImaging SHARED IMPORTED) @@ -491,9 +501,9 @@ add_library(usdviewq SHARED IMPORTED) set_target_properties(usdviewq PROPERTIES INTERFACE_COMPILE_DEFINITIONS "PXR_PYTHON_ENABLED=1" - INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX}" - INTERFACE_LINK_LIBRARIES "tf;usd;usdGeom;${_BOOST_PYTHON_LIB}" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_DEPS_PREFIX}/include" + INTERFACE_INCLUDE_DIRECTORIES "${_INCLUDE_PREFIX};${HPYTHONINC}" + INTERFACE_LINK_LIBRARIES "tf;usd;usdGeom;hd;${_BOOST_PYTHON_LIB};${HPYTHONLIB}" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${HPYTHONINC};${_DEPS_PREFIX}/include" ) if(CMAKE_VERSION VERSION_LESS 2.8.12) diff --git a/building/macOS/user-config.jam b/building/macOS/user-config.jam index dd729f78..bf3dd2aa 100644 --- a/building/macOS/user-config.jam +++ b/building/macOS/user-config.jam @@ -1,6 +1,6 @@ -using python : 3.9 - : "/Library/Developer/CommandLineTools/usr/bin/python3" - : "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Headers" - : "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib" +using python : 3.13 + : "/Applications/Houdini/Houdini22.0.408/Frameworks/Python.framework/Versions/3.13/Resources/Python.app/Contents/MacOS/Python" + : "/Applications/Houdini/Houdini22.0.408/Frameworks/Python.framework/Versions/3.13/include/python3.13" + : "/Applications/Houdini/Houdini22.0.408/Frameworks/Python.framework/Versions/3.13/lib" ; using clang : : : -"arch arm64" "-arch arm64" ; diff --git a/moonray/hydra/CMakeLists.txt b/moonray/hydra/CMakeLists.txt index d088089e..7efbd028 100644 --- a/moonray/hydra/CMakeLists.txt +++ b/moonray/hydra/CMakeLists.txt @@ -2,4 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 add_subdirectory(hdMoonray) -add_subdirectory(moonray_sdr_plugins) +option(BUILD_MOONRAY_SDR_PLUGINS "Build the legacy MoonRay SDR plugins" ON) +if(BUILD_MOONRAY_SDR_PLUGINS) + add_subdirectory(moonray_sdr_plugins) +endif()