From 5634773eaf91fd0403fae93d0f4a5e252aa62cd6 Mon Sep 17 00:00:00 2001 From: Artur Mukhamadiev Date: Mon, 13 Apr 2026 23:25:11 +0300 Subject: [PATCH] [fix] build file fixes for linux and newer CMake :Release Notes: - :Detailed Notes: - :Testing Performed: - :QA Notes: - :Issues Addressed: - --- README.md | 4 ++- meson.build | 3 +- src/meson.build | 95 ++++++++++++++++++++++++++++--------------------- 3 files changed, 59 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 12593f3..7f29a55 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,9 @@ git submodule init git submodule update # Next python: python3 -m venv .\venv -.\.venv\Scripts\Activate.ps1 +.\venv\Scripts\Activate.ps1 +# or +.\venv\bin\Activate.ps1 pip install meson cmake meson setup -Ddefault_library=static build meson compile -C build diff --git a/meson.build b/meson.build index da38769..478b540 100644 --- a/meson.build +++ b/meson.build @@ -13,6 +13,7 @@ glog_opt = cmake.subproject_options() glog_opt.add_cmake_defines({ 'WITH_GFLAGS': 'OFF', 'WITH_GTEST': 'OFF', + 'CMAKE_POLICY_VERSION_MINIMUM': '3.5' }) libtype = get_option('default_library') @@ -52,4 +53,4 @@ if host_machine.system() == 'windows' and libtype == 'shared' meson.add_devenv(devenv) -endif \ No newline at end of file +endif diff --git a/src/meson.build b/src/meson.build index fe19d22..0fdfb98 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,56 +1,69 @@ -add_project_arguments('-DCRPC_SERVER_API_EXPORT -pthread', language: 'cpp') +add_project_arguments('-DCRPC_SERVER_API_EXPORT', language: 'cpp') cloud_point_rpc_sources = files( - 'rpc_server.cpp', - 'service.cpp', - 'server_api.cpp', - 'rpc_coder.cpp' + 'rpc_coder.cpp', + 'rpc_server.cpp', + 'server_api.cpp', + 'service.cpp', ) -libcloud_point_rpc = shared_library('cloud_point_rpc', - cloud_point_rpc_sources, - include_directories : inc, - dependencies : [json_dep, thread_dep, glog_dep, yaml_dep, asio_dep, base64_dep], - install : true) +libcloud_point_rpc = shared_library( + 'cloud_point_rpc', + cloud_point_rpc_sources, + include_directories: inc, + dependencies: [json_dep, thread_dep, glog_dep, yaml_dep, asio_dep, base64_dep], + install: true, +) cloud_point_rpc_dep = declare_dependency( - include_directories : inc, - link_with : libcloud_point_rpc, - dependencies : [json_dep, glog_dep, yaml_dep, asio_dep, base64_dep]) - -# Test lib -libcloud_point_rpc_test = shared_library('test_cloud_point', - 'test_api.cpp', - dependencies: cloud_point_rpc_dep, - install : true) - -cloud_point_rpc_test_dep = declare_dependency( - include_directories: inc, - link_with: libcloud_point_rpc_test, - dependencies: [cloud_point_rpc_dep] + include_directories: inc, + link_with: libcloud_point_rpc, + dependencies: [json_dep, glog_dep, yaml_dep, asio_dep, base64_dep], ) -libcloud_point_rpc_cli = shared_library('libcloud_point_rpc_cli', - 'cli.cpp', - include_directories : inc, - dependencies : [cloud_point_rpc_dep], - install : true) +# Test lib +libcloud_point_rpc_test = shared_library( + 'test_cloud_point', + 'test_api.cpp', + dependencies: cloud_point_rpc_dep, + install: true, +) + +cloud_point_rpc_test_dep = declare_dependency( + include_directories: inc, + link_with: libcloud_point_rpc_test, + dependencies: [cloud_point_rpc_dep], +) + +libcloud_point_rpc_cli = shared_library( + 'libcloud_point_rpc_cli', + 'cli.cpp', + include_directories: inc, + dependencies: [cloud_point_rpc_dep], + install: true, +) cloud_point_rpc_cli_dep = declare_dependency( - include_directories: inc, - link_with: libcloud_point_rpc_cli, - dependencies: [cloud_point_rpc_dep] + include_directories: inc, + link_with: libcloud_point_rpc_cli, + dependencies: [cloud_point_rpc_dep], ) # Client/CLI tool (legacy stdin/stdout) -executable('cloud_point_rpc_cli', - ['main.cpp', ], - dependencies : cloud_point_rpc_cli_dep, - install : true) +executable( + 'cloud_point_rpc_cli', + [ + 'main.cpp', + ], + dependencies: cloud_point_rpc_cli_dep, + install: true, +) # Server executable (TCP) -executable('cloud_point_rpc_server', - 'server_main.cpp', - dependencies : cloud_point_rpc_dep, - link_args : '-pthread', - install : true) +executable( + 'cloud_point_rpc_server', + 'server_main.cpp', + dependencies: cloud_point_rpc_dep, + link_args: '-pthread', + install: true, +)