<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/cmake, branch 6.9.2</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Use `_qt_internal_set_source_file_generated`</title>
<updated>2025-06-26T08:15:23+00:00</updated>
<author>
<name>Cristian Le</name>
<email>cristian.le@qt.io</email>
</author>
<published>2025-06-23T15:08:41+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e90d1370e58e2ba5a08d324f1f3ab331b4bb93a1'/>
<id>e90d1370e58e2ba5a08d324f1f3ab331b4bb93a1</id>
<content type='text'>
Migrate implementations that set `GENERATED` source property

Also standardize the `TARGET_DIRECTORY` passing

Fixes: QTBUG-125077
Change-Id: I0651ad69ec127b615b599707e12ab3840dc1135c
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
(cherry picked from commit 8e9e23b8985ef3fba775e8bad941769e19b43daf)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit d1aa25b09f785e3b03c23ccb138c4043924d4776)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Migrate implementations that set `GENERATED` source property

Also standardize the `TARGET_DIRECTORY` passing

Fixes: QTBUG-125077
Change-Id: I0651ad69ec127b615b599707e12ab3840dc1135c
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
(cherry picked from commit 8e9e23b8985ef3fba775e8bad941769e19b43daf)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit d1aa25b09f785e3b03c23ccb138c4043924d4776)
</pre>
</div>
</content>
</entry>
<entry>
<title>Use git tree hash rather than commit hash as QML_COMPILE_HASH</title>
<updated>2025-03-07T13:45:26+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2025-03-06T13:05:38+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=64f8cd514e30766edf3e1b089d99915d908ac62f'/>
<id>64f8cd514e30766edf3e1b089d99915d908ac62f</id>
<content type='text'>
You can have multiple commit hashes for the same contents. We've seen
that already with the .tag files. We don't want the AOT-compiled
artifacts to be rejected if those are mixed when building host and
target versions of Qt.

Pick-to: 6.8 6.5
Fixes: QTBUG-134442
Change-Id: Idba4aa4786ae5d638efd1324315a1a5c21ed070c
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
(cherry picked from commit 7fae1cbb3cfbb31060d0de5d5b25c91e45c38626)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
You can have multiple commit hashes for the same contents. We've seen
that already with the .tag files. We don't want the AOT-compiled
artifacts to be rejected if those are mixed when building host and
target versions of Qt.

Pick-to: 6.8 6.5
Fixes: QTBUG-134442
Change-Id: Idba4aa4786ae5d638efd1324315a1a5c21ed070c
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
(cherry picked from commit 7fae1cbb3cfbb31060d0de5d5b25c91e45c38626)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark RegExpJitTables.h as non-module header</title>
<updated>2023-04-03T13:38:57+00:00</updated>
<author>
<name>Alexey Edelev</name>
<email>alexey.edelev@qt.io</email>
</author>
<published>2023-03-30T15:09:03+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f4528858f6f79c1c788c177985c5a9ccc0b8207b'/>
<id>f4528858f6f79c1c788c177985c5a9ccc0b8207b</id>
<content type='text'>
RegExpJitTables.h should not be processed by syncqt and should not
be installed. So disable any postprocessing of the header by setting
the _qt_non_module_header.

Pick-to: 6.5
Change-Id: Ib91399bacea5f792559a2ae2274bcdcb8ae9ae8b
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RegExpJitTables.h should not be processed by syncqt and should not
be installed. So disable any postprocessing of the header by setting
the _qt_non_module_header.

Pick-to: 6.5
Change-Id: Ib91399bacea5f792559a2ae2274bcdcb8ae9ae8b
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make Sure that `qml_compile_hash_p.h` Isn't Missing</title>
<updated>2022-10-26T12:02:58+00:00</updated>
<author>
<name>Amir Masoud Abdol</name>
<email>amirmasoudabdol@icloud.com</email>
</author>
<published>2022-10-21T09:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=64de90a97717ff04b8de7c069e8ce22f18e51641'/>
<id>64de90a97717ff04b8de7c069e8ce22f18e51641</id>
<content type='text'>
In the event of an unexpected build directory corruption, CMake
may fail to replace/install the `qml_compiler_hash_p.h` properly.

I have had similar errors with other files missing as well, so this
fix might be applicable to elsewhere as well.

Pick-to: 6.4
Change-Id: Ife3e28a09296b5428d0f0248648caabda601c94d
Reviewed-by: Alexey Edelev &lt;alexey.edelev@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the event of an unexpected build directory corruption, CMake
may fail to replace/install the `qml_compiler_hash_p.h` properly.

I have had similar errors with other files missing as well, so this
fix might be applicable to elsewhere as well.

Pick-to: 6.4
Change-Id: Ife3e28a09296b5428d0f0248648caabda601c94d
Reviewed-by: Alexey Edelev &lt;alexey.edelev@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark files generated by add_custom_command with the GENERATED property</title>
<updated>2022-09-27T00:42:57+00:00</updated>
<author>
<name>Alexey Edelev</name>
<email>alexey.edelev@qt.io</email>
</author>
<published>2022-09-23T10:20:27+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=db98e5c309c54df9b2cf5d6a2057cd0cb0a49a75'/>
<id>db98e5c309c54df9b2cf5d6a2057cd0cb0a49a75</id>
<content type='text'>
Old CMake versions don't set the GENERATED property to TRUE
automatically for files that are generated by add_custom_command calls.
Add the flag explicitly for guarantee the correct work of functions
that may use it.

Task-number: QTBUG-87480
Change-Id: Id3e924a9ae12f6a67f5280b8f369f0da84ac2bbf
Reviewed-by: Jörg Bornemann &lt;joerg.bornemann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Old CMake versions don't set the GENERATED property to TRUE
automatically for files that are generated by add_custom_command calls.
Add the flag explicitly for guarantee the correct work of functions
that may use it.

Task-number: QTBUG-87480
Change-Id: Id3e924a9ae12f6a67f5280b8f369f0da84ac2bbf
Reviewed-by: Jörg Bornemann &lt;joerg.bornemann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add qml_compile_hash_p.h to the Qml module sources</title>
<updated>2022-09-22T09:11:11+00:00</updated>
<author>
<name>Alexey Edelev</name>
<email>alexey.edelev@qt.io</email>
</author>
<published>2022-07-12T09:09:31+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1fddbe77f3922c92fa674cda8ef276feb0cd6858'/>
<id>1fddbe77f3922c92fa674cda8ef276feb0cd6858</id>
<content type='text'>
Change-Id: I0b607cda3e6e22d558010da5d405ed9cb017a914
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I0b607cda3e6e22d558010da5d405ed9cb017a914
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the license of all CMakeLists.txt and *.cmake files to BSD</title>
<updated>2022-09-07T15:01:30+00:00</updated>
<author>
<name>Lucie Gérard</name>
<email>lucie.gerard@qt.io</email>
</author>
<published>2022-08-26T08:37:37+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1b9808737a74c539970cc95d93d09d42705c12bf'/>
<id>1b9808737a74c539970cc95d93d09d42705c12bf</id>
<content type='text'>
Task-number: QTBUG-105718
Change-Id: Id89ed14990804a5024183e75382cc539d4293da1
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Jörg Bornemann &lt;joerg.bornemann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Task-number: QTBUG-105718
Change-Id: Id89ed14990804a5024183e75382cc539d4293da1
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Jörg Bornemann &lt;joerg.bornemann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add license headers to cmake files</title>
<updated>2022-07-08T08:41:06+00:00</updated>
<author>
<name>Lucie Gérard</name>
<email>lucie.gerard@qt.io</email>
</author>
<published>2022-07-05T12:02:29+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5a7b71647469f691110068aac12c666c95ecbc6b'/>
<id>5a7b71647469f691110068aac12c666c95ecbc6b</id>
<content type='text'>
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.

Existing copyright statements remain intact

Task-number: QTBUG-88621
Change-Id: I72c89a98c42bbc9234d8495e9e503bec81d11037
Reviewed-by: Jörg Bornemann &lt;joerg.bornemann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.

Existing copyright statements remain intact

Task-number: QTBUG-88621
Change-Id: I72c89a98c42bbc9234d8495e9e503bec81d11037
Reviewed-by: Jörg Bornemann &lt;joerg.bornemann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add VERBATIM option to add_custom_command calls</title>
<updated>2022-03-31T18:09:57+00:00</updated>
<author>
<name>Alexey Edelev</name>
<email>alexey.edelev@qt.io</email>
</author>
<published>2022-03-15T17:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=396d8b0d1759281f8de406e0c4b0b23a8999449c'/>
<id>396d8b0d1759281f8de406e0c4b0b23a8999449c</id>
<content type='text'>
Use VERBATIM option to prepare the correct command line for the
add_custom_command. This especially sensitive when using build
directories with names containing special symbols, that cannot be
handled by shell correctly.

Change-Id: Ic6ea2a557fe4e7ccc1d2a0c5c4ab707223c0b91a
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use VERBATIM option to prepare the correct command line for the
add_custom_command. This especially sensitive when using build
directories with names containing special symbols, that cannot be
handled by shell correctly.

Change-Id: Ic6ea2a557fe4e7ccc1d2a0c5c4ab707223c0b91a
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>CMake: Skip qml compile hash recreation in developer builds</title>
<updated>2022-02-12T13:03:45+00:00</updated>
<author>
<name>Alexandru Croitor</name>
<email>alexandru.croitor@qt.io</email>
</author>
<published>2022-02-10T11:34:43+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=09aecb0d7762010249ef8f78ef92367b73a4a1e8'/>
<id>09aecb0d7762010249ef8f78ef92367b73a4a1e8</id>
<content type='text'>
The current implementation favors recreation of the hash whenever
the git tree hash is changed and a cmake reconfiguration is forcibly
done by the developer. This causes a rebuild of the Qml library.

This dependency tracking is too coarse and not very helpful.

A developer that doesn't touch the Qml library sources will be
confused why a commit rebuilds the library.

A developer that does touch the Qml library will be confused why the
qml hash hasn't changed after running ninja, and even more
confused when it is changed after a commit and reconfigure.

To improve the situation a bit, the build system will now not recreate
the hash when doing a developer build and the developer will be
expected to remove the already existing hash file when necessary.

This will not cause issues in our CI developer build configurations
where cache files are not removed.
Even though the cache files are not removed, the qtdeclarative build
directory will be clean, which means the qml hash file will not be
present and will be created with up-to-date content, thus invalidating
all cache files.

Pick-to: 6.2 6.3
Change-Id: I809b2cffbc5bb2b09af4fb712c7e46a743bfd333
Reviewed-by: Alexey Edelev &lt;alexey.edelev@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current implementation favors recreation of the hash whenever
the git tree hash is changed and a cmake reconfiguration is forcibly
done by the developer. This causes a rebuild of the Qml library.

This dependency tracking is too coarse and not very helpful.

A developer that doesn't touch the Qml library sources will be
confused why a commit rebuilds the library.

A developer that does touch the Qml library will be confused why the
qml hash hasn't changed after running ninja, and even more
confused when it is changed after a commit and reconfigure.

To improve the situation a bit, the build system will now not recreate
the hash when doing a developer build and the developer will be
expected to remove the already existing hash file when necessary.

This will not cause issues in our CI developer build configurations
where cache files are not removed.
Even though the cache files are not removed, the qtdeclarative build
directory will be clean, which means the qml hash file will not be
present and will be created with up-to-date content, thus invalidating
all cache files.

Pick-to: 6.2 6.3
Change-Id: I809b2cffbc5bb2b09af4fb712c7e46a743bfd333
Reviewed-by: Alexey Edelev &lt;alexey.edelev@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
