Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support packaging #65

Closed
jcfr opened this issue Nov 14, 2011 · 2 comments
Closed

Support packaging #65

jcfr opened this issue Nov 14, 2011 · 2 comments
Assignees

Comments

@jcfr
Copy link
Member

jcfr commented Nov 14, 2011

Add package target so that the following is supported:
make package

@ghost ghost assigned jcfr Nov 14, 2011
jcfr added a commit to jcfr/CTK that referenced this issue Dec 13, 2012
When configuring the inner project, the variable was
passed without making sure it was defined or set to a
non empty value.

This commit ensure that the variable is passed only
if it's set to a non empty value. That way the
macro ctkMacroBuildQtPlugin will properly default
to "CTK_INSTALL_LIB_DIR"

See issue commontk#65
jcfr added a commit to jcfr/CTK that referenced this issue Dec 13, 2012
The value of "ep_install_dir" is reserved for regular
external project. The user should still be able to set
CMAKE_INSTALL_PREFIX when configuring CTK and have it
installed when he expects.

See issue commontk#65
jcfr added a commit to jcfr/CTK that referenced this issue Dec 13, 2012
jcfr added a commit to jcfr/CTK that referenced this issue Dec 13, 2012
@jcfr
Copy link
Member Author

jcfr commented Sep 26, 2013

For reference see #158. Waiting more work is done closing the associated pull request.

jcfr added a commit to jcfr/CTK that referenced this issue Nov 7, 2013
When configuring the inner project, the variable was
passed without making sure it was defined or set to a
non empty value.

This commit ensure that the variable is passed only
if it's set to a non empty value. That way the
macro ctkMacroBuildQtPlugin will properly default
to "CTK_INSTALL_LIB_DIR"

See issue commontk#65
jcfr added a commit to jcfr/CTK that referenced this issue Nov 7, 2013
The value of "ep_install_dir" is reserved for regular
external project. The user should still be able to set
CMAKE_INSTALL_PREFIX when configuring CTK and have it
installed when he expects.

See issue commontk#65
jcfr added a commit to jcfr/CTK that referenced this issue Nov 7, 2013
jcfr added a commit to jcfr/CTK that referenced this issue Nov 7, 2013
jcfr added a commit to jcfr/CTK that referenced this issue Nov 8, 2013
Location of both  plugin libraries and headers can be changed by
configuring CTK with CTK_INSTALL_PLUGIN_DIR and CTK_INSTALL_PLUGIN_INCLUDE_DIR.

Plugin headers will always be installed into:

    CTK_INSTALL_PLUGIN_INCLUDE_DIR/<Plugin-SymbolicName>

where <Plugin-SymbolicName> is of the form "org.commontk.foo".

See commontk#65 and commontk#158
@jcfr
Copy link
Member Author

jcfr commented Nov 11, 2013

Duplicate of issue #403

@jcfr jcfr closed this as completed Nov 11, 2013
@jcfr jcfr mentioned this issue Nov 15, 2013
jcfr added a commit to jcfr/CTK that referenced this issue Jan 28, 2024
Meticulous backport of all recent changes introduced in https://github.com/MeVisLab/pythonqt/

Commit impacting only the PythonQt library are prefix with `[Backport]`
the one impacting only the generator are prefixed with `[Backport generator]`.

List of PythonQt changes:

```
$ git shortlog c4a5a155b..db525aff0 --no-merges
Christophe Giboudeaux (1):
      [Backport] Fix build with Python 3.8

David Brooks (2):
      [Backport] Use `quote` characters around includes of our headers.
      [Backport] Support Qt 5.12

Felix Petriconi (4):
      [Backport generator] Also generate python function for operator!=()
      [Backport generator] Default initialize all members
      [Backport] Replace foreach macro with range based for loop
      [Backport generator] Remove __* and _Uppercase from symbols because they must not been used

Gregor Anich (2):
      [Backport] More potential leak fixes and build fix
      [Backport] Allow setting PYTHON_VERSION and PYTHON_DIR when including python.prf, add rpath

Iakov Kirilenko (2):
      [Backport] Use XSETREF for safety
      [Backport] CI for CONFIG+=debug + UbSan for tests

James Butler (1):
      Prevent crashes during and after cleanup

Jean-Christophe Fillion-Robin (1):
      [Backport] Remove unused variable from PythonQtPrivate::callMethodInPython

John Bowler (19):
      [Backport] Qt6: initial changes to make compilation work (commontk#114)
      [Backport generator] Replace deprecated QAtomicPointer<T>::load() (commontk#115)
      [Backport generator] Qt6: QList<T>operator== requires const T::operator== (commontk#116)
      [Backport generator] Qt6: qSort and qStableSort removed (commontk#117)
      [Backport generator] Qt6: qSort, toList and fromList removal (commontk#118)
      [Backport generator] Qt6: QString::SkipEmptyParts moved to Qt (commontk#119)
      [Backport generator] Qt6: QTextStream compatibility (commontk#120)
      [Backport generator] Eliminate warnings about #warning (commontk#122)
      [Backport generator] Qt6: generator/typesystem.cpp: XML workround (commontk#123)
      [Backport generator] Add constexpr and decltype parsing (commontk#125)
      [Backport generator] Handle constexpr, auto (commontk#126)
      [Backport] Qt6: fixes for removal of Qt5 types (commontk#127)
      [Backport generator] Fix problems in Qt5.11 generator (commontk#128)
      [Backport generator] Use spaces instead of tabs (commontk#129)
      [Backport generator] generator: remove anonymous structs (commontk#121)
      [Backport generator] generator: call Reporthandler::setContext more (commontk#131)
      [Backport generator] generator: AbstractMetaClassList: correct sorting (commontk#132)
      [Backport generator] generator: fix iterator issues with Qt5.14 headers (commontk#142)
      [Backport generator] Fix: AbstractMetaBuilder::classesTopologicalSorted (commontk#148)

Richard Goedeken (1):
      [Backport] Qt6 compatibility fixes for core PythonQt library

Uwe Kindler (2):
      [Backport] Fixed mingw build issues
      [Backport] Fixed mingw64-build

Uwe Siems (90):
      [Backport] Loop did never finish if the first entry didn't match, fixes support for kwargs in slots.
      [Backport generator] Add default and copy constructor for QFontInfo and QFontMetrics
      [Backport generator] Avoid spaces at end of generated lines.
      [Backport] Make __enter__ and __exit__ slots work with "with" statements
      [Backport generator] Create correct __enter__ and __exit__ methods for QMutexLocker, QReadLocker, and QWriteLocker
      [Backport] Add a hint about QByteArray/bytes conversion, use fake footnote references.
      [Backport] Avoid crash for certain types that have no wrapper because they can't be instantiated
      [Backport] Fix a possible invalid memory access
      [Backport generator] QUrl::FormattingOptions flag arguments didn't work for Qt 5
      [Backport] Make this a proper C++ struct
      [Backport] Get rid of typedef struct completely, this is C++ code
      [Backport] Update __spec__ too (if existing) when setting the import path
      [Backport] Ignore some file types and directories
      [Backport] Generate modern C++ code with nullptr and override
      [Backport generator] Also consider interfaces of super classes (issue commontk#75)
      [Backport generator] Add missing space in message
      [Backport generator] initialize members with list-initializers
      [Backport] Fix crash when converting Python list with None value to QVariant
      [Backport] Fix crash when using QObject::disconnect method (when multi-threading is enabled)
      [Backport] Limit string representation of argument list in length
      [Backport generator] add option to print parser errors when they occur
      [Backport generator] Keep track of current source code in Debug mode,
      [Backport] always ignore .vs folder
      [Backport generator] Don't interpret "= default" or "= delete" to mean this is an abstract method
      [Backport generator] Deleted methods need to marked as "invalid" to be handled correctly
      [Backport generator] Cover cases where noexcept comes with an expression
      [Backport generator] Implement and use Parser::skipFunctionBody
      [Backport generator] Simplify skipFunctionBody by only looking at curly braces
      [Backport generator] Avoid currently unsupported use of "noexcept(...)"
      [Backport generator] Ignore some more macros that lead to parser errors
      [Backport generator] Support basic new-style initializers
      [Backport generator] Add missing enum used as default value for a method
      [Backport generator] Automatically mark methods with r-value references (&&) as invalid
      [Backport generator] Don't create wrappers for cbegin and cend
      [Backport generator] Hopefully make generator immune against iterator order changes for typeMap
      [Backport generator] Don't generate wrappers for templated methods in non-template classes
      [Backport generator] Handle ellipsis in type parser
      [Backport generator] Improve debugging code for rewind, also show identifiers
      [Backport] Add qsizetype and qptrdiff as primitive types
      [Backport generator] Avoid crash if supposed property setter has no arguments
      [Backport generator] Avoid crash in lexer by increasing size of token_stream early
      [Backport generator] Make number of classes per generated file configurable
      [Backport generator] Add version qualifiers to typesystem XML files
      [Backport generator] Don't assume some Qt version if it could not be found/parsed
      [Backport] Correct initialization of return value pointer failed
      [Backport] Some types are aliases in Qt6 now
      [Backport] Comparison rules of QVariant have changed in Qt6
      [Backport generator] Better handling of "auto" and trailing return types "-> decltype()"
      [Backport generator] Better handling of variadic templates
      [Backport generator] Skip attribute specifiers like [[maybe_unused]]
      [Backport generator] Fix types being rejected because they contain "constexpr"
      [Backport generator] Handle "friend" functions with implementation body...
      [Backport generator] Treat constexpr as a function modifier, not as a type modifier
      [Backport generator] Treat noexcept inside of expressions
      [Backport generator] Fix expansion of variadic macros in preprocessor
      [Backport generator] Fix handling of elif in preprocessor...
      [Backport generator] Support for new-style initializers in expressions
      [Backport generator] Improve handling of new-style initializers
      [Backport generator] Improve type name handling
      [Backport generator] Make parsing more robust against shuffling of qualifiers/specifiers
      [Backport generator] Fix missing includes for namespace items from different files
      [Backport generator] Implement methods with lvalue/rvalue references, ...
      [Backport generator] Handle (templated) functions with packed parameters
      [Backport generator] Parse inline namespaces,
      [Backport generator] Parse string literal operator definition,
      [Backport generator] Some necessary defines for Qt6
      [Backport generator] Add some entries to typesystem files missing for Qt6
      [Backport generator] Add new multimedia classes
      [Backport generator] Automatically add enums marked with Q_ENUM to TypeDatabase
      [Backport generator] Fix uninitialized member
      [Backport generator] Some more defines we don't need to parse
      [Backport generator] Q_PROPERTY might contain "REVISION(1, 1)"
      [Backport generator] Improve parsing of Q_PROPERTY types starting with "const"
      [Backport generator] Rename "after-version" attribute to "since-version"
      [Backport generator] More missing or updated type entries
      [Backport generator] Handle enum classes
      [Backport generator] Complete/fix scope for enum class values
      [Backport generator] Remove figureOutEnumValues and company
      [Backport generator] Do not add copy constructor if it was deleted or private
      [Backport generator] QMutexLocker is a template now, don't know how to handle this
      [Backport generator] Fix handling of protected operators
      [Backport generator] Fix compiler warning (possibly unintended copy)
      [Backport generator] Fix QList::swap missing the template argument in the argument type
      [Backport generator] I believe it is not necessary to create a shell for QPagedPaintDevice
      [Backport] Try to fix library names and linking problems
      [Backport] Make PythonQtTests compile with Qt6
      [Backport generator] Do not prepend enum class name for items of enum classes,
      [Backport generator] Avoid emitting QStringList* arguments as QStringList<QString>*
      [Backport generator] Avoid some compiler warnings
      [Backport generator] Skip alignas specifier

Yuri Victorovich (1):
      [Backport] Fix install paths by adding INSTALL_PREFIX

YuriUfimtsev (4):
      [Backport generator] Add support for parsing enum class declarations
      [Backport generator] Add parsed enums and some more enums from warning messages to typesystem
      [Backport generator] Add a token consistency check between enum and array
      [Backport generator] Reduce memory leaks by implementing the AbstractMetaBuilder destructor

githubuser0xFFFF (1):
      [Backport] Provide missing implementation of PythonQtSlotInfo::getGlobalShouldAllowThreads() (commontk#65)

iakov (5):
      [Backport] Fix memory leak
      [Backport] Add missing break in switch to fix P3K conversion
      [Backport] Several fixes and patches (commontk#89)
      [Backport] Add support for Python 3.11 (commontk#91)
      [Backport] Tiny improvements for build system

mrbean-bremen (21):
      [Backport] Add -std=c++11 flag to check for problems
      [Backport] Replace NULL with nullptr
      [Backport] Add override and noexcept modifiers
      [Backport] Fix type conversion warnings, use const
      [Backport] Avoid redefinition warnings, fix export macros
      [Backport] Add facility to set task done callback
      [Backport] Make sure queued connection of Signals with Python types are safe
      [Backport] Add missing GIL scope to single shot timer destructor
      [Backport] Add initial support for coroutines
      [Backport] Use ubuntu instead of gcc based images
      [Backport] Revert undefining some defines (commontk#103)
      [Backport] Add back undefining _POSIX_C_SOURCE and _XOPEN_SOURCE (commontk#106)
      [Backport generator] Make the generator compile with C++17
      [Backport generator] Add parsing of noexcept exception specifier
      [Backport generator] Add support for parsing using declarations
      [Backport generator] Fix parse error for function declaration
      [Backport] Bring back more Qt5 compatibility
      [Backport] More Qt5 compatibility changes
      [Backport] Bring back QRegExp and QMatrix for Qt5
      [Backport generator] Fix handling of right-shift as template bracket
      [Backport generator] Ignore variadic template parameters
```

Co-authored-by: James Butler <james.butler@revvity.com>
jcfr added a commit that referenced this issue Jan 28, 2024
Meticulous backport of all recent changes introduced in https://github.com/MeVisLab/pythonqt/

Commit impacting only the PythonQt library are prefix with `[Backport]`
the one impacting only the generator are prefixed with `[Backport generator]`.

List of PythonQt changes:

```
$ git shortlog c4a5a155b..db525aff0 --no-merges
Christophe Giboudeaux (1):
      [Backport] Fix build with Python 3.8

David Brooks (2):
      [Backport] Use `quote` characters around includes of our headers.
      [Backport] Support Qt 5.12

Felix Petriconi (4):
      [Backport generator] Also generate python function for operator!=()
      [Backport generator] Default initialize all members
      [Backport] Replace foreach macro with range based for loop
      [Backport generator] Remove __* and _Uppercase from symbols because they must not been used

Gregor Anich (2):
      [Backport] More potential leak fixes and build fix
      [Backport] Allow setting PYTHON_VERSION and PYTHON_DIR when including python.prf, add rpath

Iakov Kirilenko (2):
      [Backport] Use XSETREF for safety
      [Backport] CI for CONFIG+=debug + UbSan for tests

James Butler (1):
      Prevent crashes during and after cleanup

Jean-Christophe Fillion-Robin (1):
      [Backport] Remove unused variable from PythonQtPrivate::callMethodInPython

John Bowler (19):
      [Backport] Qt6: initial changes to make compilation work (#114)
      [Backport generator] Replace deprecated QAtomicPointer<T>::load() (#115)
      [Backport generator] Qt6: QList<T>operator== requires const T::operator== (#116)
      [Backport generator] Qt6: qSort and qStableSort removed (#117)
      [Backport generator] Qt6: qSort, toList and fromList removal (#118)
      [Backport generator] Qt6: QString::SkipEmptyParts moved to Qt (#119)
      [Backport generator] Qt6: QTextStream compatibility (#120)
      [Backport generator] Eliminate warnings about #warning (#122)
      [Backport generator] Qt6: generator/typesystem.cpp: XML workround (#123)
      [Backport generator] Add constexpr and decltype parsing (#125)
      [Backport generator] Handle constexpr, auto (#126)
      [Backport] Qt6: fixes for removal of Qt5 types (#127)
      [Backport generator] Fix problems in Qt5.11 generator (#128)
      [Backport generator] Use spaces instead of tabs (#129)
      [Backport generator] generator: remove anonymous structs (#121)
      [Backport generator] generator: call Reporthandler::setContext more (#131)
      [Backport generator] generator: AbstractMetaClassList: correct sorting (#132)
      [Backport generator] generator: fix iterator issues with Qt5.14 headers (#142)
      [Backport generator] Fix: AbstractMetaBuilder::classesTopologicalSorted (#148)

Richard Goedeken (1):
      [Backport] Qt6 compatibility fixes for core PythonQt library

Uwe Kindler (2):
      [Backport] Fixed mingw build issues
      [Backport] Fixed mingw64-build

Uwe Siems (90):
      [Backport] Loop did never finish if the first entry didn't match, fixes support for kwargs in slots.
      [Backport generator] Add default and copy constructor for QFontInfo and QFontMetrics
      [Backport generator] Avoid spaces at end of generated lines.
      [Backport] Make __enter__ and __exit__ slots work with "with" statements
      [Backport generator] Create correct __enter__ and __exit__ methods for QMutexLocker, QReadLocker, and QWriteLocker
      [Backport] Add a hint about QByteArray/bytes conversion, use fake footnote references.
      [Backport] Avoid crash for certain types that have no wrapper because they can't be instantiated
      [Backport] Fix a possible invalid memory access
      [Backport generator] QUrl::FormattingOptions flag arguments didn't work for Qt 5
      [Backport] Make this a proper C++ struct
      [Backport] Get rid of typedef struct completely, this is C++ code
      [Backport] Update __spec__ too (if existing) when setting the import path
      [Backport] Ignore some file types and directories
      [Backport] Generate modern C++ code with nullptr and override
      [Backport generator] Also consider interfaces of super classes (issue #75)
      [Backport generator] Add missing space in message
      [Backport generator] initialize members with list-initializers
      [Backport] Fix crash when converting Python list with None value to QVariant
      [Backport] Fix crash when using QObject::disconnect method (when multi-threading is enabled)
      [Backport] Limit string representation of argument list in length
      [Backport generator] add option to print parser errors when they occur
      [Backport generator] Keep track of current source code in Debug mode,
      [Backport] always ignore .vs folder
      [Backport generator] Don't interpret "= default" or "= delete" to mean this is an abstract method
      [Backport generator] Deleted methods need to marked as "invalid" to be handled correctly
      [Backport generator] Cover cases where noexcept comes with an expression
      [Backport generator] Implement and use Parser::skipFunctionBody
      [Backport generator] Simplify skipFunctionBody by only looking at curly braces
      [Backport generator] Avoid currently unsupported use of "noexcept(...)"
      [Backport generator] Ignore some more macros that lead to parser errors
      [Backport generator] Support basic new-style initializers
      [Backport generator] Add missing enum used as default value for a method
      [Backport generator] Automatically mark methods with r-value references (&&) as invalid
      [Backport generator] Don't create wrappers for cbegin and cend
      [Backport generator] Hopefully make generator immune against iterator order changes for typeMap
      [Backport generator] Don't generate wrappers for templated methods in non-template classes
      [Backport generator] Handle ellipsis in type parser
      [Backport generator] Improve debugging code for rewind, also show identifiers
      [Backport] Add qsizetype and qptrdiff as primitive types
      [Backport generator] Avoid crash if supposed property setter has no arguments
      [Backport generator] Avoid crash in lexer by increasing size of token_stream early
      [Backport generator] Make number of classes per generated file configurable
      [Backport generator] Add version qualifiers to typesystem XML files
      [Backport generator] Don't assume some Qt version if it could not be found/parsed
      [Backport] Correct initialization of return value pointer failed
      [Backport] Some types are aliases in Qt6 now
      [Backport] Comparison rules of QVariant have changed in Qt6
      [Backport generator] Better handling of "auto" and trailing return types "-> decltype()"
      [Backport generator] Better handling of variadic templates
      [Backport generator] Skip attribute specifiers like [[maybe_unused]]
      [Backport generator] Fix types being rejected because they contain "constexpr"
      [Backport generator] Handle "friend" functions with implementation body...
      [Backport generator] Treat constexpr as a function modifier, not as a type modifier
      [Backport generator] Treat noexcept inside of expressions
      [Backport generator] Fix expansion of variadic macros in preprocessor
      [Backport generator] Fix handling of elif in preprocessor...
      [Backport generator] Support for new-style initializers in expressions
      [Backport generator] Improve handling of new-style initializers
      [Backport generator] Improve type name handling
      [Backport generator] Make parsing more robust against shuffling of qualifiers/specifiers
      [Backport generator] Fix missing includes for namespace items from different files
      [Backport generator] Implement methods with lvalue/rvalue references, ...
      [Backport generator] Handle (templated) functions with packed parameters
      [Backport generator] Parse inline namespaces,
      [Backport generator] Parse string literal operator definition,
      [Backport generator] Some necessary defines for Qt6
      [Backport generator] Add some entries to typesystem files missing for Qt6
      [Backport generator] Add new multimedia classes
      [Backport generator] Automatically add enums marked with Q_ENUM to TypeDatabase
      [Backport generator] Fix uninitialized member
      [Backport generator] Some more defines we don't need to parse
      [Backport generator] Q_PROPERTY might contain "REVISION(1, 1)"
      [Backport generator] Improve parsing of Q_PROPERTY types starting with "const"
      [Backport generator] Rename "after-version" attribute to "since-version"
      [Backport generator] More missing or updated type entries
      [Backport generator] Handle enum classes
      [Backport generator] Complete/fix scope for enum class values
      [Backport generator] Remove figureOutEnumValues and company
      [Backport generator] Do not add copy constructor if it was deleted or private
      [Backport generator] QMutexLocker is a template now, don't know how to handle this
      [Backport generator] Fix handling of protected operators
      [Backport generator] Fix compiler warning (possibly unintended copy)
      [Backport generator] Fix QList::swap missing the template argument in the argument type
      [Backport generator] I believe it is not necessary to create a shell for QPagedPaintDevice
      [Backport] Try to fix library names and linking problems
      [Backport] Make PythonQtTests compile with Qt6
      [Backport generator] Do not prepend enum class name for items of enum classes,
      [Backport generator] Avoid emitting QStringList* arguments as QStringList<QString>*
      [Backport generator] Avoid some compiler warnings
      [Backport generator] Skip alignas specifier

Yuri Victorovich (1):
      [Backport] Fix install paths by adding INSTALL_PREFIX

YuriUfimtsev (4):
      [Backport generator] Add support for parsing enum class declarations
      [Backport generator] Add parsed enums and some more enums from warning messages to typesystem
      [Backport generator] Add a token consistency check between enum and array
      [Backport generator] Reduce memory leaks by implementing the AbstractMetaBuilder destructor

githubuser0xFFFF (1):
      [Backport] Provide missing implementation of PythonQtSlotInfo::getGlobalShouldAllowThreads() (#65)

iakov (5):
      [Backport] Fix memory leak
      [Backport] Add missing break in switch to fix P3K conversion
      [Backport] Several fixes and patches (#89)
      [Backport] Add support for Python 3.11 (#91)
      [Backport] Tiny improvements for build system

mrbean-bremen (21):
      [Backport] Add -std=c++11 flag to check for problems
      [Backport] Replace NULL with nullptr
      [Backport] Add override and noexcept modifiers
      [Backport] Fix type conversion warnings, use const
      [Backport] Avoid redefinition warnings, fix export macros
      [Backport] Add facility to set task done callback
      [Backport] Make sure queued connection of Signals with Python types are safe
      [Backport] Add missing GIL scope to single shot timer destructor
      [Backport] Add initial support for coroutines
      [Backport] Use ubuntu instead of gcc based images
      [Backport] Revert undefining some defines (#103)
      [Backport] Add back undefining _POSIX_C_SOURCE and _XOPEN_SOURCE (#106)
      [Backport generator] Make the generator compile with C++17
      [Backport generator] Add parsing of noexcept exception specifier
      [Backport generator] Add support for parsing using declarations
      [Backport generator] Fix parse error for function declaration
      [Backport] Bring back more Qt5 compatibility
      [Backport] More Qt5 compatibility changes
      [Backport] Bring back QRegExp and QMatrix for Qt5
      [Backport generator] Fix handling of right-shift as template bracket
      [Backport generator] Ignore variadic template parameters
```

Co-authored-by: James Butler <james.butler@revvity.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant