# This module defines
#  CORE_INCS
#    List of include file paths for all required modules for GSI
#  CORE_LIBRARIES
#    Full list of libraries required to link GSI executable
include(findHelpers)
if(DEFINED ENV{SP_VER})
  set(SP_VER $ENV{SP_VER})
  STRING(REGEX REPLACE "v" "" SP_VER ${SP_VER})
endif()

set( NO_DEFAULT_PATH )
if(NOT BUILD_SP )
  if(DEFINED ENV{SP_LIBd} )
    set(SP_LIBRARY $ENV{SP_LIBd} )
    message("SP library ${SP_LIBRARY} set via Environment variable")
  else()
    find_library( SP_LIBRARY 
    NAMES libsp_d.a libsp_i4r8.a libsp_v${SP_VER}_d.a
    HINTS 
      $ENV{COREPATH}/lib 
      /usr/local/jcsda/nwprod_gdas_2014/lib	
      ${COREPATH}/sp/v${SP_VER}
      ${COREPATH}/sp/v${SP_VER}/intel
      ${COREPATH}/sp/v${SP_VER}/ips/${COMPILER_VERSION}
    PATH_SUFFIXES
        lib
     ${NO_DEFAULT_PATH})
    set( sp "sp_v${SP_VER}_d")
    message("Found SP library ${SP_LIBRARY}")
  endif()
  if(DEFINED ENV{SP_LIB4} )
    set(SP_4_LIBRARY $ENV{SP_LIB4} )
    message("SP library ${SP_4_LIBRARY} set via Environment variable")
  else()
    find_library( SP_4_LIBRARY
    NAMES libsp_4.a libsp_i4r4.a libsp_v${SP_VER}_4.a
    HINTS 
      $ENV{COREPATH}/lib 
      /usr/local/jcsda/nwprod_gdas_2014/lib	
      ${COREPATH}/sp/v${SP_VER}
      ${COREPATH}/sp/v${SP_VER}/intel
      ${COREPATH}/sp/v${SP_VER}/ips/${COMPILER_VERSION}
    PATH_SUFFIXES
        lib
     ${NO_DEFAULT_PATH})
    set( sp "sp_v${SP_VER}_4")
    message("Found SP_4 library ${SP_4_LIBRARY}")
  endif()
endif()
if( NOT SP_LIBRARY ) # didn't find the library, so build it from source
    message("Could not find SP library, so building from libsrc")
    if( NOT DEFINED ENV{SP_SRC} )
        findSrc( "sp" SP_VER SP_DIR )
    else()
      set( SP_DIR "$ENV{SP_SRC}/libsrc" CACHE STRING "SP Source Location")
    endif()
    set( libsuffix "_v${SP_VER}${debug_suffix}" )
    set( SP_LIBRARY "${LIBRARY_OUTPUT_PATH}/libsp${libsuffix}.a" CACHE STRING "SP Library" )
    set( SP_4_LIBRARY "${LIBRARY_OUTPUT_PATH}/libsp_4${libsuffix}.a" CACHE STRING "SP_4 Library" )
    set( sp "sp${libsuffix}")
    set( sp4 "sp_4${libsuffix}")
    set( BUILD_SP "ON" CACHE INTERNAL "Build the SP library")
    add_subdirectory(${CMAKE_SOURCE_DIR}/libsrc/sp)
    set( SP_LIBRARY ${sp} )
    set( SP_4_LIBRARY ${sp4} )
    if( CORE_BUILT )
      list( APPEND CORE_BUILT ${SP_LIBRARY} )
    else()
      set( CORE_BUILT ${SP_LIBRARY} )
    endif()
else( NOT SP_LIBRARY )
  if( CORE_LIBRARIES )
    list( APPEND CORE_LIBRARIES ${SP_LIBRARY} )
  else()
    set( CORE_LIBRARIES ${SP_LIBRARY} )
  endif()
endif( NOT SP_LIBRARY )


set( SP_LIBRARY_PATH ${SP_LIBRARY} CACHE STRING "SP Library Location" )
set( SP_4_LIBRARY_PATH ${SP_4_LIBRARY} CACHE STRING "SP_4 Library Location" )