-
-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CMakeLists.txt and fix README.md #27
Conversation
Everything is fine on appveyor with https://ci.appveyor.com/project/kenkit/bit7z |
But I think you should enable building of pull requests on appveyor so that pull requests will have to be tested |
We have to choose cmake generator, either 32bit or 64bit. |
I'm not sure if auto-detect should be enabled by default in cmake. |
Hi!
I must be honest: I don't like CMake (for various reasons which are not important here).
Yeah, I actually have a pretty complete test suite (using Catch2) which however I still don't publish since it contains a lot of "ugly" and unmaintainable code. I will try to heavily refactor and improve it in order to have it openly available (and for using it in the CI).
Actually, at least for the moment I would like to retain at least the
This is exactly one of the reasons of why I don't like CMake: too many commands and arguments for simple tasks.
No, it should not be enabled by default. It is a feature that takes a lot of space (due to the maps of file signatures/extensions used to detect the formats) and many users of bit7z probably will never use it since they know the format they are using. So I decided to make it disabled by default. Anyway, I'll review the commits asap. |
Currently you can use any toolcachain you want x86/x64, the only fix will have to be in appveyor and the /MT flag.
Fixed the auto-detect format to be disabled by default. |
The correction in the README.md file was correct, I totally forgot to add the |
Nice, I was wondering how to catch exceptions, but I figured manager after looking into the source. |
Hi!
Probably with the introduction of the support to Linux/p7zip (as well as MinGW) other changes will be required, but I would say to leave them for the future (since we are merging to v3.1). Please let me know if you have any doubt or suggestion! |
That's some nice work. |
Regarding the configuration of AppVeyor, although I think you can use CMake for that, I think it is better to take a more conservative approach and keep the current settings, at least for the moment (also considering that the Visual Studio project file will remain in this version of bit7z). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will update the wiki documentation with the release of the stable release.
Anyway, thank you again for your pull request!
Thanks for merging, I'm hardly free this days.
It's much easier maybe use if(VARIABLE_MSCVRT) ..else... |
I too considered the possibility of such fix, but unfortunately — as you noticed — it is only available in the latest version of CMake. |
Hi @kenkit! |
Enable build with cmake also fixups to appveyor.yml
Description
This change will allow anyone to generate project files for any project
Motivation and Context
Cmake is a much more flexible and crossplatform build tool
It should be possible for users to use other complilers like mingw(Not tested)
I am a user and also partly a maintainer of https://github.com/getnamo/7zip-cpp which offers features nearly similar to bit7z, but the projects developement has stalled.
How Has This Been Tested?
Types of changes
Checklist:
Add ctest framework after a test suite is added using google tests