Project

General

Profile

Feature #1887

Migrate project build system to CMake 3

Added by skyjake almost 10 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
Redesign
Start date:
2014-10-20
% Done:

100%


Description

CMake is much improved compared to the last time Doomsday used CMake for building the project. Nowadays we should be able to achieve the following:
  • full support for Windows, Mac and various Unix platforms (including IDE project generation for MSVS, Xcode, etc.)
  • Qt 5 integration without hacks and kludges
  • robust verification of required dependencies (and configuring of optional dependencies, in case fallbacks available)
  • Amethyst integration for generating docs
  • native packaging: WiX, Mac app bundles, tarballs

Particularly the first bullet point is a great advantage over qmake. Also, it's worth noting that Qt itself appears to plan to leave qmake behind (with qbs being the likely successor).


Related issues

Related to Feature #1643: Windows installer using WiX ToolsetClosed2013-10-27

Related to Feature #1794: Mobile apps and shared client/server code (more modular code structure)Closed2014-05-02

Related to Feature #1600: Drop SnowberryClosed2014-04-192014-04-19

Related to Feature #2092: [Unix] Add .desktop files for apps in the installationClosed2015-06-15

Related to Bug #1717: [Windows] Obsolete support and update links in Add / Remove ProgramsClosed2014-01-25

Precedes Feature #2016: "Portable app" package (app contained in a folder, with all user data included; e.g., for USB sticks)Closed2014-10-21

Precedes Bug #2017: Build .pack/PK3 packages using CMake, with dependency tracking and automatic rebuildingProgressed2014-10-21

History

#1 Updated by skyjake almost 10 years ago

  • Description updated (diff)

#2 Updated by skyjake almost 10 years ago

  • Description updated (diff)

#3 Updated by skyjake almost 10 years ago

  • Related to Feature #1643: Windows installer using WiX Toolset added

#4 Updated by skyjake over 9 years ago

  • Priority changed from Normal to High

#5 Updated by skyjake over 9 years ago

  • Tags changed from Builder to Builder, Windows, Mac, Unix, CMake
  • Status changed from New to In Progress
  • % Done changed from 0 to 50

#6 Updated by skyjake over 9 years ago

  • Description updated (diff)

#7 Updated by skyjake over 9 years ago

  • Tags changed from Builder, Windows, Mac, Unix, CMake to Builder, Windows, Mac, Unix, CMake, Amethyst

#8 Updated by skyjake over 9 years ago

  • % Done changed from 50 to 60

#9 Updated by skyjake over 9 years ago

This work is ongoing in the cmake-build branch. The status is that one can build a fully functional Doomsday plus all other components (libs, plugins, tools, tests) on Windows, OS X, and Linux. The next step is using CPack to create binary and source packages for distribution.

#10 Updated by skyjake over 9 years ago

  • % Done changed from 60 to 80

#11 Updated by skyjake over 9 years ago

CPack packaging is now set up. The produced packages still need fine-tuning with regard to metadata, installer UI graphics, etc.

#12 Updated by skyjake over 9 years ago

The final hurdle before this can be merged to master is to update the autobuilder to use CMake. This means that Snowberry packaging must be done via CMake, too, although most likely just running the existing scripts for this purpose is sufficient.

#13 Updated by skyjake over 9 years ago

  • % Done changed from 80 to 90

#14 Updated by skyjake over 9 years ago

  • Related to Feature #1794: Mobile apps and shared client/server code (more modular code structure) added

#15 Updated by skyjake over 9 years ago

#16 Updated by danij over 9 years ago

  • Priority changed from High to Urgent

#17 Updated by danij over 9 years ago

  • Precedes Feature #2016: "Portable app" package (app contained in a folder, with all user data included; e.g., for USB sticks) added

#18 Updated by rhargrave over 9 years ago

Excellent. This is great, as I can actually compile, run, and debug doomsday without having an aneurism over QMake nonsense!

#19 Updated by skyjake over 9 years ago

  • Precedes Bug #2017: Build .pack/PK3 packages using CMake, with dependency tracking and automatic rebuilding added

#20 Updated by skyjake over 9 years ago

  • Target version changed from 42 to 2.0 – Home UI & Packages

#21 Updated by skyjake over 9 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 90 to 100

#22 Updated by skyjake over 9 years ago

  • Status changed from Resolved to Closed

#23 Updated by skyjake over 9 years ago

  • Related to Feature #2092: [Unix] Add .desktop files for apps in the installation added

#24 Updated by skyjake over 7 years ago

  • Related to Bug #1717: [Windows] Obsolete support and update links in Add / Remove Programs added

Also available in: Atom PDF