# CMake version check. Version 2.6 is considered standard.
cmake_minimum_required (VERSION 2.6) 

# Project Information {{{
# Project Name
project(ISSM) 
set(ISSM_VERSION_MAJOR 4)
set(ISSM_VERSION_MINOR 1)
# }}}
# Contact Information {{{
set(ISSM_EMAIL "issm@jpl.nasa.gov")
set(ISSM_WEBSITE "http://issm.jpl.nasa.gov")
# }}}

# CMake Modules {{{
include(CheckLanguage)
include(./m4/issm_options.cmake)
# }}}

# Environment Variables {{{
# Out of source build can be done here.
set(CMAKE_BINARY_DIR ${ISSM_DIR})
# }}}

# Install Targets {{{
# Install 'issm.exe'
#install(TARGETS issm RUNTIME)

# Install 'libISSMCore.a' and 'libISSMOverload.a'
# install(TARGETS ISSMCore
#                ISSMOverload
#        ARCHIVE)
# }}}
# Optional Install {{{
#if(${SHARED_LIBS} IS ON)
#   install(TARGETS ISSMCore
#                   ISSMOverload
#           LIBRARY)
#endif(${SHARED_LIBS} IS ON)
# }}}

# Language Checks {{{

# 'C' language check.
include(CheckLanguage)

check_language(C)
if(CMAKE_C_COMPILER)
   enable_language(C)
else(CMAKE_C_COMPILER)
   message(FATAL_ERROR "No C support found!")
endif(CMAKE_C_COMPILER)

# 'C++' language check.
check_language(CXX)
if(CMAKE_CXX_COMPILER)
   enable_language(CXX)
else(CMAKE_CXX_COMPILER)
   message(FATA_ERROR "No C++ support found!")
endif(CMAKE_CXX_COMPILER)

# 'Fortran' language check.
#check_language(Fortran)
#if(CMAKE_Fortran_COMPILER)
#   enable_language(Fortran)
#else(CMAKE_Fortran_COMPILER)
#   message(FATA_ERROR "No Fortran support")
#endif(CMAKE_Fortran_COMPILER)
# }}}

# Subdirectories {{{
add_subdirectory(src) 
# }}}

# Options {{{
option(SHARED_LIBS "Set whether to produce shared libraries, or not. Default is no."
       OFF)
# Questionable whether all options should be contained within this file or included from some other file.
# }}}
