From 5ab176fdf07e7800e426904a881bfa9b1640ed8a Mon Sep 17 00:00:00 2001 From: Artur Mukhamadiev Date: Thu, 3 Jul 2025 21:37:14 +0000 Subject: [PATCH] meson minimal --- CMakeLists.txt | 18 ------------------ CMakeUserPresets.json | 10 ---------- bench/CMakeLists.txt | 16 ---------------- bench/meson.build | 13 +++++++++++++ conanfile.txt | 6 ++---- meson.build | 17 +++++++++++++++++ tests/CMakeLists.txt | 19 ------------------- tests/meson.build | 15 +++++++++++++++ 8 files changed, 47 insertions(+), 67 deletions(-) delete mode 100644 CMakeLists.txt delete mode 100644 CMakeUserPresets.json delete mode 100644 bench/CMakeLists.txt create mode 100644 bench/meson.build create mode 100644 meson.build delete mode 100644 tests/CMakeLists.txt create mode 100644 tests/meson.build diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 44d118d..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -cmake_minimum_required(VERSION 3.20) -project(mLogger) - -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -add_library(${PROJECT_NAME} SHARED) - -target_include_directories(${PROJECT_NAME} PUBLIC include) - -file(GLOB prj_src src/*) - -target_sources(${PROJECT_NAME} PRIVATE ${prj_src}) - -# target_compile_options(${PROJECT_NAME} PRIVATE -fsanitize=thread) -# target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=thread) - -add_subdirectory(bench) -add_subdirectory(tests) \ No newline at end of file diff --git a/CMakeUserPresets.json b/CMakeUserPresets.json deleted file mode 100644 index 66dabec..0000000 --- a/CMakeUserPresets.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "version": 4, - "vendor": { - "conan": {} - }, - "include": [ - "build/Release/generators/CMakePresets.json", - "build/Debug/generators/CMakePresets.json" - ] -} \ No newline at end of file diff --git a/bench/CMakeLists.txt b/bench/CMakeLists.txt deleted file mode 100644 index d389f97..0000000 --- a/bench/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ - -find_package(benchmark REQUIRED) -find_package(glog REQUIRED) -set(NAME ${PROJECT_NAME}_bench) - -add_executable(${NAME} main.cc) - -target_link_libraries(${NAME} PRIVATE - benchmark::benchmark_main - benchmark::benchmark - glog::glog - ${PROJECT_NAME} -) - -# target_compile_options(${NAME} PRIVATE -fsanitize=thread) -# target_link_options(${NAME} PRIVATE -fsanitize=thread) \ No newline at end of file diff --git a/bench/meson.build b/bench/meson.build new file mode 100644 index 0000000..91c89d8 --- /dev/null +++ b/bench/meson.build @@ -0,0 +1,13 @@ +benchmark_dep = dependency('benchmark', required: true) +glog_dep = dependency('libglog', required: true) + +bench_exe = executable( + 'mLogger_bench', + 'main.cc', + dependencies: [ + benchmark_dep, + glog_dep, + mLogger_dep + ], + install: false +) \ No newline at end of file diff --git a/conanfile.txt b/conanfile.txt index 883700e..9242747 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -12,7 +12,5 @@ boost/*:without_lockfree = False boost/*:without_* = True [generators] -CMakeDeps -CMakeToolchain -[layout] -cmake_layout \ No newline at end of file +PkgConfigDeps +MesonToolchain \ No newline at end of file diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..f0bc3cb --- /dev/null +++ b/meson.build @@ -0,0 +1,17 @@ +project('mLogger', 'cpp') + +src_files = ['src/logger.cc'] +inc = include_directories('include') + +mLogger_lib = library( + 'mLogger', + src_files, + include_directories: inc, + install: false +) + +mLogger_dep = declare_dependency(link_with : mLogger_lib, + include_directories : inc) + +subdir('bench') +subdir('tests') \ No newline at end of file diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt deleted file mode 100644 index d41f2ba..0000000 --- a/tests/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -enable_testing() - -find_package(GTest REQUIRED) -include(GoogleTest) - -find_package(Boost REQUIRED COMPONENTS thread) - -set(NAME ${PROJECT_NAME}_tests) - -add_executable(${NAME} main.cc) - -target_link_libraries(${NAME} PRIVATE - GTest::gtest - Boost::thread - ${PROJECT_NAME} -) -gtest_discover_tests(${NAME}) -# target_compile_options(${NAME} PRIVATE -fsanitize=thread) -# target_link_options(${NAME} PRIVATE -fsanitize=thread) \ No newline at end of file diff --git a/tests/meson.build b/tests/meson.build new file mode 100644 index 0000000..980da47 --- /dev/null +++ b/tests/meson.build @@ -0,0 +1,15 @@ +gtest_dep = dependency('gtest', main: false, required: true) +boost_thread_dep = dependency('boost', modules: ['thread'], required: true) + +tests_exe = executable( + 'mLogger_tests', + 'main.cc', + dependencies: [ + gtest_dep, + boost_thread_dep, + mLogger_dep + ], + install: false +) + +test('gtest tests', tests_exe) \ No newline at end of file