Opened 18 months ago

Last modified 8 months ago

#1445 new enhancement

CMake for HM

Reported by: jsauer Owned by:
Priority: minor Milestone:
Component: HM Version: HM-16.7
Keywords: Cc: ksuehring, davidf, karlsharman, jct-vc@…

Description

Hi,

I created a CMake configuration file for HM. You can find it attached. Create a folder named HM-dir/build/cmake and put it there. I also attached a short script (for Linux) which is meant to be run from the same directory and will build both debug and release configuration. I hope you will find this helpful and include it in future releases. CMake makes it easy to build configuration for a wide variety of systems. I only tested the generation of Unix makefiles for Linux, but other platforms should work as well.

Attachments (3)

CMakeLists.txt (6.7 KB) - added by jsauer 8 months ago.
cmake configuration file
buildAll.sh (318 bytes) - added by jsauer 8 months ago.
build script for linux
buildAllHBD.sh (376 bytes) - added by jsauer 8 months ago.

Download all attachments as: .zip

Change History (5)

comment:1 Changed 8 months ago by ksuehring

This fails (MacOS) with

Scanning dependencies of target TLibStatisticsStatic
make[2]: *** No rule to make target `CMakeFiles/TLibStatisticsStatic.dir/build'.  Stop.
make[1]: *** [CMakeFiles/TLibStatisticsStatic.dir/all] Error 2
make: *** [all] Error 2

Also missing

  • compiler options for extended warnings
  • compiler options to treat warnings as errors
  • Build of High Bit Depth variant of encoder / decoder

Changed 8 months ago by jsauer

cmake configuration file

Changed 8 months ago by jsauer

build script for linux

Changed 8 months ago by jsauer

comment:2 Changed 8 months ago by jsauer

I believe, I fixed the problem, but I don't use MacOS, please try it. Though I don't think that problem was specific to MacOS.

I also added the missing options, except for Werror, but I added a line which can be uncommented for that.

And I added the High Bit Depth variants, they compile, but I couldn't test them.

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber, Always)
  • jct-vc@…(Subscriber)
  • Johannes Sauer(Reporter, Participant)
  • Karl Sharman(Subscriber, Always)
  • Karsten Suehring(Subscriber, Participant, Always)