Avoid too much stickiness when using --reuse-build
We had some unwanted cache effects and needed to manually
remove certain files before building. Otherwise it could happen
that a build pretended to be ok, although there was a bug that
prevented generation of the ".pyi" files.
Further investigation showed:
Using option "--reuse-build" with "no" and then with "yes" creates errors
in the signature module. This makes "reuse-build" useless in this case.
We now add an "a" to "pyside3d_build" as "pside3da_build" if
"--limited-api=yes" was given. (different proposals welcome.)
That solved most of the stickiness problems.
A left-over lock directory is removed now, since it would prevent
re-computation of the .pyi files. This is implemented by a recursive
call to the script, where the subprocess does the work and the
main process checks if there was a crash and removes the lock.
The "--skip" parameter of generate_pyi.py was refined:
When set, it is checked if the time stamp of all imported modules is
less than the ".pyi" file time stamp. Only then the generation is skipped.
By editing any involved python file, the ".pyi" files will be regenerated.
Task-number: PYSIDE-560
Change-Id: I1b1d8ffbc58db3d4b38bf65e3795efcad7e7870c
Reviewed-by: Alexandru Croitor <email address hidden>
Fix warnings about signatures 'setUniformValue(const char*,...)' not being found
Use a regular expression with the types, fixing:
qt.shiboken: (gui) signature 'setUniformValue(const char*,GLfloat)' (specified as 'setUniformValue(const char*, GLfloat)') for function modification in 'QOpenGLShaderProgram' not found.
Possible candidates:
...
setUniformValue(const char*,float,float,float,float) in QOpenGLShaderProgram
setUniformValue(const char*,int) in QOpenGLShaderProgram
setUniformValue(const char*,uint) in QOpenGLShaderProgram
...
Temporarily disable wheel testing on macOS / Python 2
The test fails for Python 2.16.
Change-Id: I457cb3f92306bcdfc315225aa8716ea32d70e375
Reviewed-by: Christian Tismer <email address hidden>
05ae61c...
by
Cristian Maureira-Fredes <email address hidden>
Add explicit methods for QOpenGLShaderProgramm.setUniformValue (i/f)
Selecting which overload to use is in hands of the shader program
code that defines the type, then it is better to explicitly call
signatures that are overloaded using number types, specially for
OpenGL.
This change will help with PYSIDE-989, because it will allow to
call `setUniformValue1f` without having the problem of using
the generic `setUniformValue` that will end in calling the
wrong method (the integer one).
Since the primitive type conversion is a separate global issue,
another task has been opened PYSIDE-1000.