Back to the table of contents|
Building on Linux
(If you want to build the bleeding-edge version, click here for instructions to get the latest source from our Git repository.)
Using CMake instead of Gnu Make
If you prefer to use CMake, you can:
(Disclaimer: The Waffles developers are currently more familiar with Gnu Make than CMake, so our CMakeLists.txt files may not be as polished as they should be. For example, they do not currently install the binaries after building them. If any CMake experts out there want to help polish these up, that would be appreciated.)
TroubleshootingHow do I build optimized binaries?
How do I build binaries with debug symbols?
I get build errors that look something like this:
../../obj/GClasses/dbg/GError.d:3: warning: overriding commands for target `GError.o' ../../obj/GClasses/opt/GError.d:3: warning: ignoring old commands for target `GError.o'
Try doing "make clean". That always fixes it for me. This is caused by a synchronization issue with generating the dependency (.d) files. Unfortunately, the solution would require adding locking mechanisms to the build process, which would require additional build dependencies, which would be worse than the problem it solves. So, just do "make clean", and the problem will go away.
Where can I get more specific help?
You can ask a question at our forum. If you post a question and you do not get a speedy response, please email me. Sometimes the email that is supposed to notify me that there is a new forum post is incorrectly classified as spam and discarded. My email address is on the main page.
Why isn't Waffles in the apt-get/yum repositories?
There's a lot of red-tape involved in getting an app into those repositories, and I'm too busy developing Waffles to bother with it. If you would like to become a package maintainer and do it, that would be a great contribution, and I would really appreciate it.
How do I change the installation target directory?
Just change the "INSTALL_LOCATION_" variables at the top of waffles/src/Makefile.
How do I build Waffles on a machine where I do not have sudo or root permissions?
Just do "make opt" instead of "sudo make install". This will build everything, but will not install it. You can run the binaries right out of the bin folder. Alternatively, you could change the install location as described in the previous question.
Why do you include the build dependencies for Windows, but not for Linux?
It is easy for Linux developers to get the dependencies from package repositories. This method is superior anyway because you get the latest versions. Windows users often require a little extra hand-holding, so I have made it extra convenient for them at the cost of linking to outdated libraries, etc.
How do I debug a Waffles app with KDevelop?
In KDevelop4, go to "Project->Open/Import Project". Choose the Makefile for the app you want to debug. Next, go to "Run->Configure Launches". Click on the name of the app. Click on the green plus sign. Specify the right executable binary. (The executable binary is in the bin folder, not the src folder. Use the binary that ends with "dbg". The one that doesn't end with dbg is the optimized one. If you do not see a binary that ends with "dbg", then you need to go into the "src" folder and do "make dbg".)
Back to the table of contents