Skip to content

Commit

Permalink
Merge pull request #135 from tangent-opensource/arbitrary_attribute
Browse files Browse the repository at this point in the history
Arbitrary attribute for curves
  • Loading branch information
bareya committed Apr 19, 2021
2 parents e7aa099 + dbe5f17 commit a57b2ec
Show file tree
Hide file tree
Showing 20 changed files with 1,688 additions and 102 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "tests/doctest"]
path = tests/doctest
url = https://github.com/onqtam/doctest.git
15 changes: 15 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ project(hdCycles CXX C)
option(USE_HOUDINI_USD "" OFF)
option(USE_CXX11_ABI "" ON)

# Options debug
option(USE_TESTS "" OFF)
option(USE_ASAN "" OFF)

# Global Settings
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
Expand All @@ -49,4 +53,15 @@ endif()
find_package(Cycles REQUIRED)
include(cmake/FindUsd.cmake)

# Linux only
if(${USE_TESTS} AND ${USE_ASAN})
add_compile_definitions(USE_ASAN)
add_compile_options(-fno-omit-frame-pointer -fsanitize=address)
add_link_options(-fno-omit-frame-pointer -fsanitize=address)
endif()

add_subdirectory(plugin)

if(${USE_TESTS})
add_subdirectory(tests)
endif()
85 changes: 42 additions & 43 deletions cmake/FindHoudiniUsd.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,35 +24,34 @@ endif()
find_package(Houdini REQUIRED PATHS ${HOUDINI_ROOT}/toolkit/cmake)
target_link_libraries(UsdInterface INTERFACE Houdini)

# Find hboost
# DSO
target_compile_definitions(UsdInterface
INTERFACE
USE_HBOOST
BOOST_NS=hboost
)

find_library(_houdini_hboost_python
NAMES
hboost_python27-mt-x64
hboost_python-mt-x64
PATHS
${HOUDINI_ROOT}/dsolib
${HOUDINI_ROOT}/custom/houdini/dsolib/
REQUIRED
)
set(_houdini_libs OpenImageIO_sidefx;hboost_filesystem-mt-x64;hboost_iostreams-mt-x64;hboost_system-mt-x64;hboost_regex-mt-x64)
foreach(_houdini_lib ${_houdini_libs})
find_library(${_houdini_lib}_path
NAMES
${_houdini_lib}
PATHS
${HOUDINI_ROOT}/dsolib
${HOUDINI_ROOT}/custom/houdini/dsolib/
REQUIRED
)

find_library(_houdini_hboost_filesystem
NAMES
hboost_filesystem-mt-x64
PATHS
${HOUDINI_ROOT}/dsolib
${HOUDINI_ROOT}/custom/houdini/dsolib/
REQUIRED
)
message(STATUS "Found ${_houdini_lib}: ${${_houdini_lib}_path}")

target_link_libraries(UsdInterface
INTERFACE
${${_houdini_lib}_path}
)

target_link_libraries(Houdini INTERFACE ${_houdini_hboost_python} ${_houdini_hboost_filesystem})
endforeach()

# Find Python
# Python
find_library(_houdini_python_lib
NAMES
python27
Expand All @@ -64,35 +63,35 @@ find_library(_houdini_python_lib
${HOUDINI_ROOT}/python/lib
REQUIRED
)
target_link_libraries(Houdini INTERFACE ${_houdini_python_lib})

# Find OpenImageIO_sidefx
find_library(_houdini_oiio_lib
NAMES
OpenImageIO_sidefx
PATHS
${HOUDINI_ROOT}/dsolib
${HOUDINI_ROOT}/custom/houdini/dsolib/
REQUIRED
)
target_link_libraries(UsdInterface INTERFACE ${_houdini_oiio_lib})

# Find Usd
list(APPEND CMAKE_FIND_LIBRARY_PREFIXES lib) # append lib prefix to have same behaviour on win and lin
set(_houdini_pxr_libs pxr_ar;pxr_arch;pxr_cameraUtil;pxr_garch;pxr_gf;pxr_glf;pxr_hd;pxr_hdSt;pxr_hdx;pxr_hf;pxr_hgi;pxr_hgiGL;pxr_hgiInterop;pxr_hio;pxr_js;pxr_kind;pxr_ndr;pxr_pcp;pxr_plug;pxr_pxOsd;pxr_sdf;pxr_sdr;pxr_tf;pxr_trace;pxr_usd;pxr_usdAppUtils;pxr_usdGeom;pxr_usdHydra;pxr_usdImaging;pxr_usdImagingGL;pxr_usdLux;pxr_usdMedia;pxr_usdRender;pxr_usdRi;pxr_usdRiImaging;pxr_usdShade;pxr_usdSkel;pxr_usdSkelImaging;pxr_usdUI;pxr_usdUtils;pxr_usdviewq;pxr_usdVol;pxr_usdVolImaging;pxr_vt;pxr_work;)
foreach(_pxr_lib ${_houdini_pxr_libs})
find_library(${_pxr_lib}_path
find_library(_houdini_hboost_python
NAMES
${_pxr_lib}
hboost_python27-mt-x64
hboost_python-mt-x64
PATHS
${HOUDINI_ROOT}/dsolib
${HOUDINI_ROOT}/custom/houdini/dsolib/
REQUIRED
)
)

target_link_libraries(Houdini INTERFACE ${_houdini_python_lib} ${_houdini_hboost_python})

# Usd
list(APPEND CMAKE_FIND_LIBRARY_PREFIXES lib) # append lib prefix to have same behaviour on win and lin
set(_houdini_pxr_libs pxr_ar;pxr_arch;pxr_cameraUtil;pxr_garch;pxr_gf;pxr_glf;pxr_hd;pxr_hdSt;pxr_hdx;pxr_hf;pxr_hgi;pxr_hgiGL;pxr_hgiInterop;pxr_hio;pxr_js;pxr_kind;pxr_ndr;pxr_pcp;pxr_plug;pxr_pxOsd;pxr_sdf;pxr_sdr;pxr_tf;pxr_trace;pxr_usd;pxr_usdAppUtils;pxr_usdGeom;pxr_usdHydra;pxr_usdImaging;pxr_usdImagingGL;pxr_usdLux;pxr_usdMedia;pxr_usdRender;pxr_usdRi;pxr_usdRiImaging;pxr_usdShade;pxr_usdSkel;pxr_usdSkelImaging;pxr_usdUI;pxr_usdUtils;pxr_usdviewq;pxr_usdVol;pxr_usdVolImaging;pxr_vt;pxr_work;)
foreach(_pxr_lib ${_houdini_pxr_libs})
find_library(${_pxr_lib}_path
NAMES
${_pxr_lib}
PATHS
${HOUDINI_ROOT}/dsolib
${HOUDINI_ROOT}/custom/houdini/dsolib/
REQUIRED
)

target_link_libraries(UsdInterface
INTERFACE
${${_pxr_lib}_path}
)
INTERFACE
${${_pxr_lib}_path}
)

endforeach()
endforeach()
6 changes: 6 additions & 0 deletions plugin/hdCycles/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ add_library(hdCycles SHARED
utils.h
volume.cpp
volume.h
resourceRegistry.cpp
resourceRegistry.h
objectSource.cpp
objectSource.h
attributeSource.cpp
attributeSource.h
)

target_include_directories(hdCycles
Expand Down
Loading

0 comments on commit a57b2ec

Please sign in to comment.