PROJECT(spcth C)

SET(srcs
  spcth_interface.c
  spcth_interface.h
  spy_file.c
  spy_file.h
  stm_types.h
  structured_mesh.h
  )

SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")

SET(SPCTHSTATIC)
IF(NOT BUILD_SHARED_LIBS)
  SET(SPCTHSTATIC 1)
ENDIF(NOT BUILD_SHARED_LIBS)

IF(NOT SPCTH_INSTALL_BIN_DIR)
  SET(SPCTH_INSTALL_BIN_DIR /bin)
ENDIF(NOT SPCTH_INSTALL_BIN_DIR)
IF(NOT SPCTH_INSTALL_LIB_DIR)
  SET(SPCTH_INSTALL_LIB_DIR /lib)
ENDIF(NOT SPCTH_INSTALL_LIB_DIR)

# Let parent project set SPCTH_INSTALL_NO_DEVELOPMENT or
# SPCTH_INSTALL_NO_RUNTIME to remove components from the installation.
SET(SPCTH_INSTALL_NO_LIBRARIES)
IF(BUILD_SHARED_LIBS)
  IF(SPCTH_INSTALL_NO_RUNTIME AND SPCTH_INSTALL_NO_DEVELOPMENT)
    SET(SPCTH_INSTALL_NO_LIBRARIES 1)
  ENDIF(SPCTH_INSTALL_NO_RUNTIME AND SPCTH_INSTALL_NO_DEVELOPMENT)
ELSE(BUILD_SHARED_LIBS)
  IF(SPCTH_INSTALL_NO_DEVELOPMENT)
    SET(SPCTH_INSTALL_NO_LIBRARIES 1)
  ENDIF(SPCTH_INSTALL_NO_DEVELOPMENT)
ENDIF(BUILD_SHARED_LIBS)

CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/spcthConfig.h.in"
  "${CMAKE_CURRENT_BINARY_DIR}/spcthConfig.h")
INCLUDE_DIRECTORIES(
  "${CMAKE_CURRENT_SOURCE_DIR}"
  "${CMAKE_CURRENT_BINARY_DIR}")

ADD_LIBRARY(SPCTH ${srcs})
IF(NOT SPCTH_INSTALL_NO_LIBRARIES)
  INSTALL_TARGETS(${SPCTH_INSTALL_LIB_DIR}
                  RUNTIME_DIRECTORY ${SPCTH_INSTALL_BIN_DIR}
                  SPCTH)
ENDIF(NOT SPCTH_INSTALL_NO_LIBRARIES)
