I am planning a project written in Haskell, maybe there are some parts in C as well. For the buildsystem I decided against the common choice for Haskell programs cabal, mainly b
You can certainly use CMake to build Haskell applications and libraries. To do so, you will need to duplicate much of what Cabal does, which will be instructive, but also time consuming.
I'd recommend using cabal build -v
to see the commands emitted by Cabal, and then transcribing them into CMake form.
Or, use CMake to call cabal on the Haskell code -- that's likely to be less annoying.