Add IModelRunner interface to TOSA Reference Model
* Added IModelRunner interface using pimpl idiom, which allows a user to
initialize, configure and run the model.
* Added unit tests for IModelRunner.
* Added doctest as third-party submodule.
* Added user options to specify paths for dependencies.
* Moved general func_config functions to separate utility, which removes
cxxopts dependency.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: If42f1f82cd6dadf18911a48dcd5fa579b719aff2
diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
index abcc52c..aa6c43d 100644
--- a/thirdparty/CMakeLists.txt
+++ b/thirdparty/CMakeLists.txt
@@ -12,6 +12,13 @@
project(thirdparty LANGUAGES CXX)
-add_subdirectory(cxxopts)
add_subdirectory(serialization_lib EXCLUDE_FROM_ALL)
-add_subdirectory(json EXCLUDE_FROM_ALL)
+
+if(BUILD_TOSA_REFERENCE_MODEL_EXECUTABLE)
+ add_subdirectory(cxxopts)
+ add_subdirectory(json EXCLUDE_FROM_ALL)
+endif()
+
+if(BUILD_TOSA_REFERENCE_MODEL_TESTS)
+ add_subdirectory(doctest EXCLUDE_FROM_ALL)
+endif()
diff --git a/thirdparty/doctest b/thirdparty/doctest
new file mode 160000
index 0000000..86892fc
--- /dev/null
+++ b/thirdparty/doctest
@@ -0,0 +1 @@
+Subproject commit 86892fc480f80fb57d9a3926cb506c0e974489d8