From d303b57e0ddec8de8b5be4ecf07e4f7f359bfed1 Mon Sep 17 00:00:00 2001 From: Debashis Nandi Date: Sat, 19 Apr 2025 23:39:00 +0530 Subject: [PATCH] core: dp cmake init --- .../0005_DynamicProgramming/0001_RodCutting.h | 0 .../0001_RodCutting.cc | 0 .../0005_DynamicProgramming/CMakeLists.txt | 7 ++++++ .../0001_RodCuttingTest.cc | 0 Tests/0005_DynamicProgramming/CMakeLists.txt | 25 +++++++++++++++++++ 5 files changed, 32 insertions(+) create mode 100644 Headers/0005_DynamicProgramming/0001_RodCutting.h create mode 100644 SourceCodes/0005_DynamicProgramming/0001_RodCutting.cc create mode 100644 Tests/0005_DynamicProgramming/0001_RodCuttingTest.cc diff --git a/Headers/0005_DynamicProgramming/0001_RodCutting.h b/Headers/0005_DynamicProgramming/0001_RodCutting.h new file mode 100644 index 0000000..e69de29 diff --git a/SourceCodes/0005_DynamicProgramming/0001_RodCutting.cc b/SourceCodes/0005_DynamicProgramming/0001_RodCutting.cc new file mode 100644 index 0000000..e69de29 diff --git a/SourceCodes/0005_DynamicProgramming/CMakeLists.txt b/SourceCodes/0005_DynamicProgramming/CMakeLists.txt index e69de29..f49012e 100644 --- a/SourceCodes/0005_DynamicProgramming/CMakeLists.txt +++ b/SourceCodes/0005_DynamicProgramming/CMakeLists.txt @@ -0,0 +1,7 @@ +# Specify the source files +set(0005DYNAMICPROGRAMMING_SOURCES + 0001_RodCutting.cc +) + +# Create a library target +add_library(0005DYNAMICPROGRAMMING ${0005DYNAMICPROGRAMMING_SOURCES}) \ No newline at end of file diff --git a/Tests/0005_DynamicProgramming/0001_RodCuttingTest.cc b/Tests/0005_DynamicProgramming/0001_RodCuttingTest.cc new file mode 100644 index 0000000..e69de29 diff --git a/Tests/0005_DynamicProgramming/CMakeLists.txt b/Tests/0005_DynamicProgramming/CMakeLists.txt index e69de29..8a2effb 100644 --- a/Tests/0005_DynamicProgramming/CMakeLists.txt +++ b/Tests/0005_DynamicProgramming/CMakeLists.txt @@ -0,0 +1,25 @@ +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip +) +# For Windows: Prevent overriding the parent project's compiler/linker settings +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +FetchContent_MakeAvailable(googletest) + + +enable_testing() + +add_executable( + 0005DynamicProgrammingTests + 0001_RodCuttingTest.cc +) + +target_link_libraries( + 0005DynamicProgrammingTests + GTest::gtest_main + 0005DYNAMICPROGRAMMING +) + +include(GoogleTest) +gtest_discover_tests(0005DynamicProgrammingTests DISCOVERY_TIMEOUT 30) \ No newline at end of file