add_test( NAME VersionCommand COMMAND "${CMAKE_BINARY_DIR}/$/fesa.exe" --version ) set_tests_properties( VersionCommand PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+\\.[0-9]+\\.[0-9]+" ) add_executable(fesa_dependency_smoke_test unit/dependencies/dependency_smoke_test.cpp ) target_compile_features(fesa_dependency_smoke_test PRIVATE cxx_std_20) target_compile_options(fesa_dependency_smoke_test PRIVATE /W4 /permissive- /EHsc) target_link_libraries(fesa_dependency_smoke_test PRIVATE MKL::MKL TBB::tbb HDF5::HDF5 GTest::gtest_main GTest::gtest GTest::gmock ) add_test( NAME DependencySmoke COMMAND "$" ) set_property( TEST DependencySmoke PROPERTY ENVIRONMENT_MODIFICATION ${FESA_DEPENDENCY_RUNTIME_MODIFICATIONS} ) add_test( NAME ProductionConfigureWithoutGTest COMMAND "${CMAKE_COMMAND}" --fresh -S "${CMAKE_SOURCE_DIR}" -B "${CMAKE_BINARY_DIR}/testing/production-no-gtest" -G "${CMAKE_GENERATOR}" -A "${CMAKE_GENERATOR_PLATFORM}" -T "${CMAKE_VS_PLATFORM_TOOLSET}" -DBUILD_TESTING=OFF -DCMAKE_DISABLE_FIND_PACKAGE_GTest=TRUE "-DMKL_DIR=${MKL_DIR}" "-DTBB_DIR=${TBB_DIR}" "-DHDF5_DIR=${HDF5_DIR}" ) add_executable(fesa_core_value_tests unit/core/diagnostic_test.cpp unit/core/entity_id_test.cpp unit/core/status_test.cpp unit/core/vec3_test.cpp unit/core/version_test.cpp ) target_compile_features(fesa_core_value_tests PRIVATE cxx_std_20) target_compile_options(fesa_core_value_tests PRIVATE /W4 /permissive- /EHsc) target_link_libraries(fesa_core_value_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME CoreValueTypes COMMAND "$" ) add_executable(fesa_model_value_tests unit/model/domain_builder_test.cpp unit/model/entity_origin_test.cpp unit/model/model_types_test.cpp ) target_compile_features(fesa_model_value_tests PRIVATE cxx_std_20) target_compile_options(fesa_model_value_tests PRIVATE /W4 /permissive- /EHsc) target_link_libraries(fesa_model_value_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME ModelTypes COMMAND "$" --gtest_filter=ModelTypes.* ) add_test( NAME EntityOrigin COMMAND "$" --gtest_filter=EntityOrigin.* ) add_test( NAME DomainBuilder COMMAND "$" --gtest_filter=DomainBuilder.* ) add_test( NAME DomainValidation COMMAND "$" --gtest_filter=*DomainValidation* ) add_executable(fesa_abaqus_parser_tests unit/io/abaqus/parser_test.cpp ) target_compile_features(fesa_abaqus_parser_tests PRIVATE cxx_std_20) target_compile_options(fesa_abaqus_parser_tests PRIVATE /W4 /permissive- /EHsc) target_compile_definitions( fesa_abaqus_parser_tests PRIVATE FESA_TEST_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}" ) target_link_libraries(fesa_abaqus_parser_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME AbaqusParser COMMAND "$" --gtest_filter=AbaqusParser.* ) add_test( NAME ScopedDeck COMMAND "$" --gtest_filter=ScopedDeck.* ) add_executable(fesa_deck_to_domain_tests integration/io/minimal_deck_to_domain_test.cpp ) target_compile_features(fesa_deck_to_domain_tests PRIVATE cxx_std_20) target_compile_options(fesa_deck_to_domain_tests PRIVATE /W4 /permissive- /EHsc) target_compile_definitions( fesa_deck_to_domain_tests PRIVATE FESA_TEST_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}" ) target_link_libraries(fesa_deck_to_domain_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME DeckToDomain COMMAND "$" --gtest_filter=DeckToDomain.* ) add_test( NAME ActiveInstance COMMAND "$" --gtest_filter=ActiveInstance.* ) add_executable(fesa_fem_primitives_tests unit/fem/beam_frame_test.cpp unit/fem/dof_manager_test.cpp unit/fem/gauss_rule_test.cpp unit/fem/line2_shape_test.cpp ) target_compile_features(fesa_fem_primitives_tests PRIVATE cxx_std_20) target_compile_options( fesa_fem_primitives_tests PRIVATE /W4 /permissive- /EHsc ) target_link_libraries(fesa_fem_primitives_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME Quadrature COMMAND "$" --gtest_filter=Quadrature.* ) add_test( NAME ShapeFunction COMMAND "$" --gtest_filter=ShapeFunction.* ) add_test( NAME Jacobian COMMAND "$" --gtest_filter=Jacobian.* ) add_test( NAME DofManager COMMAND "$" --gtest_filter=DofManager.* ) add_test( NAME EquationNumbering COMMAND "$" --gtest_filter=EquationNumbering.* ) add_test( NAME BeamFrame COMMAND "$" --gtest_filter=BeamFrame.* ) add_test( NAME BeamTransformation COMMAND "$" --gtest_filter=BeamTransformation.* ) add_executable(fesa_beam3d2_tests unit/elements/beam3d2_test.cpp ) target_compile_features(fesa_beam3d2_tests PRIVATE cxx_std_20) target_compile_options( fesa_beam3d2_tests PRIVATE /W4 /permissive- /EHsc ) target_link_libraries(fesa_beam3d2_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME Beam3D2 COMMAND "$" --gtest_filter=Beam3D2.* ) add_test( NAME Timoshenko COMMAND "$" --gtest_filter=Timoshenko.* ) add_test( NAME RigidBody COMMAND "$" --gtest_filter=RigidBody.* ) add_executable(fesa_serial_assembly_tests unit/assembly/serial_assembler_test.cpp ) target_compile_features(fesa_serial_assembly_tests PRIVATE cxx_std_20) target_compile_options( fesa_serial_assembly_tests PRIVATE /W4 /permissive- /EHsc ) target_link_libraries(fesa_serial_assembly_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME SparsePattern COMMAND "$" --gtest_filter=SparsePattern.* ) add_test( NAME SerialAssembly COMMAND "$" --gtest_filter=SerialAssembly.* ) add_test( NAME SymmetricCsr COMMAND "$" --gtest_filter=SymmetricCsr.* ) add_executable(fesa_constraint_tests unit/constraints/essential_bc_test.cpp ) target_compile_features(fesa_constraint_tests PRIVATE cxx_std_20) target_compile_options( fesa_constraint_tests PRIVATE /W4 /permissive- /EHsc ) target_link_libraries(fesa_constraint_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME EssentialBc COMMAND "$" --gtest_filter=EssentialBc.* ) add_test( NAME ConstraintElimination COMMAND "$" --gtest_filter=ConstraintElimination.* ) add_test( NAME Reaction COMMAND "$" --gtest_filter=Reaction.* ) add_executable(fesa_linear_solver_tests unit/solvers/linear/pardiso_linear_solver_test.cpp ) target_compile_features(fesa_linear_solver_tests PRIVATE cxx_std_20) target_compile_options( fesa_linear_solver_tests PRIVATE /W4 /permissive- /EHsc ) target_link_libraries(fesa_linear_solver_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME PardisoLinearSolver COMMAND "$" ) set_property( TEST PardisoLinearSolver PROPERTY ENVIRONMENT_MODIFICATION ${FESA_DEPENDENCY_RUNTIME_MODIFICATIONS} ) add_executable(fesa_result_database_tests unit/results/result_database_test.cpp ) target_compile_features(fesa_result_database_tests PRIVATE cxx_std_20) target_compile_options( fesa_result_database_tests PRIVATE /W4 /permissive- /EHsc ) target_link_libraries(fesa_result_database_tests PRIVATE fesa_core GTest::gtest_main ) add_test( NAME NodalFrame COMMAND "$" --gtest_filter=NodalFrame.* ) add_test( NAME ResultDatabase COMMAND "$" --gtest_filter=ResultDatabase.* ) add_executable(fesa_hdf5_results_tests integration/io/hdf5_results_test.cpp ) target_compile_features(fesa_hdf5_results_tests PRIVATE cxx_std_20) target_compile_options( fesa_hdf5_results_tests PRIVATE /W4 /permissive- /EHsc ) target_compile_definitions( fesa_hdf5_results_tests PRIVATE FESA_TEST_BINARY_DIR="${CMAKE_BINARY_DIR}" ) target_link_libraries(fesa_hdf5_results_tests PRIVATE fesa_core HDF5::HDF5 GTest::gtest_main ) add_test( NAME Hdf5 COMMAND "$" --gtest_filter=Hdf5.* ) add_test( NAME ResultRoundTrip COMMAND "$" --gtest_filter=ResultRoundTrip.* ) set_property( TEST Hdf5 ResultRoundTrip PROPERTY ENVIRONMENT_MODIFICATION ${FESA_DEPENDENCY_RUNTIME_MODIFICATIONS} )