Open Xender opened 10 years ago
Thanks for your ideas - for now i've done release feature, next thing that i will do is this building from source description. For now this can be only compiled with Code::Blocks on windows, in future i will provide build scripts for unix and i will add another IDEs to work with Zasuvka.
@PsichiX, use cb2make to generate Makefile from C::B project, example Makefile (main makefile):
cb2make cbproj.cbp -o Makefile.cb
make -f Makefile.cb
Just example, but i think, cmake will be better instead of Makefile.
Okay.
I see that project has both C++ and C# parts. I have no experience with C# on other OS-es, I only know that there is Mono...
As for .cbps, it looks like there's also tool called cbp2mak.
ok, so in one of the next versions i will provide makefiles for C++ and C# projects and executing them from makesdk.sh script (i have now all needed tools, thanks guys!) :)
http://www.nooooooooooooooo.com/
Speaking seriously, it looks like it would be better the other way - to put all the things that makesdk.sh script does as .PHONY "install" target in Makefile.
That one one could do good old "make install"
And there are some platform-specific *.dll globs in there (as well as such files for third-party libraries in repo, but I hope that is subject to being cleaned up?). It would be best if those would be handled in a generic way, because even when ported and done cross-platform, having separate if-else's for each platform would be pretty messy. I think that just whole contents of the folder should be copied. It's a matter of having the project hierarchy clean.
@Xender: what do you think about making platform-specific submodules for "requerements" folder to keep third-party libraries separated from pure code?
@PsychiX: do not include prebuilt libraries to source.
That's certainly better, but why not just include the binary libraries only in Windows releases? I'd go like this:
As far as I see, Linux people usually compile non-distro-packaged things from source (unless it's Firefox, sth written in Haskell, or similar building PITA :D), so the main need for releases are Windows compiled versions. So for them you can:
As releases are based on particular commits anyway, using either submodule or a separate branch for Windows binary deps could even be necessary for that (I don't know to what degree). Should it be submodule or a branch - hmm...
ok, so next weekend i will start to cleanup repo from binaries and prepare it to work with another platforms based on your advices, guys - at first i need to fix bugs and enhance IDE side to work more simple during making tutorials :)
Hi.
Including compiled binaries in Git repo is in general a very bad idea.
If you look for an easy way of distributing compiled versions, please look at GitHub's "Releases" feature. They allow to include binary files to downloads, without baking them into repo's history.
There are also no instructions for building from source. Nor there is a Makefile (as invoking make is fairly straightforward as long as Makefile doesn't do anything unexpected, providing a Makefile can be considered as an alternative to readme section about building instructions).
Also, does it run only on Windows with GNU tools installed, or is there a way to build a Windows+Visual Studio, GNU/Linux and Mac versions?