From 04c93ef20fdfd33bf266bf0202c2b351939da67d Mon Sep 17 00:00:00 2001 From: Patricia Aas Date: Sun, 29 Nov 2020 17:42:03 +0100 Subject: [PATCH] Add lcd framework --- CMakeLists.txt | 1 + README.md | 2 ++ lcd/CMakeLists.txt | 5 +++++ lcd/README.md | 2 ++ lcd/conanfile.py | 15 +++++++++++++++ lcd/lib/CMakeLists.txt | 3 +++ lcd/lib/lcd.cpp | 5 +++++ lcd/lib/lcd.hpp | 8 ++++++++ lcd/src/CMakeLists.txt | 4 ++++ lcd/src/main.cpp | 3 +++ lcd/test/CMakeLists.txt | 10 ++++++++++ lcd/test/tests.cpp | 10 ++++++++++ 12 files changed, 68 insertions(+) create mode 100644 lcd/CMakeLists.txt create mode 100644 lcd/README.md create mode 100644 lcd/conanfile.py create mode 100644 lcd/lib/CMakeLists.txt create mode 100644 lcd/lib/lcd.cpp create mode 100644 lcd/lib/lcd.hpp create mode 100644 lcd/src/CMakeLists.txt create mode 100644 lcd/src/main.cpp create mode 100644 lcd/test/CMakeLists.txt create mode 100644 lcd/test/tests.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e4f709..658f1c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,5 +15,6 @@ conan_add_remote(NAME bincrafters INDEX 1 URL https://api.bintray.com/conan/binc set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}/pacman/;${CMAKE_BINARY_DIR}/pomodoro/) +add_subdirectory(lcd) add_subdirectory(pacman) add_subdirectory(pomodoro) diff --git a/README.md b/README.md index 75ca1da..dc4a983 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,9 @@ ## Exercises +* [LCD](lcd/README.md) * [Pac-Man](pacman/README.md) +* [Pomodoro](pomodoro/README.md) ## Build instructions diff --git a/lcd/CMakeLists.txt b/lcd/CMakeLists.txt new file mode 100644 index 0000000..e0b6d41 --- /dev/null +++ b/lcd/CMakeLists.txt @@ -0,0 +1,5 @@ +conan_cmake_run(CONANFILE conanfile.py BASIC_SETUP CMAKE_TARGETS BUILD missing) + +add_subdirectory(lib) +add_subdirectory(src) +add_subdirectory(test) diff --git a/lcd/README.md b/lcd/README.md new file mode 100644 index 0000000..39d1b56 --- /dev/null +++ b/lcd/README.md @@ -0,0 +1,2 @@ +[< Back](../README.md) +# Mod(C++) - Lcd Exercise diff --git a/lcd/conanfile.py b/lcd/conanfile.py new file mode 100644 index 0000000..abdac82 --- /dev/null +++ b/lcd/conanfile.py @@ -0,0 +1,15 @@ +from conans import ConanFile, CMake + +class ConanDependencies(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package" + default_options = {} + + def requirements(self): + self.requires("gtest/1.10.0") + + def imports(self): + self.copy("*.dll", dst="bin", src="bin") + self.copy("*.dylib*", dst="bin", src="lib") + self.copy('*.so*', dst='lib', src='lib') + self.copy("license*", dst="licenses", folder=True, ignore_case=True) diff --git a/lcd/lib/CMakeLists.txt b/lcd/lib/CMakeLists.txt new file mode 100644 index 0000000..a076a3a --- /dev/null +++ b/lcd/lib/CMakeLists.txt @@ -0,0 +1,3 @@ +file(GLOB_RECURSE sources CONFIGURE_DEPENDS "*.cpp") +add_library(liblcd ${sources}) +target_link_libraries(liblcd) \ No newline at end of file diff --git a/lcd/lib/lcd.cpp b/lcd/lib/lcd.cpp new file mode 100644 index 0000000..aeb840e --- /dev/null +++ b/lcd/lib/lcd.cpp @@ -0,0 +1,5 @@ +// +// Created by patricia on 11/29/2020. +// + +#include "lcd.hpp" diff --git a/lcd/lib/lcd.hpp b/lcd/lib/lcd.hpp new file mode 100644 index 0000000..6de216f --- /dev/null +++ b/lcd/lib/lcd.hpp @@ -0,0 +1,8 @@ +#ifndef LCD_LCD_HPP +#define LCD_LCD_HPP + +class lcd { + +}; + +#endif //LCD_LCD_HPP diff --git a/lcd/src/CMakeLists.txt b/lcd/src/CMakeLists.txt new file mode 100644 index 0000000..46a1cc2 --- /dev/null +++ b/lcd/src/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB_RECURSE sources CONFIGURE_DEPENDS "*.cpp") +add_executable(lcd ${sources}) +target_link_libraries(lcd liblcd) + diff --git a/lcd/src/main.cpp b/lcd/src/main.cpp new file mode 100644 index 0000000..82a68ed --- /dev/null +++ b/lcd/src/main.cpp @@ -0,0 +1,3 @@ +int main(int argc, char * argv[]) { + return 0; +} diff --git a/lcd/test/CMakeLists.txt b/lcd/test/CMakeLists.txt new file mode 100644 index 0000000..cc24420 --- /dev/null +++ b/lcd/test/CMakeLists.txt @@ -0,0 +1,10 @@ +enable_testing() +find_package(GTest REQUIRED) + +include(GoogleTest) + +add_executable(lcd_tests tests.cpp) +target_link_libraries(lcd_tests GTest::GTest liblcd) + +gtest_discover_tests(lcd_tests TEST_PREFIX lcd:) +add_test(NAME monolithic COMMAND lcd_tests) \ No newline at end of file diff --git a/lcd/test/tests.cpp b/lcd/test/tests.cpp new file mode 100644 index 0000000..21a751a --- /dev/null +++ b/lcd/test/tests.cpp @@ -0,0 +1,10 @@ +#include + +TEST(LcdTest, Initial) { + EXPECT_EQ(1, 2); +} + +int main(int argc, char* argv[]) { + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} \ No newline at end of file