#
# cmake configuration file
#
# This file is part of the IRCAM SDIF Library (http://www.ircam.fr/sdif)
#
# Copyright (C) 2006 by IRCAM - Centre Pompidou, Paris, France.
#
# created by Axel Roebel                     7.12.2006

ADD_EXECUTABLE(headerTest${DEBUGEXT} test1.c utils.c)
TARGET_LINK_LIBRARIES(headerTest${DEBUGEXT} sdif${DEBUGEXT} m)

ADD_EXECUTABLE(NVTtest${DEBUGEXT} test2.c utils.c)
TARGET_LINK_LIBRARIES(NVTtest${DEBUGEXT} sdif${DEBUGEXT} m)

ADD_EXECUTABLE(testcheck${DEBUGEXT} testcheck.c)
TARGET_LINK_LIBRARIES(testcheck${DEBUGEXT} sdif${DEBUGEXT} m)

ADD_EXECUTABLE(testselect${DEBUGEXT} testselect.c)
TARGET_LINK_LIBRARIES(testselect${DEBUGEXT} sdif${DEBUGEXT} m)


SET(SDIFTYPES	  ${CMAKE_CURRENT_SOURCE_DIR}/../data/SdifTypes.STYP )

IF( CMAKE_RUNTIME_OUTPUT_DIRECTORY) 
  SET(TOOLS_BINARY_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
ELSE(CMAKE_RUNTIME_OUTPUT_DIRECTORY) 
  SET(TOOLS_BINARY_DIR ${${CMAKE_CURRENT_BINARY_DIR}/../tools})
ENDIF(CMAKE_RUNTIME_OUTPUT_DIRECTORY) 

ADD_CUSTOM_TARGET(check_sdif
  COMMAND srcdir=${CMAKE_CURRENT_SOURCE_DIR} SDIFTYPES=${SDIFTYPES} SDIFTOTEXT="${TOOLS_BINARY_DIR}/sdiftotext${DEBUGEXT}" TOSDIF="${TOOLS_BINARY_DIR}/tosdif${DEBUGEXT}" ${CMAKE_CURRENT_SOURCE_DIR}/test_conv2  
  COMMAND SDIFTYPES=${SDIFTYPES} ${TOOLS_BINARY_DIR}/headerTest${DEBUGEXT}
  COMMAND SDIFTYPES=${SDIFTYPES} ${TOOLS_BINARY_DIR}/NVTtest${DEBUGEXT}
  COMMAND srcdir=${CMAKE_CURRENT_SOURCE_DIR} SDIFTYPES=${SDIFTYPES} QUERYPROG="${TOOLS_BINARY_DIR}/querysdif${DEBUGEXT}" TESTCHECK="${TOOLS_BINARY_DIR}/testcheck${DEBUGEXT}" ${CMAKE_CURRENT_SOURCE_DIR}/cmd_testcheck 
  COMMAND echo all tests passed
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

ADD_DEPENDENCIES(check_sdif tosdif${DEBUGEXT} sdifextract${DEBUGEXT} sdiftotext${DEBUGEXT} querysdif${DEBUGEXT} NVTtest${DEBUGEXT} headerTest${DEBUGEXT} testcheck${DEBUGEXT} testselect${DEBUGEXT})

IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
  ADD_CUSTOM_TARGET(check)
ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
  
ADD_DEPENDENCIES(check check_sdif)
