
#ifndef BOOL_PROP1
#error Expected BOOL_PROP1
#endif

#ifndef BOOL_PROP2
#error Expected BOOL_PROP2
#endif

#ifndef BOOL_PROP3
#error Expected BOOL_PROP3
#endif

#ifndef STRING_PROP1
#error Expected STRING_PROP1
#endif

#ifndef STRING_PROP2
#error Expected STRING_PROP2
#endif

#ifndef STRING_PROP3
#error Expected STRING_PROP3
#endif

template <bool test>
struct CMakeStaticAssert;

template <>
struct CMakeStaticAssert<true>
{
};

enum
{
  NumericMaxTest1 = sizeof(CMakeStaticAssert<NUMBER_MAX_PROP1 == 100>),
  NumericMaxTest2 = sizeof(CMakeStaticAssert<NUMBER_MAX_PROP2 == 250>),
  NumericMinTest1 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP1 == 50>),
  NumericMinTest2 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP2 == 200>),
  NumericMinTest3 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP3 == 0xA>),
  NumericMinTest4 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP4 == 0x10>)
};

#include "iface2.h"

int foo();
#ifdef _WIN32
__declspec(dllimport)
#endif
  int bar();

int main(int argc, char** argv)
{
  Iface2 if2;
  return if2.foo() + foo() + bar();
}
