commit 5cd9e11979f1e4048afd4d9e367e00baaeb88cf9 Author: Bruno BELANYI Date: Fri Mar 11 23:12:10 2022 +0100 kraken: bootstrap build system diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e3a35fa --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.13) +project(kraken VERSION 0.0.0 LANGUAGES CXX) +enable_testing() + +# Add a dummy target to share all our compile options +add_library(common_options INTERFACE) +target_compile_features(common_options INTERFACE + cxx_std_20 +) +target_compile_options(common_options INTERFACE + -Wall + -Wextra +) +target_include_directories(common_options INTERFACE + src +) + +add_subdirectory(src) +add_subdirectory(tests) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..368dfd6 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,4 @@ +add_executable(kraken kraken.cc) +target_link_libraries(kraken PRIVATE common_options) + +install(TARGETS kraken) diff --git a/src/kraken.cc b/src/kraken.cc new file mode 100644 index 0000000..5eb9e4a --- /dev/null +++ b/src/kraken.cc @@ -0,0 +1,5 @@ +#include + +int main() { + std::cout << "Hello World!\n"; +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..269aea0 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(unit) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt new file mode 100644 index 0000000..f29fdf8 --- /dev/null +++ b/tests/unit/CMakeLists.txt @@ -0,0 +1,15 @@ +find_package(GTest) + +if (${GTest_FOUND}) +include(GoogleTest) + +add_executable(base_test base.cc) +target_link_libraries(base_test PRIVATE common_options) + +target_link_libraries(base_test PRIVATE + GTest::gtest + GTest::gtest_main +) + +gtest_discover_tests(base_test) +endif (${GTest_FOUND}) diff --git a/tests/unit/base.cc b/tests/unit/base.cc new file mode 100644 index 0000000..4573678 --- /dev/null +++ b/tests/unit/base.cc @@ -0,0 +1,5 @@ +#include + +TEST(misc, passing) { + ASSERT_EQ(1, 1); +}