/*
 * Here is where system computed values get stored.
 * These values should only change when the target compile platform changes.
 */

#ifndef __vtkSlicerConfigure_h
#define __vtkSlicerConfigure_h

#define Slicer_ORGANIZATION_DOMAIN "@Slicer_ORGANIZATION_DOMAIN@"
#define Slicer_ORGANIZATION_NAME "@Slicer_ORGANIZATION_NAME@"

#define SLICER_REVISION_SPECIFIC_USER_SETTINGS_FILEBASENAME "@SLICER_REVISION_SPECIFIC_USER_SETTINGS_FILEBASENAME@"

#define Slicer_DEFAULT_HOME_MODULE "@Slicer_DEFAULT_HOME_MODULE@"
#define Slicer_DEFAULT_FAVORITE_MODULES "@Slicer_DEFAULT_FAVORITE_MODULES@"

#define Slicer_DISCLAIMER_AT_STARTUP "@Slicer_DISCLAIMER_AT_STARTUP@"

#if defined(WIN32) && !defined(VTKSLICER_STATIC)
#pragma warning ( disable : 4275 )
#endif

#cmakedefine BUILD_SHARED_LIBS
#ifndef BUILD_SHARED_LIBS
#define VTKSLICER_STATIC
#endif

#cmakedefine Slicer_STORE_SETTINGS_IN_APPLICATION_HOME_DIR

#cmakedefine Slicer_USE_IGSTK
#cmakedefine Slicer_USE_NAVITRACK
#cmakedefine Slicer_USE_NUMPY
#cmakedefine Slicer_USE_PYTHONQT
#cmakedefine Slicer_USE_PYTHONQT_WITH_OPENSSL
#cmakedefine Slicer_USE_DCMTK_WITH_OPENSSL
#cmakedefine Slicer_USE_QtTesting
#cmakedefine Slicer_USE_OPENTRACKER

#ifndef Slicer_HAVE_QT5
#cmakedefine Slicer_HAVE_QT5
#endif
#cmakedefine Slicer_HAVE_WEBKIT_SUPPORT

#define VTKSLICER_CONFIGURATION_TYPES "@CMAKE_CONFIGURATION_TYPES@"
#cmakedefine Slicer_BUILD_WIN32_CONSOLE
#cmakedefine Slicer_BUILD_WIN32_CONSOLE_LAUNCHER

#define Slicer_MAIN_PROJECT_APPLICATION_NAME "@Slicer_MAIN_PROJECT_APPLICATION_NAME@"
#define Slicer_MAIN_PROJECT_APPLICATION_DISPLAY_NAME "@Slicer_MAIN_PROJECT_APPLICATION_DISPLAY_NAME@"
#define Slicer_BIN_DIR "@Slicer_BIN_DIR@"
#define Slicer_LIB_DIR "@Slicer_LIB_DIR@"
#define Slicer_INCLUDE_DIR "@Slicer_INCLUDE_DIR@"
#define Slicer_SHARE_DIR "@Slicer_SHARE_DIR@"
#define Slicer_ITKFACTORIES_DIR "@Slicer_ITKFACTORIES_DIR@"

#define Slicer_QtPlugins_DIR "@Slicer_QtPlugins_DIR@"

#define Slicer_BUNDLE_LOCATION "@Slicer_BUNDLE_LOCATION@"

#cmakedefine Slicer_BUILD_EXTENSIONMANAGER_SUPPORT
#ifdef Slicer_BUILD_EXTENSIONMANAGER_SUPPORT
#  define Slicer_EXTENSIONS_DIRBASENAME "@Slicer_EXTENSIONS_DIRBASENAME@"
#  define Slicer_EXTENSIONS_DIRNAME "@Slicer_EXTENSIONS_DIRNAME@" // Deprecated - Remove in Slicer 5.5
#endif

#cmakedefine Slicer_BUILD_APPLICATIONUPDATE_SUPPORT

#cmakedefine Slicer_BUILD_DICOM_SUPPORT
#cmakedefine Slicer_BUILD_DIFFUSION_SUPPORT
#cmakedefine Slicer_BUILD_I18N_SUPPORT
#cmakedefine Slicer_BUILD_USAGE_LOGGING_SUPPORT
#cmakedefine Slicer_BUILD_MULTIMEDIA_SUPPORT
#cmakedefine Slicer_BUILD_PARAMETERSERIALIZER_SUPPORT
#cmakedefine Slicer_BUILD_WEBENGINE_SUPPORT
#cmakedefine Slicer_USE_SLICERRC

// CLI support is always enabled and cannot be disabled.
// This variable is retained only for backward compatibility with dependent projects (e.g., Slicer extensions).
// For more details, see: https://github.com/Slicer/Slicer/issues/8477
#define Slicer_BUILD_CLI_SUPPORT
#cmakedefine Slicer_BUILD_CLI
#define Slicer_CLIMODULES_SUBDIR "@Slicer_CLIMODULES_SUBDIR@"
#define Slicer_CLIMODULES_BIN_DIR "@Slicer_CLIMODULES_BIN_DIR@"
#define Slicer_CLIMODULES_LIB_DIR "@Slicer_CLIMODULES_LIB_DIR@"
#define Slicer_CLIMODULES_SHARE_DIR "@Slicer_CLIMODULES_SHARE_DIR@"

#define Slicer_CLI_PREFER_EXECUTABLE_DEFAULT true

#cmakedefine Slicer_USE_PYTHONQT
#ifdef Slicer_USE_PYTHONQT
#  define Slicer_PYTHON_VERSION_DOT "@Slicer_PYTHON_VERSION_DOT@"
#  define Slicer_PYTHON_VERSION "@Slicer_PYTHON_VERSION@"
#  define PYTHON_SITE_PACKAGES_SUBDIR "@PYTHON_SITE_PACKAGES_SUBDIR@"
#endif //Slicer_USE_PYTHONQT

#cmakedefine Slicer_BUILD_QTLOADABLEMODULES
#define Slicer_QTLOADABLEMODULES_SUBDIR "@Slicer_QTLOADABLEMODULES_SUBDIR@"
#define Slicer_QTLOADABLEMODULES_BIN_DIR "@Slicer_QTLOADABLEMODULES_BIN_DIR@"
#define Slicer_QTLOADABLEMODULES_LIB_DIR "@Slicer_QTLOADABLEMODULES_LIB_DIR@"
#define Slicer_QTLOADABLEMODULES_INCLUDE_DIR "@Slicer_QTLOADABLEMODULES_INCLUDE_DIR@"
#define Slicer_QTLOADABLEMODULES_SHARE_DIR "@Slicer_QTLOADABLEMODULES_SHARE_DIR@"
#ifdef Slicer_USE_PYTHONQT
#  define Slicer_QTLOADABLEMODULES_PYTHON_LIB_DIR "@Slicer_QTLOADABLEMODULES_PYTHON_LIB_DIR@"
#endif

#cmakedefine Slicer_BUILD_QTSCRIPTEDMODULES
#ifdef Slicer_USE_PYTHONQT
#  define Slicer_QTSCRIPTEDMODULES_SUBDIR "@Slicer_QTSCRIPTEDMODULES_SUBDIR@"
#  define Slicer_QTSCRIPTEDMODULES_BIN_DIR "@Slicer_QTSCRIPTEDMODULES_BIN_DIR@"
#  define Slicer_QTSCRIPTEDMODULES_LIB_DIR "@Slicer_QTSCRIPTEDMODULES_LIB_DIR@"
#  define Slicer_QTSCRIPTEDMODULES_INCLUDE_DIR "@Slicer_QTSCRIPTEDMODULES_INCLUDE_DIR@"
#  define Slicer_QTSCRIPTEDMODULES_SHARE_DIR "@Slicer_QTSCRIPTEDMODULES_SHARE_DIR@"
#endif //Slicer_USE_PYTHONQT

// ThirdParty: Corresponds to superbuild projects built
// in Slicer extension.
#define Slicer_THIRDPARTY_BIN_DIR "@Slicer_THIRDPARTY_BIN_DIR@"
#define Slicer_THIRDPARTY_LIB_DIR "@Slicer_THIRDPARTY_LIB_DIR@"

// Library sub-directory - The following macros define directories only valid for a given build tree.
#define VTK_DIR "@VTK_DIR@"
#define CTK_DIR "@CTK_DIR@"
//#define Teem_DIR "@Teem_DIR@"

#define Slicer_QM_DIR "@Slicer_QM_DIR@"
#define Slicer_QM_OUTPUT_DIRS "@Slicer_QM_OUTPUT_DIRS@"
#define Slicer_LANGUAGES "@Slicer_LANGUAGES@"

#endif
