add_project_arguments('-DCRPC_SERVER_API_EXPORT -pthread', language: 'cpp') cloud_point_rpc_sources = files( 'rpc_server.cpp', 'service.cpp', 'server_api.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], 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]) # 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 : [json_dep, thread_dep, glog_dep, yaml_dep, asio_dep, 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] ) # Client/CLI tool (legacy stdin/stdout) 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)