ADD: Adds files for initial build of the library.
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
build
|
||||||
41
CMakeLists.txt
Executable file
41
CMakeLists.txt
Executable 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()
|
||||||
19
include/WHISPER/whisper.hpp
Normal file
19
include/WHISPER/whisper.hpp
Normal 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
40
tests/test_test.cpp
Normal 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
|
||||||
Reference in New Issue
Block a user