// Test SET, VARIABLE_REQUIRES

#cmakedefine ONE_VAR
#cmakedefine ONE_VAR_IS_DEFINED
#cmakedefine ZERO_VAR

#cmakedefine COMPLEX_TEST_CMAKELIB

#define STRING_VAR "${STRING_VAR}"

// Test FOREACH

#define FOREACH_VAR1 "${FOREACH_VAR1}"
#define FOREACH_VAR2 "${FOREACH_VAR2}"
#define FOREACH_CONCAT "${FOREACH_CONCAT}"

// Test WHILE
#define WHILE_VALUE ${while_var}

// Test FIND_FILE, FIND_PATH and various GET_FILENAME_COMPONENT combinations

#define FILENAME_VAR_PATH_NAME "${FILENAME_VAR_PATH_NAME}"
#define FILENAME_VAR_NAME "${FILENAME_VAR_NAME}"
#define FILENAME_VAR_EXT "${FILENAME_VAR_EXT}"
#define FILENAME_VAR_NAME_WE "${FILENAME_VAR_NAME_WE}"

#define PATH_VAR_NAME "${PATH_VAR_NAME}"

// Test LOAD_CACHE

#define CACHE_TEST_VAR1 "${CACHE_TEST_VAR1}"
#define CACHE_TEST_VAR2 "${CACHE_TEST_VAR2}"
#define CACHE_TEST_VAR3 "${CACHE_TEST_VAR3}"
#cmakedefine CACHE_TEST_VAR_EXCLUDED
#define CACHE_TEST_VAR_INTERNAL "${CACHE_TEST_VAR_INTERNAL}"

// Test internal CMake vars from C++ flags

#cmakedefine CMAKE_NO_STD_NAMESPACE
#cmakedefine CMAKE_NO_ANSI_STREAM_HEADERS
#cmakedefine CMAKE_NO_ANSI_STRING_STREAM
#cmakedefine CMAKE_NO_ANSI_FOR_SCOPE

#cmakedefine01 SHOULD_BE_ZERO
#cmakedefine01 SHOULD_BE_ONE
// Needed to check for files

#define BINARY_DIR "${Complex_BINARY_DIR}"

// Test FIND_LIBRARY

#define FIND_DUMMY_LIB "${FIND_DUMMY_LIB}"

// Test SET_SOURCE_FILES_PROPERTIES

#cmakedefine FILE_HAS_ABSTRACT
#cmakedefine FILE_HAS_WRAP_EXCLUDE
#define FILE_COMPILE_FLAGS "${FILE_COMPILE_FLAGS}"

#define TEST_SEP "${TEST_SEP}"

// Test registry read

#if defined(_WIN32) && !defined(__CYGWIN__)
#define REGISTRY_TEST_PATH "${REGISTRY_TEST_PATH}"
#endif

// Test Remove command
#define REMOVE_STRING "${REMOVE_STRING}"

// Test IF inside FOREACH
#cmakedefine IF_INSIDE_FOREACH_THEN_EXECUTED
#cmakedefine IF_INSIDE_FOREACH_ELSE_EXECUTED

// Test SET CACHE FORCE
#cmakedefine FORCE_TEST
#define CMAKE_GENERATOR "${CMAKE_GENERATOR}"

#define CMAKE_SHARED_MODULE_PREFIX "${CMAKE_SHARED_MODULE_PREFIX}"
#define CMAKE_SHARED_MODULE_SUFFIX "${CMAKE_SHARED_MODULE_SUFFIX}"

// test elseif
#cmakedefine ELSEIF_RESULT
