Enhance FOO_EXPORT macro
    Thiago Macieira 
    thiago at kde.org
       
    Fri May  4 09:01:16 BST 2007
    
    
  
Christian Ehrlicher said:
> Hi,
>
> I think FOO_EXPORT should be extented to
>
> #ifndef SOLID_EXPORT
> # if defined _WIN32 || defined _WIN64
> #  if defined(MAKE_SOLID_LIB)
> #   define SOLID_EXPORT KDE_EXPORT
> #  else
> #   define SOLID_EXPORT KDE_IMPORT
> #  endif
> # else /* UNIX */
> #  define SOLID_EXPORT KDE_EXPORT
> # endif
> #endif  /* ndef */
Why do we need to special-case the Windows branch? I see no reason to not
use KDE_IMPORT in all branches. We are, after all, importing code from an
existing library.
> Sometimes (see solid) a static lib is created (to run the testcases
> without the dependency to solid shared lib) which can't export symbols
> (and cmake/kde does not define MAKE_FOO_EXPORT). In this case I added
> something like this to cmakelists:
>
> set_target_properties(solid_static PROPERTIES COMPILE_FLAGS
> -DSOLID_EXPORT=)
Understood. This is probably easier than making the #ifdefs even more
complex to detect a static build.
-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
    
    
More information about the kde-core-devel
mailing list