TRIBITS_ADD_EXECUTABLE_AND_TEST( hesopcheck SOURCES hesopcheck.cpp ARGS COMM serial mpi NUM_MPI_PROCS 1 PASS_REGULAR_EXPRESSION "OK" ) configure_file(hesopcheck.cpp hesopcheck_ADC.cpp COPYONLY) configure_file(../../src/Sacado_radops2.cpp radops2_ADC.cpp COPYONLY) SET_PROPERTY( SOURCE ${CMAKE_CURRENT_BINARY_DIR}/hesopcheck_ADC.cpp ${CMAKE_CURRENT_BINARY_DIR}/radops2_ADC.cpp PROPERTY COMPILE_DEFINITIONS "RAD_AUTO_AD_Const" ) # Don't link Sacado library to this test as it results in duplicate symbols. # So we can't use TRIBITS_ADD_EXECUTABLE_AND_TEST and instead have to create # the executable using raw CMake and then add the test. # TRIBITS_ADD_EXECUTABLE_AND_TEST( # hesopcheck_ADC # SOURCES hesopcheck_ADC.cpp radops2_ADC.cpp # ARGS # COMM serial mpi # NUM_MPI_PROCS 1 # PASS_REGULAR_EXPRESSION "OK" # ) GET_PROPERTY(Sacado_lib_deps TARGET "${${PROJECT_NAME}_LIBRARY_NAME_PREFIX}sacado" PROPERTY LINK_LIBRARIES) ADD_EXECUTABLE("Sacado_hesopcheck_ADC${${PROJECT_NAME}_CMAKE_EXECUTABLE_SUFFIX}" hesopcheck_ADC.cpp radops2_ADC.cpp) TARGET_LINK_LIBRARIES("Sacado_hesopcheck_ADC${${PROJECT_NAME}_CMAKE_EXECUTABLE_SUFFIX}" ${Sacado_lib_deps}) TARGET_INCLUDE_DIRECTORIES("Sacado_hesopcheck_ADC${${PROJECT_NAME}_CMAKE_EXECUTABLE_SUFFIX}" PRIVATE "${${PACKAGE_NAME}_BINARY_DIR}/src" PRIVATE "${${PACKAGE_NAME}_SOURCE_DIR}/src" PRIVATE "${${PACKAGE_NAME}_SOURCE_DIR}/src/mpl" PRIVATE "${${PACKAGE_NAME}_SOURCE_DIR}/src/new_design" ) TRIBITS_ADD_TEST( hesopcheck_ADC ARGS COMM serial mpi NUM_MPI_PROCS 1 PASS_REGULAR_EXPRESSION "OK" ) FILE(GLOB TRADOPTESTS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "tradoptest_*.cpp") FOREACH( TESTFILE ${TRADOPTESTS} ) STRING(REPLACE ".cpp" "" BASENAME ${TESTFILE}) configure_file(${TESTFILE} ${BASENAME}_ADC.cpp COPYONLY) SET_PROPERTY( SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${BASENAME}_ADC.cpp PROPERTY COMPILE_DEFINITIONS "RAD_AUTO_AD_Const" ) TRIBITS_ADD_EXECUTABLE_AND_TEST( ${BASENAME}_ADC SOURCES ${BASENAME}_ADC.cpp ARGS COMM serial mpi NUM_MPI_PROCS 1 PASS_REGULAR_EXPRESSION "OK" ) configure_file(${TESTFILE} ${BASENAME}_EQA.cpp COPYONLY) SET_PROPERTY( SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${BASENAME}_EQA.cpp PROPERTY COMPILE_DEFINITIONS "RAD_EQ_ALIAS" ) TRIBITS_ADD_EXECUTABLE_AND_TEST( ${BASENAME}_EQA SOURCES ${BASENAME}_EQA.cpp ARGS COMM serial mpi NUM_MPI_PROCS 1 PASS_REGULAR_EXPRESSION "OK" ) configure_file(${TESTFILE} ${BASENAME}_RE1.cpp COPYONLY) SET_PROPERTY( SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${BASENAME}_RE1.cpp PROPERTY COMPILE_DEFINITIONS "RAD_REINIT=1" ) TRIBITS_ADD_EXECUTABLE_AND_TEST( ${BASENAME}_RE1 SOURCES ${BASENAME}_RE1.cpp ARGS COMM serial mpi NUM_MPI_PROCS 1 PASS_REGULAR_EXPRESSION "OK" ) configure_file(${TESTFILE} ${BASENAME}_RE2.cpp COPYONLY) SET_PROPERTY( SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${BASENAME}_RE2.cpp PROPERTY COMPILE_DEFINITIONS "RAD_REINIT=2" ) TRIBITS_ADD_EXECUTABLE_AND_TEST( ${BASENAME}_RE2 SOURCES ${BASENAME}_RE2.cpp ARGS COMM serial mpi NUM_MPI_PROCS 1 PASS_REGULAR_EXPRESSION "OK" ) ENDFOREACH()