##=========================================================================
## 
##   Copyright (c) Kitware, Inc.
##   All rights reserved.
##   See Copyright.txt or http://www.kitware.com/VolViewCopyright.htm for details.
## 
##      This software is distributed WITHOUT ANY WARRANTY; without even
##      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
##      PURPOSE.  See the above copyright notice for more information.
## 
##=========================================================================
CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
IF(COMMAND CMAKE_POLICY)
  CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)

PROJECT(KWWidgetsPro)

# --------------------------------------------------------------------------
# To use this library in a larger project you will need to SUBDIR into this
# directory so that it gets built and then you will use the following variables
# in your CMakeLists files to get the proper include paths and libraries

SET(KWWidgetsPro_INCLUDE_PATH 
  "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}"
  CACHE INTERNAL "include paths for KWWidgetsPro"
  )

SET(KWWidgetsPro_LIBRARIES KWWidgetsPro
  CACHE INTERNAL "libraries for KWWidgetsPro")

# You will also need to define a value for the following variables:
# KWWidgetsPro_INSTALL_BIN_DIR           - binary dir (executables)
# KWWidgetsPro_INSTALL_LIB_DIR           - library dir (libs)
# KWWidgetsPro_INSTALL_DATA_DIR          - share dir (say, examples, data, etc)
# KWWidgetsPro_INSTALL_INCLUDE_DIR       - include dir (headers)
# KWWidgetsPro_INSTALL_PACKAGE_DIR       - package/export configuration files
# KWWidgetsPro_KWCommonPro_INSTALL_PACKAGE_DIR - KWCommonPro package/export
# KWWidgetsPro_KWWidgets_INSTALL_PACKAGE_DIR   - KWWidgets package/export
# KWWidgetsPro_INSTALL_NO_DEVELOPMENT    - do not install development files
# KWWidgetsPro_INSTALL_NO_RUNTIME        - do not install runtime files
# KWWidgetsPro_INSTALL_NO_DOCUMENTATION  - do not install documentation files
# --------------------------------------------------------------------------

# --------------------------------------------------------------------------
# Version

SET(KWWidgetsPro_MAJOR_VERSION 1)
SET(KWWidgetsPro_MINOR_VERSION 0)

# --------------------------------------------------------------------------
# We need various packages

MACRO(KWWidgetsPro_REQUIRE_PACKAGE PACKAGE_NAME)
  IF(NOT ${PACKAGE_NAME}_SOURCE_DIR)
    FIND_PACKAGE(${PACKAGE_NAME} REQUIRED)
    IF(${PACKAGE_NAME}_FOUND)
      INCLUDE(${${PACKAGE_NAME}_USE_FILE})
    ENDIF(${PACKAGE_NAME}_FOUND)
  ENDIF(NOT ${PACKAGE_NAME}_SOURCE_DIR)
ENDMACRO(KWWidgetsPro_REQUIRE_PACKAGE PACKAGE_NAME)

# KWWidgets

KWWidgetsPro_REQUIRE_PACKAGE(KWWidgets)

# KWCommonPro (which brings KWCommon and VTK automatically) 
# This package brings pretty much *everything* in VTK. Therefore, if
# KWWidgets was built with Core support only (UI only, no VTK widget), try
# not to use KWCommonPro either.

IF(KWWidgets_BUILD_VTK_WIDGETS)
  KWWidgetsPro_REQUIRE_PACKAGE(KWCommonPro)
ENDIF(KWWidgets_BUILD_VTK_WIDGETS)

# VTKEdge

KWWidgetsPro_REQUIRE_PACKAGE(VTKEdge)

# --------------------------------------------------------------------------
# Output directories

IF(NOT LIBRARY_OUTPUT_PATH)
  SET(LIBRARY_OUTPUT_PATH ${KWWidgetsPro_BINARY_DIR}/bin CACHE INTERNAL
    "Single output directory for building all libraries.")
ENDIF(NOT LIBRARY_OUTPUT_PATH)
SET(KWWidgetsPro_LIBRARY_DIRS ${LIBRARY_OUTPUT_PATH})
SET(KWWidgetsPro_RUNTIME_DIRS ${LIBRARY_OUTPUT_PATH})

IF(NOT EXECUTABLE_OUTPUT_PATH)
  SET(EXECUTABLE_OUTPUT_PATH ${KWWidgetsPro_BINARY_DIR}/bin CACHE INTERNAL
    "Single output directory for building all executables.")
ENDIF(NOT EXECUTABLE_OUTPUT_PATH)

# --------------------------------------------------------------------------
# Some flags

INCLUDE_REGULAR_EXPRESSION("^(vtk|kw|icons).*$")
SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
IF(CMAKE_COMPILER_2005)
  ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
ENDIF(CMAKE_COMPILER_2005)

SET(BUILD_SHARED_LIBS ${VTK_BUILD_SHARED_LIBS})
SET(KWWidgetsPro_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})

SET(KWWidgetsPro_CMAKE_DIR "${KWWidgetsPro_SOURCE_DIR}/CMake")
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${KWWidgetsPro_CMAKE_DIR}")

SET(KWWidgetsPro_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES})

MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY)

# --------------------------------------------------------------------------
# Install directories

IF(NOT KWWidgetsPro_INSTALL_BIN_DIR)
  SET(KWWidgetsPro_INSTALL_BIN_DIR "/bin")
ENDIF(NOT KWWidgetsPro_INSTALL_BIN_DIR)

IF(NOT KWWidgetsPro_INSTALL_LIB_DIR)
  SET(KWWidgetsPro_INSTALL_LIB_DIR "/lib/${PROJECT_NAME}")
ENDIF(NOT KWWidgetsPro_INSTALL_LIB_DIR)

IF(NOT KWWidgetsPro_INSTALL_DATA_DIR)
  SET(KWWidgetsPro_INSTALL_DATA_DIR "/share/${PROJECT_NAME}"
    CACHE INTERNAL "")
ENDIF(NOT KWWidgetsPro_INSTALL_DATA_DIR)

IF(NOT KWWidgetsPro_INSTALL_INCLUDE_DIR)
  SET(KWWidgetsPro_INSTALL_INCLUDE_DIR "/include/${PROJECT_NAME}")
ENDIF(NOT KWWidgetsPro_INSTALL_INCLUDE_DIR)

IF(NOT KWWidgetsPro_INSTALL_PACKAGE_DIR)
  SET(KWWidgetsPro_INSTALL_PACKAGE_DIR ${KWWidgetsPro_INSTALL_LIB_DIR}
    CACHE INTERNAL "")
ENDIF(NOT KWWidgetsPro_INSTALL_PACKAGE_DIR)

IF(NOT KWWidgetsPro_KWCommonPro_INSTALL_PACKAGE_DIR)
  SET(KWWidgetsPro_KWCommonPro_INSTALL_PACKAGE_DIR 
    ${KWCommonPro_INSTALL_PACKAGE_DIR})
ENDIF(NOT KWWidgetsPro_KWCommonPro_INSTALL_PACKAGE_DIR)

IF(NOT KWWidgetsPro_KWWidgets_INSTALL_PACKAGE_DIR)
  SET(KWWidgetsPro_KWWidgets_INSTALL_PACKAGE_DIR 
    ${KWWidgets_INSTALL_PACKAGE_DIR})
ENDIF(NOT KWWidgetsPro_KWWidgets_INSTALL_PACKAGE_DIR)

IF(NOT KWWidgetsPro_INSTALL_NO_DEVELOPMENT)
  SET(KWWidgetsPro_INSTALL_NO_DEVELOPMENT 0)
ENDIF(NOT KWWidgetsPro_INSTALL_NO_DEVELOPMENT)

IF(NOT KWWidgetsPro_INSTALL_NO_RUNTIME)
  SET(KWWidgetsPro_INSTALL_NO_RUNTIME 0)
ENDIF(NOT KWWidgetsPro_INSTALL_NO_RUNTIME)

IF(NOT KWWidgetsPro_INSTALL_NO_DOCUMENTATION)
  SET(KWWidgetsPro_INSTALL_NO_DOCUMENTATION 0)
ENDIF(NOT KWWidgetsPro_INSTALL_NO_DOCUMENTATION)

SET(KWWidgetsPro_INSTALL_NO_LIBRARIES)
IF(KWWidgetsPro_BUILD_SHARED_LIBS)
  IF(KWWidgetsPro_INSTALL_NO_RUNTIME AND KWWidgetsPro_INSTALL_NO_DEVELOPMENT)
    SET(KWWidgetsPro_INSTALL_NO_LIBRARIES 1)
  ENDIF(KWWidgetsPro_INSTALL_NO_RUNTIME AND KWWidgetsPro_INSTALL_NO_DEVELOPMENT)
ELSE(KWWidgetsPro_BUILD_SHARED_LIBS)
  IF(KWWidgetsPro_INSTALL_NO_DEVELOPMENT)
    SET(KWWidgetsPro_INSTALL_NO_LIBRARIES 1)
  ENDIF(KWWidgetsPro_INSTALL_NO_DEVELOPMENT)
ENDIF(KWWidgetsPro_BUILD_SHARED_LIBS)

# --------------------------------------------------------------------------
# Sources

SET(KWWidgetsPro_SRCS
  vtkKWApplicationPro.cxx
  vtkKWApplicationSettingsInterfacePro.cxx
  vtkKWMouseBindings.cxx
  vtkKWSegmentedProgressGauge.cxx
  vtkKWWizard.cxx
  ) 

IF(KWWidgets_BUILD_VTK_WIDGETS)
  SET(KWWidgetsPro_SRCS ${KWWidgetsPro_SRCS}
    vtk3DCursorAnnotation.cxx
    vtkKW2DRenderWidget.cxx
    vtkKW2DSplineSurfacesWidget.cxx
    vtkKW3DMarkersWidget.cxx
    vtkKW3DSplineCurvesWidget.cxx
    vtkKW3DSplineSurfacesWidget.cxx
    vtkKW3DWidget.cxx
    vtkKWCameraLightWidget.cxx
    vtkKWCornerAnnotationEditorPro.cxx
    vtkKWCroppingRegionsWidget.cxx
    vtkKWCursorWidget.cxx
    vtkKWHeaderAnnotationEditorPro.cxx
    vtkKWImageWidget.cxx
    vtkKWInteractorStyle2DView.cxx
    vtkKWInteractorStyleEventMap.cxx
    vtkKWInteractorStyleImageView.cxx
    vtkKWInteractorStyleLightboxView.cxx
    vtkKWInteractorStyleView.cxx
    vtkKWInteractorStyleVolumeView.cxx
    vtkKWLightboxWidget.cxx
    vtkKWMarker2D.cxx
    vtkKWOrientationWidget.cxx
    vtkKWProbeImageWidget.cxx
    vtkKWProgressCommand.cxx
    vtkKWRenderWidgetPro.cxx
    vtkKWScalarBarAnnotationPro.cxx
    vtkKWScalarBarWidget.cxx
    vtkKWScaleBarWidget.cxx
    vtkKWSurfaceMaterialPropertyWidgetPro.cxx
    vtkKWVolumeMaterialPropertyWidgetPro.cxx
    vtkKWVolumePropertyWidgetPro.cxx
    vtkKWVolumeWidget.cxx
    vtkKWXYPlotDialog.cxx
    vtkSurfaceAnnotation.cxx
    ) 
  IF(KWCommonPro_USE_XML_RW)
  SET(KWWidgetsPro_SRCS ${KWWidgetsPro_SRCS}
    vtkKWOpenWizard.cxx
    vtkKWOpenFileHelper.cxx
    vtkKWOpenFileProperties.cxx
    )
  ENDIF(KWCommonPro_USE_XML_RW)
ENDIF(KWWidgets_BUILD_VTK_WIDGETS)

SET_SOURCE_FILES_PROPERTIES(
  vtkKW2DRenderWidget.cxx
  vtkKW3DWidget.cxx
  vtkKWRenderWidgetPro.cxx
  ABSTRACT
  ) 

SET_SOURCE_FILES_PROPERTIES(
  vtk3DCursorAnnotation.cxx
  vtkKW2DSplineSurfacesWidget.cxx
  vtkKW3DMarkersWidget.cxx
  vtkKW3DSplineCurvesWidget.cxx
  vtkKW3DSplineSurfacesWidget.cxx
  vtkKW3DWidget.cxx
  vtkKWCroppingRegionsWidget.cxx
  vtkKWCursorWidget.cxx
  vtkKWInteractorStyle2DView.cxx
  vtkKWInteractorStyleEventMap.cxx
  vtkKWInteractorStyleImageView.cxx
  vtkKWInteractorStyleLightboxView.cxx
  vtkKWInteractorStyleView.cxx
  vtkKWInteractorStyleVolumeView.cxx
  vtkKWMarker2D.cxx
  vtkKWOrientationWidget.cxx
  vtkKWProgressCommand.cxx
  vtkKWScalarBarWidget.cxx
  vtkKWScaleBarWidget.cxx
  vtkSurfaceAnnotation.cxx
  WRAP_EXCLUDE
  ) 

IF(KWCommonPro_USE_XML_RW)
  SET(KWWidgetsPro_XML_SRCS 
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXML3DCursorAnnotationReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXML3DCursorAnnotationWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW2DRenderWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW2DRenderWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW3DMarkersWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW3DMarkersWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW3DSplineSurfacesWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW3DSplineSurfacesWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW3DWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKW3DWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWApplicationReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWApplicationWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWCroppingRegionsWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWCroppingRegionsWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWCursorWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWCursorWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWEventMapReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWEventMapWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWIconReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWIconWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWImageWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWImageWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWLightboxWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWLightboxWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWMarker2DReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWMarker2DWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWOpenFilePropertiesReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWOpenFilePropertiesWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWOrientationWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWOrientationWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWProbeImageWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWProbeImageWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWRenderWidgetProReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWRenderWidgetProWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWRenderWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWRenderWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWScaleBarWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWScaleBarWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWSelectionFrameReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWSelectionFrameWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWUserInterfaceManagerNotebookReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWUserInterfaceManagerNotebookWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWUserInterfaceManagerReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWUserInterfaceManagerWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWVolumeWidgetReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWVolumeWidgetWriter.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWWindowReader.cxx
    ${KWWidgetsPro_SOURCE_DIR}/XML/vtkXMLKWWindowWriter.cxx
    )

  SET_SOURCE_FILES_PROPERTIES(
    ${KWWidgetsPro_XML_SRCS}
    WRAP_EXCLUDE
    )
ENDIF(KWCommonPro_USE_XML_RW)

# --------------------------------------------------------------------------
# Internationalization

IF(KWWidgets_USE_INTERNATIONALIZATION)
  SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${KWWidgets_CMAKE_DIR}")
  FIND_PACKAGE(Gettext REQUIRED)
  INCLUDE("${KWWidgets_CMAKE_DIR}/KWWidgetsInternationalizationMacros.cmake")
  KWWidgets_CREATE_GETTEXT_TARGETS(
    DOMAIN_NAME "KWWidgetsPro"
    LOCALE_LIST "fr;pt_BR"
    COPYRIGHT_HOLDER "Kitware, Inc."
    SOURCES "${KWWidgetsPro_SRCS};${KWWidgetsPro_XML_SRCS}"
    PO_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Resources/po"
    POT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/Resources/po"
    PO_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/Resources/po"
    MO_INSTALL_DIR "${KWWidgetsPro_INSTALL_DATA_DIR}/locale"
    ADD_MO_TARGET_TO_ALL)
ENDIF(KWWidgets_USE_INTERNATIONALIZATION)

# --------------------------------------------------------------------------
# Include dirs

INCLUDE_DIRECTORIES(
  ${KWCommonPro_INCLUDE_PATH}
  ${KWCommon_INCLUDE_PATH}
  ${KWWidgets_INCLUDE_PATH}
  ${KWWidgetsPro_INCLUDE_PATH} 
  ${VTKEdge_INCLUDE_PATH}
  )

# --------------------------------------------------------------------------
# Wrap the classes in Tcl

SET(KWWidgetsPro_WRAPPED_SRCS ${KWWidgetsPro_SRCS} ${KWWidgetsPro_XML_SRCS})

INCLUDE("${KWWidgets_CMAKE_DIR}/KWWidgetsWrappingMacros.cmake")
SET(VTK_WRAP_HINTS ${KWWidgetsPro_SOURCE_DIR}/hints)
KWWidgets_WRAP_TCL(
  KWWidgetsPro
  KWWidgetsProTCL_SRCS
  "${KWWidgetsPro_WRAPPED_SRCS}"
  ""
  "${KWWidgetsPro_MAJOR_VERSION}.${KWWidgetsPro_MINOR_VERSION}")

# --------------------------------------------------------------------------
# Create the instantiators

SET(VTK_USE_INSTANTIATOR_NEW 1)
VTK_MAKE_INSTANTIATOR3(KWWidgetsProInstantiator 
                       KWWidgetsPro_Instantiator_SRCS
                       "${KWWidgetsPro_SRCS}"
                       VTK_EXPORT
                       ${KWWidgetsPro_BINARY_DIR} 
                       "")

# --------------------------------------------------------------------------
# Build the library

ADD_LIBRARY(KWWidgetsPro 
  ${KWWidgetsPro_SRCS} 
  ${KWWidgetsPro_XML_SRCS} 
  ${KWWidgetsProTCL_SRCS}
  ${KWWidgetsPro_Instantiator_SRCS}
  )

TARGET_LINK_LIBRARIES(KWWidgetsPro
  ${KWWidgets_LIBRARIES}
  ${VTKEdge_LIBRARIES}
  )

IF(KWWidgets_BUILD_VTK_WIDGETS)
  TARGET_LINK_LIBRARIES(KWWidgetsPro
    vtkVolumeRendering
    ${KWCommonPro_LIBRARIES}
    )
ENDIF(KWWidgets_BUILD_VTK_WIDGETS)

IF(KWWidgets_USE_INTERNATIONALIZATION AND GETTEXT_RUNTIME_FOUND)
  TARGET_LINK_LIBRARIES(KWWidgetsPro ${GETTEXT_LIBRARIES})
ENDIF(KWWidgets_USE_INTERNATIONALIZATION AND GETTEXT_RUNTIME_FOUND)

IF(NOT KWWidgetsPro_INSTALL_NO_LIBRARIES)
  INSTALL_TARGETS(
    ${KWWidgetsPro_INSTALL_LIB_DIR}
    RUNTIME_DIRECTORY ${KWWidgetsPro_INSTALL_BIN_DIR}
    ${KWWidgetsPro_LIBRARIES})
ENDIF(NOT KWWidgetsPro_INSTALL_NO_LIBRARIES)

# --------------------------------------------------------------------------
# Testing

INCLUDE(Dart)
MARK_AS_ADVANCED(BUILD_TESTING DART_ROOT TCL_TCLSH)

SET(default_val 1)
IF(DEFINED KWWidgetsPro_BUILD_TESTING_DEFAULT)
  SET(default_val ${KWWidgetsPro_BUILD_TESTING_DEFAULT})
ENDIF(DEFINED KWWidgetsPro_BUILD_TESTING_DEFAULT)
OPTION(KWWidgetsPro_BUILD_TESTING 
  "Enable testing in KWWidgetsPro (if BUILD_TESTING is ON as well)." 
  ${default_val})
MARK_AS_ADVANCED(KWWidgetsPro_BUILD_TESTING)
IF(BUILD_TESTING AND KWWidgetsPro_BUILD_TESTING)
  #SET(BUILDNAME "${PROJECT_NAME}-${BUILDNAME}")
  ENABLE_TESTING()
  SUBDIRS(Testing)
ENDIF(BUILD_TESTING AND KWWidgetsPro_BUILD_TESTING)

# --------------------------------------------------------------------------
# Install the headers

IF(NOT KWWidgetsPro_INSTALL_NO_DEVELOPMENT)
  INSTALL_FILES(${KWWidgetsPro_INSTALL_INCLUDE_DIR} .h ${KWWidgetsPro_SRCS})
  IF(KWCommonPro_USE_XML_RW)
    INSTALL_FILES(${KWWidgetsPro_INSTALL_INCLUDE_DIR}/XML .h 
      ${KWWidgetsPro_XML_SRCS})
  ENDIF(KWCommonPro_USE_XML_RW)
  INSTALL_FILES(${KWWidgetsPro_INSTALL_INCLUDE_DIR} FILES 
    ${CMAKE_CURRENT_BINARY_DIR}/vtkKWWidgetsProConfigure.h)
ENDIF(NOT KWWidgetsPro_INSTALL_NO_DEVELOPMENT)

# --------------------------------------------------------------------------
# Configure some files. This should be at the end for all variables to
# be set before the contents of the files is replaced.

CONFIGURE_FILE(
  ${CMAKE_CURRENT_SOURCE_DIR}/vtkKWWidgetsProConfigure.h.in
  ${CMAKE_CURRENT_BINARY_DIR}/vtkKWWidgetsProConfigure.h)

CONFIGURE_FILE(
  ${CMAKE_CURRENT_SOURCE_DIR}/vtkKWWidgetsProBuildConfigure.h.in 
  ${CMAKE_CURRENT_BINARY_DIR}/vtkKWWidgetsProBuildConfigure.h)

# --------------------------------------------------------------------------
# Configure the export configuration

SUBDIRS(CMake/ExportConfiguration)
