@@ -17,42 +17,58 @@ CONFIG(debug, debug|release) {
1717 TARGET = $${TARGET}_d
1818}
1919
20- # Try files that are generated by the user:
21- PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp
20+ # Allow override (e.g., qmake PYTHONQT_GENERATED_PATH=/abs/path)
21+ isEmpty(PYTHONQT_GENERATED_PATH) {
22+ PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp
23+ }
2224
25+ # Fallbacks to checked-in wrappers
2326!exists($$PYTHONQT_GENERATED_PATH) {
24- # If no files are generated, try the checked-in wrappers:
25- PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp_$${QT_MAJOR_VERSION}$${QT_MINOR_VERSION}
27+ # Exact version directory (e.g., generated_cpp_515 or generated_cpp_69)
28+ PYTHONQT_GENERATED_PATH_VERSIONED = $$PWD/../generated_cpp_$${QT_MAJOR_VERSION}$${QT_MINOR_VERSION}
29+ exists($$PYTHONQT_GENERATED_PATH_VERSIONED) {
30+ PYTHONQT_GENERATED_PATH = $$PYTHONQT_GENERATED_PATH_VERSIONED
31+ }
32+ }
2633
27- !exists($$PYTHONQT_GENERATED_PATH) {
28- # For Qt5 we know that the older generated wrappers work with the later
29- # versions, even (apparently) Qt5.15, so:
30- equals(QT_MAJOR_VERSION, 5) {
31- # Qt5: have 5.0, 5.3, 5.4, 5.6 and 5.11 at present:
32- lessThan(QT_MINOR_VERSION, 3) { # 5.1, 5.2
33- PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp_50
34- }
35- else: lessThan(QT_MINOR_VERSION, 6) { # 5.5
36- PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp_54
37- }
38- else: lessThan(QT_MINOR_VERSION, 11) { # 5.7, 5.8, 5.9, 5.10
39- PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp_56
40- }
41- else: lessThan(QT_MINOR_VERSION, 15) { # 5.11, 5.12, 5.13, 5.14
42- PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp_511
43- }
44- else { # 5.15
45- # LATEST Qt5 generated files:
46- PYTHONQT_GENERATED_PATH = $$PWD/../generated_cpp_515
47- }
34+ !exists($$PYTHONQT_GENERATED_PATH) {
35+ # For Qt5 we know that the older generated wrappers work with the later
36+ # versions, even (apparently) Qt5.15, so:
37+ equals(QT_MAJOR_VERSION, 5) {
38+ # Qt5: have 5.0, 5.3, 5.4, 5.6 and 5.11 at present:
39+ lessThan(QT_MINOR_VERSION, 3) { # 5.1, 5.2
40+ PYTHONQT_GENERATED_PATH_VERSIONED = $$PWD/../generated_cpp_50
4841 }
49-
50- !exists($$PYTHONQT_GENERATED_PATH) {
51- error("No generated sources exist for Qt$${QT_VERSION}")
42+ else: lessThan(QT_MINOR_VERSION, 6) { # 5.3, 5.4, 5.5
43+ PYTHONQT_GENERATED_PATH_VERSIONED = $$PWD/../generated_cpp_54
44+ }
45+ else: lessThan(QT_MINOR_VERSION, 11) { # 5.6, 5.7, 5.8, 5.9, 5.10
46+ PYTHONQT_GENERATED_PATH_VERSIONED = $$PWD/../generated_cpp_56
47+ }
48+ else: lessThan(QT_MINOR_VERSION, 15) { # 5.11, 5.12, 5.13, 5.14
49+ PYTHONQT_GENERATED_PATH_VERSIONED = $$PWD/../generated_cpp_511
50+ }
51+ else { # >= 5.15
52+ PYTHONQT_GENERATED_PATH_VERSIONED = $$PWD/../generated_cpp_515
53+ }
54+ exists($$PYTHONQT_GENERATED_PATH_VERSIONED) {
55+ PYTHONQT_GENERATED_PATH = $$PYTHONQT_GENERATED_PATH_VERSIONED
5256 }
5357 }
5458}
5559
60+ !exists($$PYTHONQT_GENERATED_PATH) {
61+ error("No generated wrapper sources for Qt $${QT_VERSION}.\n"
62+ "Looked in:\n"
63+ " - $$PWD/../generated_cpp\n"
64+ " - $$PWD/../generated_cpp_$${QT_MAJOR_VERSION}$${QT_MINOR_VERSION} (e.g., generated_cpp_515)\n"
65+ "Generate them first:\n"
66+ " qmake CONFIG+=generator_only && make\n"
67+ " cd generator && ./pythonqt_generator\n"
68+ "Or pass an explicit path:\n"
69+ " qmake PYTHONQT_GENERATED_PATH=/abs/path")
70+ }
71+
5672!build_pass {
5773 message("Qt version: Qt$${QT_VERSION}")
5874 message("Using generated sources files from $${PYTHONQT_GENERATED_PATH}")
0 commit comments