Re: [AD] custom DLLs with cmake

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On Wed, 2008-12-24 at 05:10 -0800, Chris Robinson wrote:
> 
> Wouldn't the idea be to have one (set of) DLLs, that all Allegro programs use? 
> Apps that worry can provide their own, or they can be installed system-wide 
> for the rest.

Yes. And my personal DLLs really have nothing to do with the official
DLLs.

> For other developers, they may have their own tweaks or 
> development code, and want to use their own in place of the one with the app; 
> but if the app is built against a binary-incompatible lib, they couldn't (and 
> the creator might not even realize it was built against a binary-incompatible 
> lib).

You can't really build against any other but the official DLL unless you
compile yourself, as you need the .lib file and not the .dll. And
there's no way anyone could get the .lib file for the DLL I distribute
with my game.

> 
> Now imagine if it did give you a DLL, you built-against it, then provided just 
> an executable for other Allegro users to test. It inexplicably wouldn't work 
> for them, without any forewarning. :)

That seems unlikely in Windows, you basically always get the DLLs along
with the EXE. I wouldn't suggest incompatible .so files for linux
distributions (but as .so uses symbolic lookup, this wouldn't be much of
a problem there either I guess).

> 
> I've come to realize with CMake, you cannot rely on MESSAGE(STATUS ...) to 
> print warnings. If you use ccmake, or apparently some other graphical cmake 
> shell, you completely miss them. So even having
> MESSAGE(STATUS "Warning, you are building an incompatible DLL!")
> wouldn't be that good because some people may not see it, through no fault of 
> their own.

There's one place, which is the tooltip for the D3D and OpenGL options
(which we do provide after all). I'll put a warning into each that you
should not uncheck the box if you want a compatible DLL. But if you
choose to do so, I see no reason to add an extra hurdle of editing the
CMakeLists.txt before you can build again.

-- 
Elias Pschernig <elias@xxxxxxxxxx>





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/