[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-buildsystem
Subject:    Re: Is ECM a good place for implementing Nim support in CMake?
From:       Albert Astals Cid <aacid () kde ! org>
Date:       2024-04-28 10:50:06
Message-ID: 2324729.MyX2LXpxV6 () xps15
[Download RAW message or body]

El divendres, 19 d'abril del 2024, a les 11:17:09 (CEST), Anna (cybertailor) 
Vyalkova va escriure:
> Hi,
> 
> I'd like to develop Nim applications (with possible GUI support via
> nimqt) but this language lacks support for any standard build system.
> 
> So that's the thing I'm focused on right now (just happened to also be
> my favorite thing).
> 
> Alternatives I considered:
> 
> 1. Procedure described in "CMakeAddNewLanguage.txt". First of all,
> that's scary and second it doesn't cover my use case: Nim is not a
> compiler but rather a transpiler. It compiles Nim code into C/C++/JS
> code and then calls system compiler to get native binaries. These steps
> could be separated.
> 
> 2. Going with my own "nim-for-cmake" module library. That's possible but
> requires lots of boilerplate code that can be avoided if these modules
> become part of ECM.
> 
> I've implemented an alternative build system for Nim's "nimble" packages
> before so I know the necessary steps: 1) find the compiler, 2) find the
> deps, 3) generate a json-script, 4) extract the depfiles, 5) execute the
> script.
> 
> Can I start making such ECM module or should it be a separate CMake
> module library?

You will probably find more people that know about ECM in kde frameworks devel 
mailing list than here, this list is nowadays pretty dormant.

My suggetsion would be, talk to the cmake folks, they are a relatively open 
bunch of people that like their build system to support as many things 
possible and what you really want is to have support in cmake itself, not 
having to include some extra stuff to make it work.

Cheers,
  Albert


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic