// Test SET, VARIABLE_REQUIRES

#cmakedefine ONE_VAR
#cmakedefine ONE_VAR_IS_DEFINED
#cmakedefine ZERO_VAR

#define STRING_VAR "${STRING_VAR}"

// Test FOREACH

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

// 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

// 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