# ADD_SUBDIRECTORY(interiorpoint) # uses TriBITS
ADD_SUBDIRECTORY(fletcher)
ADD_SUBDIRECTORY(trustregion)


ROL_ADD_EXECUTABLE_AND_TEST(
   LineSearch
   SOURCES test_01.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   TrustRegion
   SOURCES test_02.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   BoxConstrained_LineSearch
   SOURCES test_03.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   BoxConstrained_TrustRegion
   SOURCES test_04.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   BoxConstrained_PrimalDualActiveSet
   SOURCES test_05.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   LineSearchTypes
   SOURCES test_06.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
   # ROL_ADD_EXECUTABLE_AND_TEST(
   #   InteriorPoint
   #   SOURCES test_07.cpp
   #   ARGS PrintItAll
   #   NUM_MPI_PROCS 1
   #   PASS_REGULAR_EXPRESSION "TEST PASSED"
   #   ADD_DIR_TO_NAME
   #   )
 
   # ROL_ADD_EXECUTABLE_AND_TEST(
   #   InteriorPointIneq
   #   SOURCES test_08.cpp
   #   ARGS PrintItAll
   #   NUM_MPI_PROCS 1
   #   PASS_REGULAR_EXPRESSION "TEST PASSED"
   #   ADD_DIR_TO_NAME
   #   )
   #  ROL_ADD_EXECUTABLE_AND_TEST(
   #   InteriorPointKKT
   #   SOURCES test_09.cpp
   #   ARGS PrintItAll
   #   NUM_MPI_PROCS 1
   #   PASS_REGULAR_EXPRESSION "TEST PASSED"
   #   ADD_DIR_TO_NAME
   #   )
   # 
   # ROL_ADD_EXECUTABLE_AND_TEST(
   #   InteriorPointBound
   #   SOURCES test_10.cpp
   #   ARGS PrintItAll
   #   NUM_MPI_PROCS 1
   #   PASS_REGULAR_EXPRESSION "TEST PASSED"
   #   ADD_DIR_TO_NAME
   #   )
   # 
   # ROL_ADD_EXECUTABLE_AND_TEST(
   #   InteriorPointBoundIneq
   #   SOURCES test_11.cpp
   #   ARGS PrintItAll
   #   NUM_MPI_PROCS 1
   #   PASS_REGULAR_EXPRESSION "TEST PASSED"
   #   ADD_DIR_TO_NAME
   #   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   StepNotImplemented
   SOURCES test_12.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 

 ROL_ADD_EXECUTABLE_AND_TEST(
   InteriorPointStep
   SOURCES test_13.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   MoreauYosidaPenaltyStep
   SOURCES test_14.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   BoxConstrained_LM_TrustRegion
   SOURCES test_15.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   AugmentedLagrangianStep
   SOURCES test_16.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   FletcherStep
   SOURCES test_17.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_ADD_EXECUTABLE_AND_TEST(
   CubicTest
   SOURCES test_18.cpp
   ARGS PrintItAll
   NUM_MPI_PROCS 1
   PASS_REGULAR_EXPRESSION "TEST PASSED"
   ADD_DIR_TO_NAME
   )
 
 ROL_COPY_FILES_TO_BINARY_DIR(
   StepTestDataCopy
   SOURCE_FILES
     input.xml
   SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
   DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}"
 )
 
