[GSoC 2020] CMake Build System

I will use this thread for reporting the progress of my project every week.

5 Likes

Weekly report: June 1st - June 7th

  • How was the last week? What did you accomplish?
    • Understood the process of Internationalization (i18n) and Localization (l10n) and made a CMake target to generate l10n files.
    • Requested a feature on the CMake repository (here) to make l10n process easier.
    • Looked at differences between debug and release (production) builds and implemented similar thing in CMake.
  • What is the #1 thing slowing you down?
    • Understanding CMake documentation at some places.
  • What do you want to have done by the end of next week?
    • Finish with pofiles (localization) target and different build types and get those merged along with starting on build_images target 1229.

Sometimes, it’s just better to refer to the implementation of a CMake function.

3 Likes

Awesome! Keep up the good work! :slight_smile:

1 Like

Weekly report: June 8th - June 14th

  • How was the last week? What did you accomplish?

    • Finished localization target #1462.
    • Fixed build_images target’s rebuilding behaviour #1478.
    • Fixed a CMake build related issue where app resource path was incorrect #1484.
    • Looked at CMake build for Windows and appveyor build along with making changes to change appveyor builds to CMake + Ninja #1491.
    • Worked on different types of builds based on CMAKE_BUILD_TYPE.
  • What is the #1 thing slowing you down?

    • Building different targets.
  • What do you want to have done by the end of next week?

    • Get #1462 and different CMake build type changes complete and merged.
    • Understand why CMake build on Windows fail, and make changes to get that working along with making similar changes for appveyor builds.
    • Start looking into vcpkg and try building Synfig using that.
3 Likes

Weekly report: June 15th - June 21st

  • How was the last week? What did you accomplish?

    • Finished different builds based on CMAKE_BUILD_TYPE #1500.
    • Fixed an issue where plugins, brushes and sounds were not being copied into share/synfig folder #1501.
  • What is the #1 thing slowing you down?

    • Understanding and fixing CMake and ninja builds on Windows.
  • What do you want to have done by the end of next week?

    • Change the appveyor build to use CMake and ninja #1491.
    • Get the previous PRs reviewed and merged.
3 Likes

Weekly report: June 22nd - June 28th

  • How was the last week? What did you accomplish?

    • Got #1462 and #1500 merged.
    • Finished work on moving files to /share/synfig #1501.
    • Narrowed down MSYS and Ninja build issues, found fixes for it, and successfully built it after some hacks on 64 bit system.
  • What is the #1 thing slowing you down?

    • Understanding and fixing CMake and ninja builds on Windows along with building it on Windows. It takes alot of time on building it on virtual machine :’<
  • What do you want to have done by the end of next week?

    • Understand CPack, and work on installation part using CPack.
    • Get #1501 merged.
3 Likes

Weekly report: June 29th - July 5th

  • How was the last week? What did you accomplish?

    • Got #1501 merged.
    • Finished work on .deb package #1519.
  • What is the #1 thing slowing you down?

    • Slowed down alot in the earlier part of the week because of the university requirements.
  • What do you want to have done by the end of next week?

    • Understand CPack NSIS and work on implementing it.
    • Look at existing issues with CMake and Ninja build on Windows using MSYS2 and work on fixing it on 32 bit system.
    • Get #1519 merged.
3 Likes

Weekly report: July 6th - July 12th

  • How was the last week? What did you accomplish?

    • Got #1519 merged.
    • Understood about NSIS and looked at various other projects to understand what they did on their NSIS builds.
    • Found out new issues with CMake and Ninja build on Windows that needs to be addressed.
  • What is the #1 thing slowing you down?

    • Since building on a VM was slowing down alot, I took out an old computer with Windows in it and started working there. I tried different ways to get a working executable on Windows but that didn’t seem as easy as I thought it would be.
  • What do you want to have done by the end of next week?

    • Hopefully get a running build on Windows.
    • Make appropriate changes in #1491.
    • Get a basic NSIS installer ready.
4 Likes

Weekly report: July 13th - July 19th

  • How was the last week? What did you accomplish?

    • Got a running build for Windows by following things that need to be done once the build is complete from here.
  • What is the #1 thing slowing you down?

    • A new semester at the university began with lectures everyday except Sunday ;-;
  • What do you want to have done by the end of next week?

    • Get #1491 merged.
    • Work on a basic NSIS installer.
3 Likes

Weekly report: July 13th - July 19th

  • How was the last week? What did you accomplish?

    • Made changes in #1491 as asked.
    • Worked on CMake Windows build to add an icon to the executable #1581.
    • Implemented a NSIS Installer #1582.
      image
  • What is the #1 thing slowing you down?

    • Alot of Windows builds ;-;
  • What do you want to have done by the end of next week?

4 Likes

Wooops, looks like I forgot to update the date on my last post. Sorry about that.

Fixed Dates: July 20th - July 26th

Weekly report: July 27th - August 2nd

  • How was the last week? What did you accomplish?

    • Got changes for appveyor build using CMake and ninja #1491 merged.
    • Fixed an issue that came in appveyor builds because of improper path #1595.
  • What is the #1 thing slowing you down?

    • This week was tough because of some personal issues.
  • What do you want to have done by the end of next week?

    • Get #1581 and #1582 merged.
    • Work on documentations.
    • Start working on making a DMG installer for Mac.
2 Likes

Weekly report: August 3rd - August 9th

  • How was the last week? What did you accomplish?

    • Got #1581 merged.
    • Set up a Mac based virtual machine and made different approaches to build a .app file.
  • What is the #1 thing slowing you down?

    • Building a .app file for Mac seems sorta confusing, and the fact that this was my first time using a Mac system (although it wasn’t that hard I guess) did slow me abit.
  • What do you want to have done by the end of next week?

    • Get #1582 merged.
    • Work on documentations.
    • Get a running .app file and then work on DMG installer.
2 Likes

Weekly report: August 10th - August 16th

  • How was the last week? What did you accomplish?

    • Got #1582 merged.
    • Wrote documentation of using CMake for building project on Linux, Windows (using MSYS2) and Mac OS. Also wrote about packaging it with CPack for Linux and Windows #53.
  • What is the #1 thing slowing you down?

    • An amalgum of a bit delayed communication and a bunch of failed attempts at making .app for Synfig using CMake.
  • What do you want to have done by the end of next week?

    • Get a proper running .app for MacOS and make a .dmg installer for it #1630
1 Like

Weekly report: August 17th - August 23rd

  • How was the last week? What did you accomplish?

    • Finished work on a specific CMake .app target which builds and runs on MacOS.
    • Fixed issues with Synfig CMake documentations on main repository #1644.
    • Added a basic VS2019 support with vcpkg to finish the basic CMake configurations #1646.
  • What is the #1 thing slowing you down?

    • University requirements comprising of graded quizzes (apparently, this is how they are planning to grade us since this semester is online) and some assignments.
  • What do you want to have done by the end of next week?

    • Work on finishing up installation target for MacOS and allow CPack to generate .dmg installer.
    • Work on final submission of my GSoC project.
2 Likes