ADD: Adds files for initial build of the library.

This commit is contained in:
Christina Sander
2022-10-20 14:02:48 +02:00
parent 3185b0bd7e
commit 4841b3ff17
4 changed files with 101 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
build

41
CMakeLists.txt Executable file
View File

@@ -0,0 +1,41 @@
cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
project (whisper-com VERSION 0.1.0 LANGUAGES CXX C)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
include(defaultOptions)
IF(NOT TARGET Catch2)
add_subdirectory(libs/Catch2 EXCLUDE_FROM_ALL)
include(libs/Catch2/contrib/Catch.cmake)
ENDIF()
add_compile_definitions(LOGURU_WITH_STREAMS SQLITE_THREADSAFE=2)
IF(NOT TARGET loguru)
add_subdirectory(libs/loguru EXCLUDE_FROM_ALL)
ENDIF()
add_library(whisper-com STATIC
include/WHISPER/whisper.hpp
)
target_link_libraries(whisper-com
loguru
)
target_include_directories(whisper-com PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
src)
#
# Everything TEST related
#
option(TEST_WHISPER_COMMUNICATION_LIBRARY "Turn running of application template specific tests off" ON)
IF (${TEST_WHISPER_COMMUNICATION_LIBRARY})
add_executable(test_test tests/test_test.cpp)
target_link_libraries(test_test Catch2::Catch2 whisper-com loguru)
catch_discover_tests(test_test)
ENDIF()

View File

@@ -0,0 +1,19 @@
#pragma once
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
/**
* @file
* @copyright 2022 MPLv2
*/
/**
* @brief namespace for all whisper-com related components
*/
namespace WHISPER
{
// Add datatypes here
} // namespace WHISPER

40
tests/test_test.cpp Normal file
View File

@@ -0,0 +1,40 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
/**
* @file
* @copyright 2022 MPLv2
*/
/**
* @defgroup tests
*/
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
/**
* @brief brief test description
* @ingroup group
*/
SCENARIO("A test scenario","[keywords]")
{
GIVEN("Preliminaries")
{
int i = 40;
WHEN("doing something")
{
i = i + 2;
THEN("expecting something to happen")
{
REQUIRE(i == 42 );
} // THEN
} // WHEN
} // GIVEN
} // SCENARIO