diff options
author | Peter Stroia-Williams <peterdwilliams@gmail.com> | 2019-02-07 13:21:57 (GMT) |
---|---|---|
committer | Peter Stroia-Williams <Peter.Stroia-Williams@PGS.com> | 2019-02-08 20:34:30 (GMT) |
commit | 6725975bd8c47c7817a286ada9eadb9b0fbf324c (patch) | |
tree | 6698f158ce79052c1644645d3c46bf20766c5355 /Tests | |
parent | 1e2e12889b3550713cfcb86a9367c3046a6f56e9 (diff) | |
download | CMake-6725975bd8c47c7817a286ada9eadb9b0fbf324c.zip CMake-6725975bd8c47c7817a286ada9eadb9b0fbf324c.tar.gz CMake-6725975bd8c47c7817a286ada9eadb9b0fbf324c.tar.bz2 |
FindOctave: Add target for octinterp
This change adds the Octave::Octinterp target to make the octinterp
library available without users having to resort to using the
Octave_INTERP_LIBRARY variable.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/FindOctave/Test/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/FindOctave/Test/interp_main.cpp | 26 |
2 files changed, 30 insertions, 0 deletions
diff --git a/Tests/FindOctave/Test/CMakeLists.txt b/Tests/FindOctave/Test/CMakeLists.txt index ce33fcd..73aa831 100644 --- a/Tests/FindOctave/Test/CMakeLists.txt +++ b/Tests/FindOctave/Test/CMakeLists.txt @@ -10,6 +10,10 @@ add_executable(test_tgt main.cpp) target_link_libraries(test_tgt Octave::Octave) add_test(NAME test_tgt COMMAND test_tgt) +add_executable(test_octinterp_tgt interp_main.cpp) +target_link_libraries(test_octinterp_tgt Octave::Octinterp) +add_test(NAME test_octinterp_tgt COMMAND test_octinterp_tgt) + add_test(NAME test_tgt_exe COMMAND Octave::Interpreter -q --eval "runtests('.')" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/Tests/FindOctave/Test/interp_main.cpp b/Tests/FindOctave/Test/interp_main.cpp new file mode 100644 index 0000000..1efa187 --- /dev/null +++ b/Tests/FindOctave/Test/interp_main.cpp @@ -0,0 +1,26 @@ +#include <iostream> +#include <oct.h> +#include <octave.h> +#include <parse.h> +#include <toplev.h> + +int main(void) +{ + string_vector argv(2); + argv(0) = "embedded"; + argv(1) = "-q"; + + try { + octave_main(2, argv.c_str_vec(), 1); + octave_value_list in; + in(0) = 72.0; + const octave_value_list result = feval("sqrt", in); + std::cout << "result is " << result(0).scalar_value() << std::endl; + clean_up_and_exit(0); + } catch (const octave::exit_exception& ex) { + std::cerr << "Octave interpreter exited with status = " << ex.exit_status() + << std::endl; + } catch (const octave::execution_exception&) { + std::cerr << "error encountered in Octave evaluator!" << std::endl; + } +} |