Page 1 of 1

How to compile various clients?

Posted: Mon Nov 23, 2020 1:16 pm
by FreeWilly
Hello
Improbably as it may seem, I cannot find out how to compile any specific client and I don't see any hints in the install and configure documentation. Any help?

Re: How to compile various clients?

Posted: Mon Nov 23, 2020 4:01 pm
by cazfi
It's "--enable-client" configure option, e.g., "./configure --enable-client=qt". See './configure --help'

Re: How to compile various clients?

Posted: Mon Nov 23, 2020 10:09 pm
by FreeWilly
Thanks, cazfi!

There are some options I don't understand quite, e.g. about AI practice in the program or game.

"--with-default-ai default ai type [first static]"
Why is there an option for default AI? I thought default AI is always active in server if there is no other option taken.

" --with-ai-lib build in default AI code [if needed]"
same here.

Re: How to compile various clients?

Posted: Tue Nov 24, 2020 2:58 am
by cazfi
FreeWilly wrote:"--with-default-ai default ai type [first static]"
Why is there an option for default AI? I thought default AI is always active in server if there is no other option taken.
Yes, there always is an default AI type, but with this switch you can select which AI type is the default. You need that switch really rarely. Most of the time you don't want to play with AI modules at all. And when you do, you can simply give default ai as first entry for --enable-ai-static. Only if you would want to make dynamic module (and nobody has implemented working one!) the default, you would need this switch.

Code: Select all

./configure --enable-ai-static=classic,tex --with-default-ai=tex
FreeWilly wrote:" --with-ai-lib build in default AI code [if needed]"
same here.
That switch is for rather esoteric use-case of developers of new AI modules. As text in brackets says, default is to build it if needed. Only if freeciv is configured with such a AI type that does not use default AI code, it's not needed. Even then you can force it to be built with this switch (if you don't understand what I'm saying; don't worry, you don't need to touch that switch 99.999% of the time).