#=============================================================================
#
#  Copyright (c) Kitware, Inc.
#  All rights reserved.
#  See LICENSE.txt for details.
#
#  This software is distributed WITHOUT ANY WARRANTY; without even
#  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
#  PURPOSE.  See the above copyright notice for more information.
#
#=============================================================================

set (unit_tests
  TestCreateModifyRGGAssembly.cxx
  TestCreateModifyRGGDuct.cxx
  TestCreateModifyRGGPin.cxx
  TestExportInpOp.cxx
  TestRGGWriteRead.cxx)

set (unit_tests_which_require_data
  TestRGGReadRXFFile.cxx)

set (cubit_unit_tests)

set (cubit_unit_tests_which_require_data
  TestGenerateMesh.cxx)

if (ENABLE_CUBIT_BINDINGS)
  list (APPEND unit_tests
    ${cubit_unit_tests})

  list (APPEND unit_tests_which_require_data
    ${cubit_unit_tests_which_require_data})

  foreach(source IN LISTS cubit_unit_tests cubit_unit_tests_which_require_data)
    set_property(SOURCE ${source} APPEND
      PROPERTY COMPILE_DEFINITIONS
      "ASSYGEN_EXE=\"${ASSYGEN_EXE}\""
      "COREGEN_EXE=\"${COREGEN_EXE}\""
      "CUBIT_EXE=\"${CUBIT_EXE}\"")
  endforeach()
endif()

unit_tests(
  LABEL "RGGSession"
  SOURCES ${unit_tests}
  SOURCES_REQUIRE_DATA ${unit_tests_which_require_data}
  LIBRARIES smtkCore smtkRGGSession Boost::boost Boost::filesystem
)

set(smtk_module_dir ${smtk_DIR}/${SMTK_PYTHON_MODULEDIR})
if(NOT IS_ABSOLUTE ${smtk_module_dir})
  get_filename_component(smtk_module_dir
    ${PROJECT_BINARY_DIR}/${smtk_DIR}/${SMTK_PYTHON_MODULEDIR} ABSOLUTE)
endif()

foreach (test ${unit_tests})
  get_filename_component(tname ${test} NAME_WE)
  set_tests_properties(${tname}
    PROPERTIES
    ENVIRONMENT "PYTHONPATH=${PROJECT_BINARY_DIR}:${smtk_module_dir}:${CMAKE_INSTALL_PREFIX}/${PYTHON_MODULEDIR}:$ENV{PYTHONPATH}"
    SKIP_RETURN_CODE 125
    )
endforeach ()
foreach (test ${unit_tests_which_require_data})
  get_filename_component(tname ${test} NAME_WE)
  set_tests_properties(${tname}
    PROPERTIES
    ENVIRONMENT "PYTHONPATH=${PROJECT_BINARY_DIR}:${smtk_module_dir}:${CMAKE_INSTALL_PREFIX}/${PYTHON_MODULEDIR}:$ENV{PYTHONPATH}"
    SKIP_RETURN_CODE 125
    )
endforeach ()
