diff --git a/.gitignore b/.gitignore index 212afa3..6297f0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ -build -install +build/ +install/ +build_venv/ +imgui.ini .vscode -.DS_Store \ No newline at end of file +.DS_Store diff --git a/.gitmodules b/.gitmodules index 5376241..ae4ffb7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -17,3 +17,9 @@ [submodule "vendors/glew"] path = vendors/glew url = https://github.com/Perlmint/glew-cmake.git +[submodule "vendors/OpenUSD"] + path = vendors/OpenUSD + url = https://github.com/PixarAnimationStudios/OpenUSD.git +[submodule "vendors/OpenSubdiv"] + path = vendors/OpenSubdiv + url = https://github.com/PixarAnimationStudios/OpenSubdiv.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c1a36d..1091d64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(pxr REQUIRED) find_package(OpenGL REQUIRED) +find_package(X11 REQUIRED) + add_subdirectory(vendors) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3706906 --- /dev/null +++ b/Makefile @@ -0,0 +1,94 @@ +.PHONY: build + + +rhel_install_dep: + sudo dnf install -y libXt-devel + +create_venv: + python3 -m venv build_venv + . ./build_venv/bin/activate ;\ + pip install -r ./build_venv_pip.txt + +build_open_subdiv: + cd ./vendors/OpenSubdiv/ && \ + cmake -DCMAKE_INSTALL_PREFIX=./install \ + -DCMAKE_PREFIX_PATH=./install \ + -DCMAKE_BUILD_TYPE=Debug \ + -DNO_EXAMPLES=ON \ + -DNO_TUTORIALS=ON \ + -DNO_REGRESSION=ON \ + -DNO_DOC=ON \ + -DNO_OMP=ON \ + -DNO_CUDA=ON \ + -DNO_OPENCL=ON \ + -DNO_DX=ON \ + -DNO_TESTS=ON \ + -DNO_GLEW=ON \ + -DNO_GLFW=ON \ + -DNO_PTEX=ON \ + -DNO_TBB=ON && \ + cmake --build . --config Debug --target install -j 10 + +build_usd: create_venv + . ./build_venv/bin/activate ; \ + cd ./vendors/OpenUSD/ && \ + python \ + ./build_scripts/build_usd.py \ + --build=./build \ + --build-variant=release \ + --prefer-safety-over-speed \ + -v \ + --no-tests \ + --no-examples \ + --no-tutorials \ + --no-docs \ + --no-python-docs \ + --no-debug-python \ + --no-ptex \ + --no-draco \ + --no-mayapy-tests \ + --no-animx-tests \ + --python \ + --tools \ + --usd-imaging \ + --openvdb \ + --usdview \ + --usdview \ + --no-prman \ + --openimageio \ + --opencolorio \ + --alembic \ + --hdf5 \ + --materialx \ + --embree \ + ./install + +build_app: + mkdir -p build && \ + cd build && \ + cmake -Dpxr_DIR=./vendors/OpenUSD/install/ -DOpenSubdiv_DIR=./vendors/OpenSubdiv/install/lib64/cmake/OpenSubdiv -DCMAKE_INSTALL_PREFIX=../install .. && \ + make && \ + make install + +build: + $(MAKE) create_venv + @if [ ! -d "./vendors/OpenUSD/install/" ]; then \ + $(MAKE) build_usd; \ + fi + @if [ ! -d "./vendors/OpenSubdiv/install/" ]; then \ + $(MAKE) build_open_subdiv; \ + fi + + $(MAKE) build_app + +clean_dep: + rm -rf ./vendors/OpenUSD/install/ && \ + rm -rf ./vendors/OpenSubdiv/install/ + +clean: + rm -rf ./build_venv && \ + rm -rf ./build && \ + rm -rf ./install + +run: build + LD_LIBRARY_PATH=./vendors/OpenUSD/install/lib:./vendors/OpenUSD/install/lib64:$LD_LIBRARY_PATH ./install/bin/ImGuiHydraEditor diff --git a/build_venv_pip.txt b/build_venv_pip.txt new file mode 100644 index 0000000..e4d3e08 --- /dev/null +++ b/build_venv_pip.txt @@ -0,0 +1,5 @@ +PyOpenGL==3.1.9 +PySide6==6.9.0 +PySide6_Addons==6.9.0 +PySide6_Essentials==6.9.0 +shiboken6==6.9.0 diff --git a/vendors/OpenSubdiv b/vendors/OpenSubdiv new file mode 160000 index 0000000..7d0ab55 --- /dev/null +++ b/vendors/OpenSubdiv @@ -0,0 +1 @@ +Subproject commit 7d0ab5530feef693ac0a920585b5c663b80773b3 diff --git a/vendors/OpenUSD b/vendors/OpenUSD new file mode 160000 index 0000000..53d7d64 --- /dev/null +++ b/vendors/OpenUSD @@ -0,0 +1 @@ +Subproject commit 53d7d647d293fe1aaeb03d2186e8cdeefe09a6fd