CMake/Tests/Module/GenerateExportHeader/exportheader_test.cpp

83 lines
1.5 KiB
C++

#include "libshared.h"
#include "libstatic.h"
// #define BUILD_FAIL
#ifndef BUILD_FAIL
#define DOES_NOT_BUILD(function)
#else
#define DOES_NOT_BUILD(function) function
#endif
int main()
{
{
Libshared l;
l.libshared();
l.libshared_exported();
l.libshared_deprecated();
l.libshared_not_exported();
DOES_NOT_BUILD(l.libshared_excluded();)
}
{
LibsharedNotExported l;
DOES_NOT_BUILD(l.libshared();)
l.libshared_exported();
l.libshared_deprecated();
DOES_NOT_BUILD(l.libshared_not_exported();)
DOES_NOT_BUILD(l.libshared_excluded();)
}
{
LibsharedExcluded l;
DOES_NOT_BUILD(l.libshared();)
l.libshared_exported();
l.libshared_deprecated();
DOES_NOT_BUILD(l.libshared_not_exported();)
DOES_NOT_BUILD(l.libshared_excluded();)
}
libshared_exported();
libshared_deprecated();
DOES_NOT_BUILD(libshared_not_exported();)
DOES_NOT_BUILD(libshared_excluded();)
{
Libstatic l;
l.libstatic();
l.libstatic_exported();
l.libstatic_deprecated();
l.libstatic_not_exported();
l.libstatic_excluded();
}
{
LibstaticNotExported l;
l.libstatic();
l.libstatic_exported();
l.libstatic_deprecated();
l.libstatic_not_exported();
l.libstatic_excluded();
}
{
LibstaticExcluded l;
l.libstatic();
l.libstatic_exported();
l.libstatic_deprecated();
l.libstatic_not_exported();
l.libstatic_excluded();
}
libstatic_exported();
libstatic_deprecated();
libstatic_not_exported();
libstatic_excluded();
return 0;
}