##=========================================================================
## 
##   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(VolViewApplications)

# Output paths

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

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

# Install paths

IF(NOT ${PROJECT_NAME}_INSTALL_BIN_DIR)
  SET(${PROJECT_NAME}_INSTALL_BIN_DIR "/bin")
ENDIF(NOT ${PROJECT_NAME}_INSTALL_BIN_DIR)

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

IF(NOT ${PROJECT_NAME}_INSTALL_DATA_DIR)
  SET(${PROJECT_NAME}_INSTALL_DATA_DIR "/share/${PROJECT_NAME}")
ENDIF(NOT ${PROJECT_NAME}_INSTALL_DATA_DIR)

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

IF(NOT ${PROJECT_NAME}_INSTALL_PACKAGE_DIR)
  SET(${PROJECT_NAME}_INSTALL_PACKAGE_DIR ${${PROJECT_NAME}_INSTALL_LIB_DIR})
ENDIF(NOT ${PROJECT_NAME}_INSTALL_PACKAGE_DIR)

IF(NOT ${PROJECT_NAME}_INSTALL_NO_DEVELOPMENT)
  SET(${PROJECT_NAME}_INSTALL_NO_DEVELOPMENT 1)
ENDIF(NOT ${PROJECT_NAME}_INSTALL_NO_DEVELOPMENT)

IF(NOT ${PROJECT_NAME}_INSTALL_NO_DOCUMENTATION)
  SET(${PROJECT_NAME}_INSTALL_NO_DOCUMENTATION 1)
ENDIF(NOT ${PROJECT_NAME}_INSTALL_NO_DOCUMENTATION)

IF(APPLE)
  SET(CMAKE_CXX_FLAGS "-mlong-branch ${CMAKE_CXX_FLAGS}")
  SET(CMAKE_C_FLAGS "-mlong-branch ${CMAKE_C_FLAGS}")
  IF(NOT CPACK_SYSTEM_NAME)
    SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR} CACHE STRING 
      "Installation package system")
  ENDIF(NOT CPACK_SYSTEM_NAME)

  #  MESSAGE("Checking CPACK_PACKAGE_ICON: ${CPACK_PACKAGE_ICON}")
  IF(NOT CPACK_PACKAGE_ICON)
    #  MESSAGE("CPACK_PACKAGE_ICON not set")
    MESSAGE("Setting package icon, directory: ${VolViewApplications_SSOURCE_DIR}")
    SET(CPACK_PACKAGE_ICON "${VolViewApplications_SOURCE_DIR}/VolView_Mac_Icon.icns" CACHE FILEPATH 
      "File to use as the package icon.")
    #    MESSAGE("Setting package icon: ${CPACK_PACKAGE_ICON}")
  ELSE (NOT CPACK_PACKAGE_ICON)
    #   MESSAGE("CPACK_PACKAGE_ICON set")
  ENDIF (NOT CPACK_PACKAGE_ICON)
ENDIF(APPLE)

# Testing

IF(NOT DEFINED BUILD_TESTING)
  INCLUDE(CTest)
  MARK_AS_ADVANCED(BUILD_TESTING DART_ROOT TCL_TCLSH)
ENDIF(NOT DEFINED BUILD_TESTING)
IF(BUILD_TESTING)
  ENABLE_TESTING()
ENDIF(BUILD_TESTING)

# Sub-projects
SET( Package_Names
    Kitware
)

FOREACH(package ${Package_Names})
  SET(${package}_INSTALL_BIN_DIR ${${PROJECT_NAME}_INSTALL_BIN_DIR})
  SET(${package}_INSTALL_LIB_DIR ${${PROJECT_NAME}_INSTALL_LIB_DIR})
  # Do not set the data dir, let's the sub-project set their own
  # SET(${package}_INSTALL_DATA_DIR ${${PROJECT_NAME}_INSTALL_DATA_DIR})
  SET(${package}_INSTALL_NO_DEVELOPMENT 
    ${${PROJECT_NAME}_INSTALL_NO_DEVELOPMENT})
  SET(${package}_INSTALL_NO_DOCUMENTATION 
    ${${PROJECT_NAME}_INSTALL_NO_DOCUMENTATION})
  SET(${package}_INSTALL_NO_RUNTIME 
    ${${PROJECT_NAME}_INSTALL_NO_RUNTIME})
  SUBDIRS(${package})
ENDFOREACH(package)
