Skip to content

Commit

Permalink
Avoid always running stub generation
Browse files Browse the repository at this point in the history
  • Loading branch information
rtabbara authored and njroussel committed Sep 23, 2024
1 parent 93f84e9 commit 9d04055
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 9 deletions.
4 changes: 1 addition & 3 deletions resources/variant-stub.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Syntax: cmake -P variant-stub.cmake <input> <output>
# Applies post-cleanup of generated Mitsuba Python stubs
# Will delete input after writing output

file(READ ${CMAKE_ARGV3} FILE_CONTENTS)
string(REPLACE "drjit.llvm" "drjit.auto" FILE_CONTENTS "${FILE_CONTENTS}")
Expand All @@ -13,5 +12,4 @@ string(REPLACE "_Properties" "Properties" FILE_CONTENTS "${FILE_CONTENTS}")
string(REGEX REPLACE "[\n ]+python\\.[^-\\s]+ as python\\.[^-\\s]+," "" FILE_CONTENTS "${FILE_CONTENTS}")
string(REGEX REPLACE "import mitsuba as [a-z_]+" "" FILE_CONTENTS "${FILE_CONTENTS}")

file(WRITE "${CMAKE_ARGV4}" "${FILE_CONTENTS}")
file(REMOVE "${CMAKE_ARGV3}")
file(WRITE "${CMAKE_ARGV4}" "${FILE_CONTENTS}")
12 changes: 6 additions & 6 deletions src/python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -207,16 +207,16 @@ if (NOT (MI_SANITIZE_ADDRESS OR MI_SANITIZE_MEMORY))
nanobind_add_stub(
mitsuba-stub
MODULE mitsuba.mitsuba_stubs
OUTPUT ${MI_BINARY_DIR}/python/mitsuba/stubs.pyi
OUTPUT ${MI_BINARY_DIR}/python/mitsuba/_stubs.pyi
MARKER_FILE ${MI_BINARY_DIR}/python/mitsuba/py.typed
${STUB_ARGS}
)

add_custom_command(
OUTPUT ${MI_BINARY_DIR}/python/mitsuba/__init__.pyi
DEPENDS ${MI_BINARY_DIR}/python/mitsuba/stubs.pyi
DEPENDS ${MI_BINARY_DIR}/python/mitsuba/_stubs.pyi
COMMAND cmake -P ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/variant-stub.cmake
${MI_BINARY_DIR}/python/mitsuba/stubs.pyi
${MI_BINARY_DIR}/python/mitsuba/_stubs.pyi
${MI_BINARY_DIR}/python/mitsuba/__init__.pyi
)

Expand All @@ -229,15 +229,15 @@ if (NOT (MI_SANITIZE_ADDRESS OR MI_SANITIZE_MEMORY))
nanobind_add_stub(
mitsuba-stub-${value}
MODULE mitsuba.mitsuba_stubs.${value}
OUTPUT ${MI_BINARY_DIR}/python/mitsuba/${value_path}_stubs.pyi
OUTPUT ${MI_BINARY_DIR}/python/mitsuba/_${value_path}_stubs.pyi
${STUB_ARGS}
)

add_custom_command(
OUTPUT ${MI_BINARY_DIR}/python/mitsuba/${value_path}.pyi
DEPENDS ${MI_BINARY_DIR}/python/mitsuba/${value_path}_stubs.pyi
DEPENDS ${MI_BINARY_DIR}/python/mitsuba/_${value_path}_stubs.pyi
COMMAND cmake -P ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/variant-stub.cmake
${MI_BINARY_DIR}/python/mitsuba/${value_path}_stubs.pyi
${MI_BINARY_DIR}/python/mitsuba/_${value_path}_stubs.pyi
${MI_BINARY_DIR}/python/mitsuba/${value_path}.pyi
)

Expand Down

0 comments on commit 9d04055

Please sign in to comment.