| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- cmake_minimum_required (VERSION 3.5)
- enable_testing()
- project(basic_checks)
- set(MATLAB_FIND_DEBUG TRUE)
- # the success of the following command is dependent on the current configuration:
- # - on 32bits builds (cmake is building with 32 bits), it looks for 32 bits Matlab
- # - on 64bits builds (cmake is building with 64 bits), it looks for 64 bits Matlab
- if(IS_MCR)
- set(RUN_UNIT_TESTS FALSE)
- else()
- set(RUN_UNIT_TESTS TRUE)
- set(components MAIN_PROGRAM)
- endif()
- if(NOT "${MCR_ROOT}" STREQUAL "")
- set(Matlab_ROOT_DIR "${MCR_ROOT}")
- if(NOT EXISTS "${MCR_ROOT}")
- message(FATAL_ERROR "MCR does not exist ${MCR_ROOT}")
- endif()
- endif()
- find_package(Matlab REQUIRED COMPONENTS ${components})
- matlab_add_mex(
- # target name
- NAME cmake_matlab_test_wrapper1
- # output name
- OUTPUT_NAME cmake_matlab_mex1
- SRC ${CMAKE_CURRENT_SOURCE_DIR}/../matlab_wrapper1.cpp
- DOCUMENTATION ${CMAKE_CURRENT_SOURCE_DIR}/../help_text1.m.txt
- )
- if(RUN_UNIT_TESTS)
- matlab_add_unit_test(
- NAME ${PROJECT_NAME}_matlabtest-1
- TIMEOUT 300
- UNITTEST_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../cmake_matlab_unit_tests1.m
- ADDITIONAL_PATH $<TARGET_FILE_DIR:cmake_matlab_test_wrapper1>
- )
- # timeout tests, TIMEOUT set to very short on purpose
- matlab_add_unit_test(
- NAME ${PROJECT_NAME}_matlabtest-2
- TIMEOUT 15
- UNITTEST_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../cmake_matlab_unit_tests_timeout.m
- ADDITIONAL_PATH $<TARGET_FILE_DIR:cmake_matlab_test_wrapper1>
- )
- set_tests_properties(${PROJECT_NAME}_matlabtest-2 PROPERTIES WILL_FAIL TRUE)
- # testing the test without the unittest framework of Matlab
- matlab_add_unit_test(
- NAME ${PROJECT_NAME}_matlabtest-3
- TIMEOUT 300
- NO_UNITTEST_FRAMEWORK
- UNITTEST_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../cmake_matlab_unit_tests2.m
- ADDITIONAL_PATH $<TARGET_FILE_DIR:cmake_matlab_test_wrapper1>
- )
- matlab_add_unit_test(
- NAME ${PROJECT_NAME}_matlabtest-4
- TIMEOUT 300
- NO_UNITTEST_FRAMEWORK
- UNITTEST_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../cmake_matlab_unit_tests3.m
- ADDITIONAL_PATH $<TARGET_FILE_DIR:cmake_matlab_test_wrapper1>
- )
- set_tests_properties(${PROJECT_NAME}_matlabtest-4 PROPERTIES WILL_FAIL TRUE)
- endif()
- # checking correct flags passed
- # EXCLUDE_FROM_ALL appears after a multiargs (like SRC)
- matlab_add_mex(
- # target name
- NAME cmake_matlab_test_exclude_from_all
- # output name
- OUTPUT_NAME cmake_matlab_mex_dummy
- SRC ${CMAKE_CURRENT_SOURCE_DIR}/../matlab_wrapper_failure.cpp
- EXCLUDE_FROM_ALL
- )
|