mariuz / flamerobin

FlameRobin is a database administration tool for Firebird RDBMS. Our goal is to build a tool that is: lightweight (small footprint, fast execution) cross-platform (Linux, Windows, Mac OS X, FreeBSD) dependent only on other Open Source software
http://flamerobin.org
MIT License
214 stars 66 forks source link

Build System(s) are a Mess #120

Open blumf opened 4 years ago

blumf commented 4 years ago

Looking at ditching the Boost dependency, and the code part is easy, but changing the various build systems we have is a real PITA.

Theoretically, we just use the bake file, but that it out of date, both in format (current Bakefile uses a different file format, legacy doesn't support recent IDEs) and content (the flamerobin.bkl file is missing some recent source files)

So, rather than trying to repair that, does anyone want to look at my CMakeLists.txt file?

I've tested it on Windows (VS2019) and Linux (Slackware 14.2). It calls the update-revision-info script, builds, and sets up the *-templates directories ready for debugging. All that's missing is the install commands (for Linux, i.e. make install)

Special feature, for Windows devs, is you can directly specify the wxWidgets root (WXDIR) which makes it easier to try different wx versions on the same machine (it should check the WXDIR environment var too, but untested)

Quick guide for Win/Visual Studio use:

I'm not the biggest fan of CMake, but it does seem to be the standard. Should we switch?

mariuz commented 4 years ago

I agree that cmake is the way to go , then we can add vcpkg depdendency for wxwidgets

blumf commented 4 years ago

Bit more work on the build, Linux seems to work well now.

Only issue is no MacOS testing. Does anybody here currently do Mac dev?

Created a PR: #122

I'd suggest to following steps:

  1. Merge this PR
  2. Check everyone is okay with the new CMake system (hopefully this'll help #115)
  3. Update the GitHub test script (ccpp.yml) to use it
  4. Remove all the old build cruft
blumf commented 4 years ago

Are people doing okay with the CMake system?

arvanus commented 4 years ago

I still couldn't test it, I had a busy week

blumf commented 3 years ago

Before I forget what I did, PR #129 changes the workflow test to use the new CMake system and drop the Boost requirements.

It's working, so we can look at the final step in all this, removing the old build files.

blumf commented 3 years ago

It's been a while (work), would everybody be okay if we get rid of the old build files now?