#
# A) Package-specific configuration options
#

TRIBITS_CONFIGURE_FILE(Intrepid2_config.h)

SET(TRILINOS_INCDIR ${${PROJECT_NAME}_INSTALL_INCLUDE_DIR})

#
# B) Define the header and source files (and directories)
#

SET(HEADERS "")
SET(SOURCES "")

APPEND_SET(
  HEADERS 
  ${CMAKE_CURRENT_BINARY_DIR}/Intrepid2_config.h
)
APPEND_SET(
  HEADERS 
  Intrepid2_ConfigDefs.hpp 
)
APPEND_SET(
  SOURCES 
  Intrepid2_Version.cpp 
)

ADD_SUBDIRECTORY(Cell)
ADD_SUBDIRECTORY(Discretization)
ADD_SUBDIRECTORY(Orientation)
ADD_SUBDIRECTORY(Projection)
ADD_SUBDIRECTORY(Shared)

## MESSAGE( STATUS "HEADERS : " ${HEADERS} )

#
# c) Parse include directories
#

SET(INCDIRS "")

FOREACH(HEADER_FILE ${HEADERS})
  GET_FILENAME_COMPONENT(HEADER_PATH ${HEADER_FILE} PATH)
  SET(INCDIRS ${INCDIRS} ${HEADER_PATH})
ENDFOREACH()

LIST(REMOVE_DUPLICATES INCDIRS)

FOREACH(INCDIR ${INCDIRS})
##  MESSAGE( STATUS "INCDIR : " ${INCDIR} )                          
  TRIBITS_INCLUDE_DIRECTORIES(${INCDIR})
ENDFOREACH()

TRIBITS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
TRIBITS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

#
# D) Define the targets for package's library(s)
# 

TRIBITS_ADD_LIBRARY(
  intrepid2
  HEADERS ${HEADERS}
  SOURCES ${SOURCES}
)
