Re: [Interest] qmake with release config is called for debug build

2018-11-12 Thread Olivier B.
You can also use the COPIES qmake variable. It's used in a similar way
as INSTALLS, but instead of being run when you 'make install', it will
be run when you run 'make' of build the generated project in your IDE.
It's usefull when your exe has deps that need to be beside it in the
temp build dir for debugging
Le lun. 12 nov. 2018 à 15:13, Jérôme Godbout  a écrit :
>
> The way you wrote it, it will only copy the file when parsing the .pro/.pri 
> files, you need to make a target and add it to the build sequence.
>
> Here's the doc example:
> mytarget.target = .buildfile
> mytarget.commands = touch $$mytarget.target
> mytarget.depends = mytarget2
>
> mytarget2.commands = @echo Building $$mytarget.target
> QMAKE_EXTRA_TARGETS += mytarget mytarget2
>
> http://doc.qt.io/qt-5/qmake-advanced-usage.html
>
> I still wonder why it's not as simple as the MSBuild target system (I not a 
> lover of MSBuild, but that part was clear and simple) where QMake make it 
> super unfriendly.
>
>
> -Original Message-
> From: Interest  On Behalf 
> Of Alexander Dyagilev
> Sent: November 10, 2018 3:28 AM
> To: interest@qt-project.org
> Subject: [Interest] qmake with release config is called for debug build
>
> Hello,
>
> I'm using the following .pri file:
>
> include(macros.pri)
> win32:CONFIG(release, debug|release) {
>VC_RUNTIME_FOLDER="c:/Program Files (x86)/Microsoft Visual Studio 
> 14.0/VC/redist/x64/Microsoft.VC140.CRT"
>copyFilesToDestdir($$VC_RUNTIME_FOLDER, "msvcp140.dll") }
>
> It's supposed to copy msvcp140.dll to build folder for Release configuration 
> (so it will be included into the installer then).
>
> I do not need this msvcp140.dll to be copied to my Debug folder when I'm 
> working on the project. But it does copy it.
>
> Steps:
> 1) Remove file
> 2) Run qmake on project (active configuration is Debug).
>
> Result: file is copied.
>
> Can anything be done here except the using of QMAKE_POST_LINK here instead? 
> Why is CONFIG(release, debug|release) "not working" here?
>
> Some details below:
>
> copyFilesToDestdir is defined in macros.pri:
>
> defineTest(copyFilesToDestdir) {
>  pathSrc = $$1
>  files = $$2
>  folderDst = $$DESTDIR
>  subfolder = $$3
>  !isEmpty(subfolder) {
>  folderDst=$$folderDst/$$subfolder
>  }
>
>  DEST = $$shell_path($$OUT_PWD/$$folderDst)
>
>  for(filename, files) {
>  FILE = $$shell_path($$pathSrc/$$filename)
>  system($$QMAKE_COPY $$shell_quote($$FILE) $$shell_quote($$DEST))
>  }
> }
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] qmake with release config is called for debug build

2018-11-12 Thread Jérôme Godbout
The way you wrote it, it will only copy the file when parsing the .pro/.pri 
files, you need to make a target and add it to the build sequence.

Here's the doc example:
mytarget.target = .buildfile
mytarget.commands = touch $$mytarget.target
mytarget.depends = mytarget2

mytarget2.commands = @echo Building $$mytarget.target
QMAKE_EXTRA_TARGETS += mytarget mytarget2

http://doc.qt.io/qt-5/qmake-advanced-usage.html

I still wonder why it's not as simple as the MSBuild target system (I not a 
lover of MSBuild, but that part was clear and simple) where QMake make it super 
unfriendly.


-Original Message-
From: Interest  On Behalf 
Of Alexander Dyagilev
Sent: November 10, 2018 3:28 AM
To: interest@qt-project.org
Subject: [Interest] qmake with release config is called for debug build

Hello,

I'm using the following .pri file:

include(macros.pri)
win32:CONFIG(release, debug|release) {
   VC_RUNTIME_FOLDER="c:/Program Files (x86)/Microsoft Visual Studio 
14.0/VC/redist/x64/Microsoft.VC140.CRT"
   copyFilesToDestdir($$VC_RUNTIME_FOLDER, "msvcp140.dll") }

It's supposed to copy msvcp140.dll to build folder for Release configuration 
(so it will be included into the installer then).

I do not need this msvcp140.dll to be copied to my Debug folder when I'm 
working on the project. But it does copy it.

Steps:
1) Remove file
2) Run qmake on project (active configuration is Debug).

Result: file is copied.

Can anything be done here except the using of QMAKE_POST_LINK here instead? Why 
is CONFIG(release, debug|release) "not working" here?

Some details below:

copyFilesToDestdir is defined in macros.pri:

defineTest(copyFilesToDestdir) {
     pathSrc = $$1
     files = $$2
     folderDst = $$DESTDIR
     subfolder = $$3
     !isEmpty(subfolder) {
     folderDst=$$folderDst/$$subfolder
     }

     DEST = $$shell_path($$OUT_PWD/$$folderDst)

     for(filename, files) {
     FILE = $$shell_path($$pathSrc/$$filename)
     system($$QMAKE_COPY $$shell_quote($$FILE) $$shell_quote($$DEST))
     }
}

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] qmake with release config is called for debug build

2018-11-10 Thread Alexander Dyagilev

Hello,

I'm using the following .pri file:

include(macros.pri)
win32:CONFIG(release, debug|release) {
  VC_RUNTIME_FOLDER="c:/Program Files (x86)/Microsoft Visual Studio 
14.0/VC/redist/x64/Microsoft.VC140.CRT"

  copyFilesToDestdir($$VC_RUNTIME_FOLDER, "msvcp140.dll")
}

It's supposed to copy msvcp140.dll to build folder for Release 
configuration (so it will be included into the installer then).


I do not need this msvcp140.dll to be copied to my Debug folder when I'm 
working on the project. But it does copy it.


Steps:
1) Remove file
2) Run qmake on project (active configuration is Debug).

Result: file is copied.

Can anything be done here except the using of QMAKE_POST_LINK here 
instead? Why is CONFIG(release, debug|release) "not working" here?


Some details below:

copyFilesToDestdir is defined in macros.pri:

defineTest(copyFilesToDestdir) {
    pathSrc = $$1
    files = $$2
    folderDst = $$DESTDIR
    subfolder = $$3
    !isEmpty(subfolder) {
    folderDst=$$folderDst/$$subfolder
    }

    DEST = $$shell_path($$OUT_PWD/$$folderDst)

    for(filename, files) {
    FILE = $$shell_path($$pathSrc/$$filename)
    system($$QMAKE_COPY $$shell_quote($$FILE) $$shell_quote($$DEST))
    }
}

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest