#include "includefile"

/* This should be configured to a define.  */
#cmakedefine TEST_DEFINED @TEST_DEFINED@
/* This should be configured to a commented undef with the curlies in place */
#cmakedefine TEST_NOT_DEFINED ${TEST_NOT_DEFINED}

/* This complicated line should be configured unchanged: */
static const char* configvar =
"@$@$junk =~ s/#$xyz#/$foo_bar{$wibble}->{$xyz}/;@@";

int CheckMethod(const char* var, const char* val )
{
  if ( !var )
    {
    printf("Var not specified\n");
    return 1;
    }
  if ( !val )
    {
    printf("Val not specified\n");
    return 1;
    }
  if ( strcmp(var, val) != 0)
    {
    printf("Var (%s) and Val (%s) are not the same...\n", var, val);
    return 1;
    }
#if !defined(TEST_DEFINED) || TEST_DEFINED != 123
  printf("TEST_DEFINED is not defined to 123\n");
  return 1;
#elif defined(TEST_NOT_DEFINED)
  printf("TEST_NOT_DEFINED is defined\n");
  return 1;
#else
  return 0;
#endif
}
