From 67aa4d8692dc8a2e97b44e23e960a61d95bd7ecc Mon Sep 17 00:00:00 2001 From: dl92 Date: Wed, 7 Jan 2026 22:43:33 +0000 Subject: [PATCH] initial commit working C++ Development Setup on Linux (VS Code + CMake + vcpkg + clang ) --- cplusplus/geminitutorial/.vscode/settings.json | 3 +++ .../geminitutorial/tutorial1/.vscode/settings.json | 4 ++-- cplusplus/learning/.vscode/settings.json | 11 +++++++++++ cplusplus/learning/CMakeLists.txt | 13 +++++++++++++ cplusplus/learning/tut1/CMakeLists.txt | 3 +++ cplusplus/learning/tut1/main.cpp | 12 ++++++++++++ cplusplus/learning/tut2/CMakeLists.txt | 1 + cplusplus/learning/tut2/main.cpp | 6 ++++++ 8 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 cplusplus/geminitutorial/.vscode/settings.json create mode 100644 cplusplus/learning/.vscode/settings.json create mode 100644 cplusplus/learning/CMakeLists.txt create mode 100644 cplusplus/learning/tut1/CMakeLists.txt create mode 100644 cplusplus/learning/tut1/main.cpp create mode 100644 cplusplus/learning/tut2/CMakeLists.txt create mode 100644 cplusplus/learning/tut2/main.cpp diff --git a/cplusplus/geminitutorial/.vscode/settings.json b/cplusplus/geminitutorial/.vscode/settings.json new file mode 100644 index 0000000..2eb011d --- /dev/null +++ b/cplusplus/geminitutorial/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cmake.sourceDirectory": "/home/ys/family-repo/Code/cplusplus/geminitutorial/tutorial1" +} \ No newline at end of file diff --git a/cplusplus/geminitutorial/tutorial1/.vscode/settings.json b/cplusplus/geminitutorial/tutorial1/.vscode/settings.json index 5457383..f5d0e1f 100644 --- a/cplusplus/geminitutorial/tutorial1/.vscode/settings.json +++ b/cplusplus/geminitutorial/tutorial1/.vscode/settings.json @@ -1,6 +1,6 @@ { - "cmake.sourceDirectory": "/home/ys/code/cplusplus/GeminiTutorial/tutorial-1", + "cmake.sourceDirectory": "/home/ys/family-repo/Code/cplusplus/geminitutorial/tutorial1", "cmake.configureArgs": [ - "-DCMAKE_TOOLCHAIN_FILE=/home/ys/code/cplusplus/vcpkg/scripts/buildsystems/vcpkg.cmake" + "-DCMAKE_TOOLCHAIN_FILE=/home/ys/family-repo/Code/cplusplus/tools/vcpkg/scripts/buildsystems/vcpkg.cmake" ] } \ No newline at end of file diff --git a/cplusplus/learning/.vscode/settings.json b/cplusplus/learning/.vscode/settings.json new file mode 100644 index 0000000..b40dea9 --- /dev/null +++ b/cplusplus/learning/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + + + "cmake.configureSettings": { + "CMAKE_TOOLCHAIN_FILE": "/home/ys/family-repo/Code/cplusplus/tools/vcpkg/scripts/buildsystems/vcpkg.cmake", + "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" + }, + + "cmake.generator": "Ninja" +} + diff --git a/cplusplus/learning/CMakeLists.txt b/cplusplus/learning/CMakeLists.txt new file mode 100644 index 0000000..f5a8ad5 --- /dev/null +++ b/cplusplus/learning/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.21) + +project(cpp_learning + VERSION 0.1 + LANGUAGES CXX +) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +add_subdirectory(tut1) +add_subdirectory(tut2) diff --git a/cplusplus/learning/tut1/CMakeLists.txt b/cplusplus/learning/tut1/CMakeLists.txt new file mode 100644 index 0000000..6c08eef --- /dev/null +++ b/cplusplus/learning/tut1/CMakeLists.txt @@ -0,0 +1,3 @@ +find_package(fmt CONFIG REQUIRED) +add_executable(tut1 main.cpp) +target_link_libraries(tut1 PRIVATE fmt::fmt) diff --git a/cplusplus/learning/tut1/main.cpp b/cplusplus/learning/tut1/main.cpp new file mode 100644 index 0000000..449336b --- /dev/null +++ b/cplusplus/learning/tut1/main.cpp @@ -0,0 +1,12 @@ +#include +#include + + +int main() { + std::cout << "Hello from tut1\n"; + fmt::print("Hello from {} using fmt {}\n", "tut1", FMT_VERSION); + + + return 0; +} + diff --git a/cplusplus/learning/tut2/CMakeLists.txt b/cplusplus/learning/tut2/CMakeLists.txt new file mode 100644 index 0000000..a41cf30 --- /dev/null +++ b/cplusplus/learning/tut2/CMakeLists.txt @@ -0,0 +1 @@ +add_executable(tut2 main.cpp) diff --git a/cplusplus/learning/tut2/main.cpp b/cplusplus/learning/tut2/main.cpp new file mode 100644 index 0000000..52a83df --- /dev/null +++ b/cplusplus/learning/tut2/main.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + std::cout << "Hello from tut2\n"; + return 0; +}