Hey Nimish, I'd like to help improve the Mac build system. It's ... 
painful. And I've been a developer for 25 years. Let me know if you've got 
a fork somewhere I can pull and help jam on. It shouldn't be this hard to 
build KiCad.

On Monday, March 20, 2023 at 11:26:04 PM UTC-4 Ajith N wrote:

> If KiCad indeed becomes easier to package, we'll know what kind of spirit 
> to thank, besides the personal free time itself.
>
> Not the kind that comes in bottles, I hope 😊
>
> Cheers!
>
> On Tue, 21 Mar 2023 at 00:16, Nimish Telang <[email protected]> wrote:
>
>> It's not the worst I've seen but it needs some maintenance. I’m going to 
>> see if I can make it better.
>>
>>  
>>
>> > That's a pretty strong <expletive> statement to come in with. KiCad 
>> has used cmake since 2007.
>>
>> > CMake has changed A LOT in that time and it was actually a lot less 
>> capable in the past. 
>>
>> > Not to mention just being a mess across platforms compared to how well 
>> it works now.
>>
>>  
>>
>> Yep, but it’s hard to explain cmake script updates in the last, say, 
>> year ignoring basic cmake features. Cmake has only recently become OK, 
>> admittedly.
>>
>>  
>>
>> It’s a strong statement since the system is in such a brittle state in 
>> contrast to Kicad itself which is better than ever.
>>
>>  
>>
>> ·         (Heck honestly at work, we wouldn't bother wasting our paid 
>> labor on "zombie code" too unless it was an actual problem)
>>
>>  
>>
>> Indeed, which is why it’s very, very odd that it’s being carried along. 
>>
>>  
>>
>> ·         The reason why we have forks of the find modules is because we 
>> need to support more than your personal build.
>>
>>  
>>
>> Quite so, but after bumping the version this is no longer a constraint. 
>> Right now, kicad doesn’t support a native build on macOS without 
>> considerable hoop-jumping and an entire repo of patched (and subtly buggy 
>> in its own way, unfortunately) cmake code; it never supported my 
>> personal build 😊 
>>
>>  
>>
>> ·         Typically, the problem was certain Linux distros 
>> running behind by quite a few years when it came to cmake versions. 
>> Ubuntu and Debian being the biggest culprits. 
>>
>> We cannot force those distros to download newer cmakes outside of their 
>> package manager ecosystem.
>>
>>  
>>
>> Given Kicad breaks user projects, scripts, and data with major upgrades, 
>> I have little sympathy for maintaining compatibility for distro 
>> maintainers. It’s their problem if they need to backport a modern cmake.
>>
>>  
>>
>> ·         I'm just going to say you should invest in some liquor, but 
>> not the top shelf stuff since you'll want a bunch. 
>>
>>  
>>
>> I’m in too deep already
>>
>>  
>>
>> Nimish
>>
>>  
>>
>>  
>>
>>  
>>
>> *From: *[email protected] <[email protected]> on behalf of Mark Roszko <
>> [email protected]>
>> *Date: *Sunday, March 19, 2023 at 9:59 PM
>> *To: *[email protected] <[email protected]>
>> *Subject: *Re: [kicad] Updating the build
>>
>> > . There's a lot of zombie code being carried in the Kicad repo for 
>> unclear gain
>>
>>  
>>
>> Welcome to the world of stuff that works and is low hanging fruit for a 
>> bunch of people doing this out of their personal free time. 
>>
>> (Heck honestly at work, we wouldn't bother wasting our paid labor on 
>> "zombie code" too unless it was an actual problem)
>>
>>  
>>
>> However, be warned, zombies do bite and go for the brain.
>>
>>  
>>
>> > It's clearly been accreted over the years without a lot of 
>> understanding of what cmake can do.
>>
>>  
>>
>> That's a pretty strong <expletive> statement to come in with. KiCad has 
>> used cmake since 2007.
>>
>> CMake has changed A LOT in that time and it was actually a lot less 
>> capable in the past. 
>>
>> Not to mention just being a mess across platforms compared to how well it 
>> works now.
>>
>>  
>>
>> > This also helps other systems since fewer stuff is added globally, and 
>> there's less system-specific code in Kicad itself.
>>
>>  
>>
>> The reason why we have forks of the find modules is because we need to 
>> support more than your personal build.
>>
>> Typically, the problem was certain Linux distros running behind by quite 
>> a few years when it came to cmake versions. Ubuntu and Debian being the 
>> biggest culprits. 
>>
>> We cannot force those distros to download newer cmakes outside of their 
>> package manager ecosystem.
>>
>>  
>>
>> Currently we have managed to bump that requirement to 3.21 luckily and 
>> that's a pretty recent and big jump from the previous 3.12 for last year.
>>
>>  
>>
>> > Kicad should not be this difficult to package.
>>
>>  
>>
>> I'm just going to say you should invest in some liquor, but not the top 
>> shelf stuff since you'll want a bunch.
>>
>>  
>>
>>  
>>
>> On Sun, Mar 19, 2023 at 4:11 PM Nimish Telang <[email protected]> wrote:
>>
>> Hi,
>>
>>  
>>
>> The current Kicad build cmake code is a man-made horror beyond my 
>> comprehension. It's clearly been accreted over the years without a lot of 
>> understanding of what cmake can do. Admittedly cmake itself is the cause of 
>> most of the horror, but we can do better.
>>
>>  
>>
>> I'm no cmake expert, but a few days of fixing the code has yielded some 
>> decent improvements. I expect more significant modularization changes to 
>> happen as well as the dependency graph is made more explicit. There's a lot 
>> of zombie code being carried in the Kicad repo for unclear gain, or for 
>> reasons that no longer apply in 2023.
>>
>>  
>>
>> Having to use kicad-mac-builder is also another pain to get kicad 
>> building on a Mac, and it is gating my ability to improve Kicad itself. It 
>> works, but isn't actually needed if the cmake is written correctly. This 
>> also helps other systems since fewer stuff is added globally, and there's 
>> less system-specific code in Kicad itself.
>>
>>  
>>
>> I'll also look into rebuilding the install/bundle/app code, as that's its 
>> own mess. Kicad should not be this difficult to package.
>>
>>  
>>
>> Nimish
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "KiCad Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/a/kicad.org/d/msgid/devlist/490e5cea-ff23-4b23-948f-62e88876a916n%40kicad.org
>>  
>> <https://groups.google.com/a/kicad.org/d/msgid/devlist/490e5cea-ff23-4b23-948f-62e88876a916n%40kicad.org?utm_medium=email&utm_source=footer>
>> .
>>
>>
>>  
>>
>> -- 
>>
>> Mark
>>
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "KiCad Developers" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/a/kicad.org/d/topic/devlist/VLosAq7pSxY/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/a/kicad.org/d/msgid/devlist/CAJjB1qLBD%2BcCmo-VOmwODYNdzGuoFefb2YixO7FT%3DyPDJ59iPg%40mail.gmail.com
>>  
>> <https://groups.google.com/a/kicad.org/d/msgid/devlist/CAJjB1qLBD%2BcCmo-VOmwODYNdzGuoFefb2YixO7FT%3DyPDJ59iPg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "KiCad Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>>
> To view this discussion on the web visit 
>> https://groups.google.com/a/kicad.org/d/msgid/devlist/BL3PR04MB79310672B76BC4B3920860B9A7809%40BL3PR04MB7931.namprd04.prod.outlook.com
>>  
>> <https://groups.google.com/a/kicad.org/d/msgid/devlist/BL3PR04MB79310672B76BC4B3920860B9A7809%40BL3PR04MB7931.namprd04.prod.outlook.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"KiCad Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/beb5fa66-55b3-4731-bd3a-cedd47442ec4n%40kicad.org.

Reply via email to