CMakeLists.txt 2.66 KB
Newer Older
Andy Cedilnik's avatar
Andy Cedilnik committed
1
## Copyright 2003 Sandia Coporation
2 3 4 5
## Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
## the U.S. Government retains certain rights in this software.
##
## This source code is released under the New BSD License.
Andy Cedilnik's avatar
Andy Cedilnik committed
6 7
#

8 9 10 11 12 13 14 15 16 17 18
IF (ICET_USE_OPENGL)
  FIND_PACKAGE(GLUT)
  IF (GLUT_FOUND)
    SET(ICET_TESTS_USE_OPENGL 1)
  ENDIF (GLUT_FOUND)
ENDIF (ICET_USE_OPENGL)

IF (NOT ICET_TESTS_USE_OPENGL)
  MESSAGE(STATUS "Most tests require ICET_USE_OPENGL and Glut.  Those tests are disabled.")
ENDIF (NOT ICET_TESTS_USE_OPENGL)

Andy Cedilnik's avatar
Andy Cedilnik committed
19
SET(MyTests
20
  CompressionSize.c
21
  Interlace.c
22
  OddImageSizes.c
Kenneth Moreland's avatar
Kenneth Moreland committed
23
  OddProcessCounts.c
24
  RadixkUnitTests.c
25
  SimpleTiming.c
26
  SparseImageCopy.c
27
  )
Andy Cedilnik's avatar
Andy Cedilnik committed
28

29 30 31 32 33 34 35 36 37 38
IF (ICET_TESTS_USE_OPENGL)
  SET(MyTests ${MyTests}
    BlankTiles.c
    BoundsBehindViewer.c
    DisplayNoDraw.c
    RandomTransform.c
    SimpleExample.c
    )
ENDIF (ICET_TESTS_USE_OPENGL)

Andy Cedilnik's avatar
Andy Cedilnik committed
39 40
SET(UTIL_SRCS init.c ppm.c)

41 42 43 44 45 46 47 48 49
CONFIGURE_FILE(
  ${CMAKE_CURRENT_SOURCE_DIR}/test-config.h.in
  ${CMAKE_CURRENT_BINARY_DIR}/test-config.h
  )

INCLUDE_DIRECTORIES(
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${CMAKE_CURRENT_BINARY_DIR}
  )
50

Andy Cedilnik's avatar
Andy Cedilnik committed
51
CREATE_TEST_SOURCELIST(Tests icetTests_mpi.c ${MyTests}
52 53
  EXTRA_INCLUDE mpi_comm.h
  FUNCTION init_mpi_comm)
Andy Cedilnik's avatar
Andy Cedilnik committed
54 55

ADD_EXECUTABLE(icetTests_mpi ${Tests} ${UTIL_SRCS})
56
TARGET_LINK_LIBRARIES(icetTests_mpi
57 58
  IceTCore
  IceTMPI
59
  )
60 61 62 63 64 65 66
IF (ICET_TESTS_USE_OPENGL)
  TARGET_LINK_LIBRARIES(icetTests_mpi
    IceTGL
    ${OPENGL_glu_LIBRARY}
    ${GLUT_LIBRARIES}
    )
ENDIF (ICET_TESTS_USE_OPENGL)
Andy Cedilnik's avatar
Andy Cedilnik committed
67 68

IF (ICET_MPIRUN_EXE)
69
  SET(PRE_TEST_FLAGS ${ICET_MPIRUN_EXE} ${ICET_MPI_NUMPROC_FLAG} ${ICET_MPI_MAX_NUMPROCS} ${ICET_MPI_PREFLAGS})
Andy Cedilnik's avatar
Andy Cedilnik committed
70 71 72
  SET(POST_TEST_FLAGS ${ICET_MPI_POSTFLAGS})
ENDIF (ICET_MPIRUN_EXE)

73
SET(ICET_TEST_FLAGS "" CACHE STRING "Arguments given to the test program.  These are given between the test executable and the name of the test.  Run the test executable with the -h flag to see what is available.")
Andy Cedilnik's avatar
Andy Cedilnik committed
74 75 76 77 78
MARK_AS_ADVANCED(ICET_TEST_FLAGS)
SEPARATE_ARGUMENTS(ICET_TEST_FLAGS)

FOREACH (test ${MyTests})
  GET_FILENAME_COMPONENT(TName ${test} NAME_WE)
79 80 81 82
  ADD_TEST(IceT${TName}
    ${PRE_TEST_FLAGS}
    ${C_TEST_PATH}/icetTests_mpi ${ICET_TEST_FLAGS} ${TName}
    ${POST_TEST_FLAGS})
83 84 85 86 87 88 89 90 91
  IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.1)
    SET_TESTS_PROPERTIES(IceT${TName}
      PROPERTIES FAIL_REGULAR_EXPRESSION
      ":ERROR:;TEST NOT RUN;TEST NOT PASSED;TEST FAILED"
      )
    SET_TESTS_PROPERTIES(IceT${TName}
      PROPERTIES PASS_REGULAR_EXPRESSION "Test Passed"
      )
  ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.1)
Andy Cedilnik's avatar
Andy Cedilnik committed
92 93 94
ENDFOREACH(test)

IF (WIN32)
Kenneth Moreland's avatar
Kenneth Moreland committed
95
  ADD_CUSTOM_TARGET(logclean erase log.???? *.ppm)
Andy Cedilnik's avatar
Andy Cedilnik committed
96
ELSE (WIN32)
97
  ADD_CUSTOM_TARGET(logclean rm -f log.???? *.ppm core.*)
Andy Cedilnik's avatar
Andy Cedilnik committed
98
ENDIF (WIN32)