1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- cmake_minimum_required (VERSION 2.6)
- project (Tutorial)
- # The version number.
- set (Tutorial_VERSION_MAJOR 1)
- set (Tutorial_VERSION_MINOR 0)
- # should we use our own math functions
- option(USE_MYMATH "Use tutorial provided math implementation" ON)
- # configure a header file to pass some of the CMake settings
- # to the source code
- configure_file (
- "${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"
- "${PROJECT_BINARY_DIR}/TutorialConfig.h"
- )
- # add the binary tree to the search path for include files
- # so that we will find TutorialConfig.h
- include_directories ("${PROJECT_BINARY_DIR}")
- # add the MathFunctions library?
- if (USE_MYMATH)
- include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
- add_subdirectory (MathFunctions)
- set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
- endif ()
- # add the executable
- add_executable (Tutorial tutorial.cxx)
- target_link_libraries (Tutorial ${EXTRA_LIBS})
- # add the install targets
- install (TARGETS Tutorial DESTINATION bin)
- install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
- DESTINATION include)
- # enable testing
- enable_testing ()
- # does the application run
- add_test (TutorialRuns Tutorial 25)
- # does it sqrt of 25
- add_test (TutorialComp25 Tutorial 25)
- set_tests_properties (TutorialComp25
- PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5"
- )
- # does it handle negative numbers
- add_test (TutorialNegative Tutorial -25)
- set_tests_properties (TutorialNegative
- PROPERTIES PASS_REGULAR_EXPRESSION "-25 is 0"
- )
- # does it handle small numbers
- add_test (TutorialSmall Tutorial 0.0001)
- set_tests_properties (TutorialSmall
- PROPERTIES PASS_REGULAR_EXPRESSION "0.0001 is 0.01"
- )
- # does the usage message work?
- add_test (TutorialUsage Tutorial)
- set_tests_properties (TutorialUsage
- PROPERTIES
- PASS_REGULAR_EXPRESSION "Usage:.*number"
- )
|