Comments (6)
That's right. I strongly considered leaving qmake there. I didn't want support CMake. I didn't even want to learn it. But it turned out users needed it. That it's the de-facto standard build system for C/C++. So I had to learn it in the end.
Then I considered supporting both qmake and CMake. But that turned out to be very confusing. The two systems are very different and maintaining both in a consistent manner would be very problematic. For example, if someone were to send me a PR for CMake, I'd need to make sure I do the same thing with qmake if possible, and do my best to figure out the best compromise otherwise. The worst part is that qmake install wouldn't contain CMake config files, so it would be very problematic for CMake users (and most of the users are CMake users) to use QuaZip that someone else installed using qmake.
Of course, the other option was to leave both in an inconsistent state, just maintain them independently. That's exactly what the situation was with 0.x, and by the end it confused everyone. Nobody knew what the right include paths were, or what the binary would be named because CMake and qmake builds had very different ideas about those.
So ditching qmake was the only sensible option in the end. Qt 6 is rumored to use CMake as the main build system. Qt 5 supports it too. Qt Creator supports it. And CMake itself supports Qt 4. Using CMake, on the other hand, is as simple as download-and-install. Nothing prevents you from using QuaZip from a qmake project either, just specify the right library and include paths and link to the library.
Read #60 and #82 if you're interested in historic details.
from quazip.
qmake support was recently ditched in commit 1cf777c
from quazip.
@stachenov Yes,you are right,We should be ready to embrace cmake.But the documentation's section Build... still uses qmake.
from quazip.
Where exactly? If you're referring to GitHub pages, they are updated every release. 1.0 isn't released yet. The latest docs can be built by running doxygen
in the project root, the output will be in doc/html
. The only place qmake is mentioned now is where I explain why CMake should now be used instead.
from quazip.
doc mainpage,Section-Building, testing and installing. The footer of page displays that Generated on Wed Apr 29 2020 17:09:53, it should be before switching to cmake.
from quazip.
And the title says quazip-0.9. As I’ve mentioned, the docs are updated every release. 1.0 wasn’t released yet. You can easily build the latest docs from source.
from quazip.
Related Issues (20)
- Detection of Qt is flawed. HOT 7
- pkgconfig file doesn't require bzip2 library.
- Quazip does not compile with Qt6.4 (mingw32) on Windows HOT 5
- Unable to open a zip file in the application resources on Windows
- Failed to build quazip for Android using qt 6.3.2 HOT 1
- Duplicated symbols when linking with minizip HOT 1
- QUAZIP_USE_QT_ZLIB doesn't work on Qt version 6.3.1 HOT 1
- Compilation Quazip Qt6.4 (mingw32) on Windows
- Failed to build Quazip with Qt6.5.0 (MacOS M1 ventura) HOT 3
- QuaZipFile::open(OpenMode mode, const QuaZipNewInfo& info ...) does not set fileName
- Install instruction from documentation fails (Unknown argument -D) (Linux) HOT 1
- Function open() return wrong status
- CMake errors when configuring from latest QuaZip (1.4) HOT 4
- error LNK2019 HOT 1
- Remove Qt6::Core5Compat HOT 4
- New maintainer wanted HOT 16
- Add a test to cover ZLIB_CONST
- Sync the minizip code from upstream HOT 1
- Set the compression method and level for JlCompress HOT 4
- The Core5Compat target is mentioned as a dependency for QuaZip::QuaZip, but not declared. HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quazip.