Merge pull request #3326 from jeandet/generated_qrc
[Qt module] Add File object support for generated or not qrc filespull/3303/merge
commit
269db40445
6 changed files with 108 additions and 15 deletions
@ -0,0 +1,6 @@ |
||||
#!/usr/bin/env python3 |
||||
import sys |
||||
|
||||
if len(sys.argv) > 1: |
||||
with open(sys.argv[1], "w") as output: |
||||
output.write("Hello World") |
@ -1,9 +1,28 @@ |
||||
#include <QImage> |
||||
#include <QFile> |
||||
#include <QString> |
||||
|
||||
int main(int argc, char **argv) { |
||||
#ifndef UNITY_BUILD |
||||
Q_INIT_RESOURCE(stuff3); |
||||
QImage qi(":/thing.png"); |
||||
if(qi.width() != 640) { |
||||
Q_INIT_RESOURCE(stuff4); |
||||
#endif |
||||
|
||||
for(auto fname:{":/thing.png", ":/thing4.png"}) |
||||
{ |
||||
QImage img1(fname); |
||||
if(img1.width() != 640) { |
||||
return 1; |
||||
} |
||||
} |
||||
|
||||
for(auto fname:{":/txt_resource.txt",":/txt_resource2.txt"}) |
||||
{ |
||||
QFile file(fname); |
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) |
||||
return 1; |
||||
QString line = file.readLine(); |
||||
if(line.compare("Hello World")) |
||||
return 1; |
||||
} |
||||
return 0; |
||||
|
@ -1,4 +1,32 @@ |
||||
|
||||
qresources = qtmodule.preprocess(qresources : 'resources/stuff3.qrc') |
||||
simple_gen = find_program('generator.py', required : true) |
||||
|
||||
app = executable('subfolder', 'main.cpp', qresources, dependencies : qtdep) |
||||
txt_resource = custom_target('txt_resource', |
||||
output : 'txt_resource.txt', |
||||
command : [simple_gen, '@OUTPUT@'], |
||||
) |
||||
|
||||
cfg = configuration_data() |
||||
|
||||
cfg.set('filepath', meson.current_source_dir()+'/../thing2.png') |
||||
cfg.set('txt_resource', txt_resource.full_path()) |
||||
# here we abuse the system by guessing build dir layout |
||||
cfg.set('txt_resource2', 'txt_resource.txt') |
||||
|
||||
|
||||
rc_file = configure_file( |
||||
configuration : cfg, |
||||
input : 'resources/stuff4.qrc.in', |
||||
output : 'stuff4.qrc', |
||||
) |
||||
|
||||
extra_cpp_args = [] |
||||
if meson.is_unity() |
||||
extra_cpp_args += '-DUNITY_BUILD' |
||||
qresources = qtmodule.preprocess(qt + '_subfolder_unity_ressource',qresources : ['resources/stuff3.qrc', rc_file]) |
||||
else |
||||
qresources = qtmodule.preprocess(qresources : ['resources/stuff3.qrc', rc_file]) |
||||
endif |
||||
|
||||
app = executable('subfolder', 'main.cpp', qresources, dependencies : qtdep, cpp_args: extra_cpp_args) |
||||
test(qt + 'subfolder', app) |
||||
|
@ -0,0 +1,8 @@ |
||||
<!DOCTYPE RCC> |
||||
<RCC version="1.0"> |
||||
<qresource> |
||||
<file alias="thing4.png">@filepath@</file> |
||||
<file alias="txt_resource.txt">@txt_resource@</file> |
||||
<file alias="txt_resource2.txt">@txt_resource2@</file> |
||||
</qresource> |
||||
</RCC> |
Loading…
Reference in new issue