diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7a5e8b2..5fa4e33 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,156 +1,162 @@ ##################### External packages ######################### # catch for unit testing include(ExternalProject) find_package(Git REQUIRED) ExternalProject_Add( catch PREFIX ${CMAKE_BINARY_DIR}/catch GIT_REPOSITORY https://github.com/philsquared/Catch.git TIMEOUT 10 UPDATE_COMMAND ${GIT_EXECUTABLE} pull CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" LOG_DOWNLOAD ON ) ################## Configuration ################################ set(PROJECT_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ExternalProject_Get_Property(catch source_dir) set(CATCH_INCLUDE_DIR ${source_dir}/include CACHE INTERNAL "Path to include folder for Catch") include_directories(${CATCH_INCLUDE_DIR}) include_directories(${PROJECT_TEST_DIR}) ################## Tests ######################################## enable_testing(true) # Catch test #=========== # MiCPSolver # ---------- set(MICPSOLVER_TEST_DIR ${PROJECT_TEST_DIR}/micpsolver) add_executable(test_micpsolver ${MICPSOLVER_TEST_DIR}/test_micpsolver.cpp ${MICPSOLVER_TEST_DIR}/condition_number.cpp ${MICPSOLVER_TEST_DIR}/ncp_functions.cpp ${MICPSOLVER_TEST_DIR}/micpsolver.cpp ) # ODEInt # ---------- set(ODEINT_TEST_DIR ${PROJECT_TEST_DIR}/odeint) add_executable(test_odeint ${ODEINT_TEST_DIR}/test_odeint.cpp ${ODEINT_TEST_DIR}/butchertableau.cpp ${ODEINT_TEST_DIR}/embeddedrungekutta.cpp ) # Database # -------- set(DATABASE_TEST_DIR ${PROJECT_TEST_DIR}/database) add_custom_target(test_database_inc SOURCES ${DATABASE_TEST_DIR}/str_database.hpp ) add_executable(test_database ${DATABASE_TEST_DIR}/test_database.cpp ${DATABASE_TEST_DIR}/database_species.cpp ${DATABASE_TEST_DIR}/database_reader.cpp ${DATABASE_TEST_DIR}/database_selector.cpp ${DATABASE_TEST_DIR}/database_switch.cpp ) set(TEST_DATABASE_PATH \\"../data/specmicp_database.js\\") set_target_properties(test_database PROPERTIES COMPILE_FLAGS -DTEST_DATABASE_PATH=${TEST_DATABASE_PATH}) target_link_libraries(test_database specmicp_database) add_dependencies(test_database catch) # Mesh # ---- add_executable(test_meshes ${PROJECT_TEST_DIR}/reactmicp/meshes/test_meshes.cpp ${PROJECT_TEST_DIR}/reactmicp/meshes/test_uniform_mesh_1d.cpp ${PROJECT_TEST_DIR}/reactmicp/meshes/test_axisymmetric_uniform_mesh_1d.cpp ) +add_dependencies(test_meshes catch) # Saturated Diffusion # ------------------- add_executable(test_reactmicp_saturated_diffusion ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_diffusion/test_reactmicp_saturated_diffusion.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_diffusion/variables.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_diffusion/solver.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_diffusion/neutrality_solver.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_diffusion/transport_program.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_diffusion/reactive_transport.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_diffusion/utils.cpp ) target_link_libraries(test_reactmicp_saturated_diffusion reactmicp specmicp specmicp_database) +add_dependencies(test_reactmicp_saturated_diffusion catch) # Specmicp : Adim system # ---------------------- add_executable(test_specmicp_adim ${PROJECT_TEST_DIR}/specmicp/adim/test_specmicp_adim.cpp ${PROJECT_TEST_DIR}/specmicp/adim/adimensional_system.cpp ${PROJECT_TEST_DIR}/specmicp/adim/adimensional_system_solver.cpp ${PROJECT_TEST_DIR}/specmicp/adim/adimensional_system_conditions.cpp ${PROJECT_TEST_DIR}/specmicp/adim/adimensional_system_problem_solver.cpp ${PROJECT_TEST_DIR}/specmicp/adim/adimensional_system_thermocarbo.cpp ${PROJECT_TEST_DIR}/specmicp/adim/adimensional_system_carboalu.cpp ${PROJECT_TEST_DIR}/specmicp/adim/adimensional_system_pcfm.cpp ) target_link_libraries(test_specmicp_adim specmicp specmicp_database) +add_dependencies(test_specmicp_adim catch) # Specmicp : Adim Kinetics # ------------------------ set(ADIMKINETICS_TEST_DIR ${PROJECT_TEST_DIR}/specmicp/adim_kinetics) add_executable(test_specmicp_adim_kinetics ${ADIMKINETICS_TEST_DIR}/test_specmicp_adim_kinetics.cpp ${ADIMKINETICS_TEST_DIR}/kinetics_variables.cpp ) target_link_libraries(test_specmicp_adim_kinetics specmicp specmicp_database) +add_dependencies(test_specmicp_adim catch) # Reactmicp : Reactive transport solver # ------------------------------------- add_executable(test_reactive_transport_solver ${PROJECT_TEST_DIR}/reactmicp/solver/test_reactive_transport_solver.cpp ${PROJECT_TEST_DIR}/reactmicp/solver/test_coupling.cpp ) target_link_libraries(test_reactive_transport_solver reactmicp specmicp specmicp_database) +add_dependencies(test_reactive_transport_solver catch) # Saturated diffusion using new reactive transport solver # ------------------------------------------------------- add_executable(test_reactmicp_saturated_react ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_react/test_reactmicp_saturated_react.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_react/speciation_system.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_react/variables.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_react/transport_program.cpp ${PROJECT_TEST_DIR}/reactmicp/systems/saturated_react/equilibrium_stagger.cpp ) target_link_libraries(test_reactmicp_saturated_react reactmicp specmicp specmicp_database) +add_dependencies(test_reactmicp_saturated_react catch)