[Solved]Building custom Qt from source
-
confclean
actually doesn't exist in Qt 5. IIRC, it was hard to make it work with Qt's modular structure. See https://bugreports.qt.io/browse/QTBUG-34304 for a discussion.Did you get the source code from git? Or did you download the source package?
-
@JKSH
code.qt.io/qt using git -
-
Assuming that you checked out the code to C:\Qt\git, use the following commands to clean your source tree:
> cd C:\Qt\git\ > git clean -dfx > git submodule foreach "git clean -dfx"
-
@JKSH said:
Assuming that you checked out the code to C:\Qt\git, use the following commands to clean your source tree:
> cd C:\Qt\git\ > git clean -dfx > git submodule foreach "git clean -dfx"
So this is in regards to making a correction and perform a re-build? I didn't do that for the initial build.
From memory, I do a checkout, init-repository --no-webkit, and then perform the configure step and finally the call to nmake.
-
My bad, old reflex from Qt 4. However, I'd recommend an out of source build, so you don't have to clean anything, just nuke the current build folder content and restart
-
@SGaist said:
I'd recommend an out of source build, so you don't have to clean anything
Hi,
Not sure I understand what "out of source" means. I get the part about nuke the current folder. If what you mean is just delete the build folder and start again, then I must ask, does not doing a clean solve that?
-
It literally means build from another folder outside of Qt's source tree so basically:
cd qt_build C:\Path\to\Qt\configure
Indeed, the result is pretty much the same however It's generally faster (at least for me until now) to delete a folder than to recursively go through all Qt's modules and clean one after the other.
-
@SGaist
Understood. Issue still dogging me though as to why it can't find the include files for openssl -
@astodolski said:
So this is in regards to making a correction and perform a re-build?
Yes.
I didn't do that for the initial build.
Before your initial build, your folders were already clean, so you didn't need to clean them.
@SGaist said:
I'd recommend an out of source build, so you don't have to clean anything, just nuke the current build folder content and restart
Yes, that sounds very useful and it works for both git and non-git sources, I'll need to try this the next time I build!
-
@astodolski
Can you share the full configure line you are using and the build setup summary ?@JKSH
Out of source is just so great, you should ;) -
@SGaist said:
@astodolski
Can you share the full configure line you are using and the build setup summary ?@JKSH
Out of source is just so great, you should ;)-debug-and-release
-opensource
-shared
-opengl
desktop
-nomake
examples
-nomake
tests
-no-icu
-no-angle
-no-style-windowsce
-no-style-windowsmobile
-mp
-platform
win32-msvc2013
-openssl
-I
C:\openssl-1.0.2d\include
-L
C:\openssl-1.0.2d\lib
-prefix
c:\qt\5.6\msvc2013
-saveconfig
light_cfg -
@JKSH said:
Assuming that you checked out the code to C:\Qt\git, use the following commands to clean your source tree:
> cd C:\Qt\git\ > git clean -dfx > git submodule foreach "git clean -dfx"
WOW! That is amazingly faster than nmake clean. Thanks for that.
-
@SGaist said:
It literally means build from another folder outside of Qt's source tree so basically:
cd qt_build C:\Path\to\Qt\configure
Indeed, the result is pretty much the same however It's generally faster (at least for me until now) to delete a folder than to recursively go through all Qt's modules and clean one after the other.
Looking at the batch file in the root folder, it looks as if that file does essentially the same thing. i.e configure.bat cd's to qtbase\configure
-
Yes but it also triggers the build of the other modules, otherwise you will only build qtbase.
Can you try again with -openssl-linked ?
-
@SGaist said:
Yes but it also triggers the build of the other modules, otherwise you will only build qtbase.
Can you try again with -openssl-linked ?
OK. So on my checked out build I have:
c:\Qt\qt5You're suggesting:
cd c:\Qt\qt5
qtbase\configureIs that correct?
There exists a configure script in both the root and the qtbase folder
-
No, I'm suggesting:
cd C:\Qt\MyQt5Build C:\Qt\qt5\configure.bat
-
@SGaist said:
No, I'm suggesting:
cd C:\Qt\MyQt5Build C:\Qt\qt5\configure.bat
So MyQt5Build is initially empty and is a target folder for the build correct? That's what you meant by shadow build?
-
Yes, the same thing happening by default when you build a project with Qt Creator
-
@astodolski said:
There exists a configure script in both the root and the qtbase folder
Do not use the script in
qtbase
directly. Only use the root script.