@@ -161,42 +161,26 @@ macro (setup_python_module)
161161 install (FILES __init__.py DESTINATION ${PYTHON_SITE_DIR} COMPONENT user)
162162
163163 # Create the __init__.pyi stub file
164- # Define where to create the virtual environment
165- set (PYTHON_VENV_DIR "${CMAKE_BINARY_DIR} /venv" )
166-
167- if (WIN32 )
168- set (PYTHON_VENV_EXE "${PYTHON_VENV_DIR} /Scripts/python.exe" )
169- else ()
170- set (PYTHON_VENV_EXE "${PYTHON_VENV_DIR} /bin/python" )
171- endif ()
172-
173- # Create the virtualenv if it doesn't exist
174- add_custom_command (
175- COMMAND ${Python3_EXECUTABLE} -m venv "${PYTHON_VENV_DIR} "
176- COMMAND ${PYTHON_VENV_EXE} -m pip install mypy~=1.15.0 stubgenlib~=0.1.0
177- OUTPUT "${PYTHON_VENV_DIR} /bin/activate"
178- COMMENT "Creating virtualenv at ${PYTHON_VENV_DIR} "
179- )
180164
181165 # Run stub generation process
182166 set (_stub_file "${CMAKE_BINARY_DIR} /lib/python/site-packages/OpenImageIO.pyi" )
183- # FIXME: is this the right location to use? the source gets copied to build/src
167+ # FIXME: is this the right location to use? the source gets copied to build/src
184168 set (_stub_gen "${CMAKE_SOURCE_DIR} /src/python/generate_stubs.py" )
185169 add_custom_command (
186- COMMAND PYTHONPATH=${PYTHON_BUILD_SITE} ${PYTHON_VENV_EXE} ${_stub_gen} -p OpenImageIO -o ${PYTHON_BUILD_SITE}
170+ COMMAND pipx run ${_stub_gen} ${PYTHON_BUILD_SITE}
187171 OUTPUT ${_stub_file}
188- DEPENDS " ${PYTHON_VENV_DIR} /bin/activate" ${_stub_gen}
172+ DEPENDS ${_stub_gen}
189173 COMMENT "Creating python stubs"
190174 )
191175 install (FILES ${_stub_file} DESTINATION ${PYTHON_SITE_DIR} RENAME __init__.pyi COMPONENT user)
192176 # install the marker file
193- file (WRITE "py.typed" "" )
194- install (FILES "py.typed" DESTINATION ${PYTHON_SITE_DIR} COMPONENT user)
177+ file (WRITE "${CMAKE_BINARY_DIR} /lib/python/site-packages/ py.typed" "" )
178+ install (FILES "${CMAKE_BINARY_DIR} /lib/python/site-packages/ py.typed" DESTINATION ${PYTHON_SITE_DIR} COMPONENT user)
195179
196180 # Ensure this runs after PyOpenImageIO
197181 add_custom_target (
198182 PyOpenImageIO_stubs ALL
199- DEPENDS " ${PYTHON_VENV_DIR} /bin/activate" ${ _stub_file} ${CMAKE_SOURCE_DIR} /src /python/py.typed
183+ DEPENDS ${ _stub_file} " ${CMAKE_BINARY_DIR} /lib /python/site-packages/ py.typed"
200184 )
201185 add_dependencies (PyOpenImageIO_stubs PyOpenImageIO )
202186
0 commit comments