diff --git a/meson.build b/meson.build index a2a46391..bb81066f 100644 --- a/meson.build +++ b/meson.build @@ -12,249 +12,138 @@ ## NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ## CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -project('poseidon', 'cpp', version: '0.3.alpha') +project('poseidon', + 'cpp', + version: '0.3.alpha', + license: 'BSD-3-Clause', + meson_version: '>= 1.3.0') #=========================================================== # List of files #=========================================================== poseidon_include = [ - 'poseidon/fwd.hpp', - 'poseidon/utils.hpp', - 'poseidon/third/openssl_fwd.hpp', - 'poseidon/third/zlib_fwd.hpp', - 'poseidon/static/main_config.hpp', - 'poseidon/static/logger.hpp', - 'poseidon/static/timer_driver.hpp', - 'poseidon/static/fiber_scheduler.hpp', - 'poseidon/static/task_executor.hpp', - 'poseidon/static/network_driver.hpp', - 'poseidon/base/uuid.hpp', - 'poseidon/base/datetime.hpp', - 'poseidon/base/config_file.hpp', - 'poseidon/base/abstract_timer.hpp', - 'poseidon/base/abstract_task.hpp', - 'poseidon/base/abstract_deflator.hpp', - 'poseidon/base/abstract_inflator.hpp', - 'poseidon/fiber/abstract_fiber.hpp', - 'poseidon/fiber/abstract_future.hpp', - 'poseidon/fiber/dns_query_future.hpp', - 'poseidon/fiber/read_file_future.hpp', - 'poseidon/socket/enums.hpp', - 'poseidon/socket/ipv6_address.hpp', - 'poseidon/socket/abstract_socket.hpp', - 'poseidon/socket/udp_socket.hpp', - 'poseidon/socket/tcp_acceptor.hpp', - 'poseidon/socket/tcp_socket.hpp', - 'poseidon/socket/ssl_socket.hpp', - 'poseidon/socket/http_server_session.hpp', - 'poseidon/socket/http_client_session.hpp', - 'poseidon/socket/https_server_session.hpp', - 'poseidon/socket/https_client_session.hpp', - 'poseidon/socket/ws_server_session.hpp', - 'poseidon/socket/ws_client_session.hpp', - 'poseidon/socket/wss_server_session.hpp', - 'poseidon/socket/wss_client_session.hpp', - 'poseidon/socket/dns_connect_task.hpp', - 'poseidon/http/http_value.hpp', - 'poseidon/http/http_field_name.hpp', - 'poseidon/http/http_header_parser.hpp', - 'poseidon/http/http_query_parser.hpp', - 'poseidon/http/http_request_headers.hpp', - 'poseidon/http/http_request_parser.hpp', - 'poseidon/http/http_response_headers.hpp', - 'poseidon/http/http_response_parser.hpp', - 'poseidon/http/websocket_frame_header.hpp', - 'poseidon/http/websocket_frame_parser.hpp', - 'poseidon/http/websocket_deflator.hpp', - 'poseidon/easy/enums.hpp', - 'poseidon/easy/easy_timer.hpp', - 'poseidon/easy/easy_udp_server.hpp', - 'poseidon/easy/easy_udp_client.hpp', - 'poseidon/easy/easy_tcp_server.hpp', - 'poseidon/easy/easy_http_server.hpp', - 'poseidon/easy/easy_hws_server.hpp', - 'poseidon/easy/easy_ws_server.hpp', - 'poseidon/easy/easy_ssl_server.hpp', - 'poseidon/easy/easy_https_server.hpp', - 'poseidon/easy/easy_hwss_server.hpp', - 'poseidon/easy/easy_wss_server.hpp', - 'poseidon/easy/easy_tcp_client.hpp', - 'poseidon/easy/easy_http_client.hpp', - 'poseidon/easy/easy_ws_client.hpp', - 'poseidon/easy/easy_ssl_client.hpp', - 'poseidon/easy/easy_https_client.hpp', - 'poseidon/easy/easy_wss_client.hpp', -] + 'poseidon/fwd.hpp', 'poseidon/utils.hpp', 'poseidon/third/openssl_fwd.hpp', + 'poseidon/third/zlib_fwd.hpp', 'poseidon/static/main_config.hpp', + 'poseidon/static/logger.hpp', 'poseidon/static/timer_driver.hpp', + 'poseidon/static/fiber_scheduler.hpp', 'poseidon/static/task_executor.hpp', + 'poseidon/static/network_driver.hpp', 'poseidon/base/uuid.hpp', + 'poseidon/base/datetime.hpp', 'poseidon/base/config_file.hpp', + 'poseidon/base/abstract_timer.hpp', 'poseidon/base/abstract_task.hpp', + 'poseidon/base/abstract_deflator.hpp', 'poseidon/base/abstract_inflator.hpp', + 'poseidon/fiber/abstract_fiber.hpp', 'poseidon/fiber/abstract_future.hpp', + 'poseidon/fiber/dns_query_future.hpp', 'poseidon/fiber/read_file_future.hpp', + 'poseidon/socket/enums.hpp', 'poseidon/socket/ipv6_address.hpp', + 'poseidon/socket/abstract_socket.hpp', 'poseidon/socket/udp_socket.hpp', + 'poseidon/socket/tcp_acceptor.hpp', 'poseidon/socket/tcp_socket.hpp', + 'poseidon/socket/ssl_socket.hpp', 'poseidon/socket/http_server_session.hpp', + 'poseidon/socket/http_client_session.hpp', 'poseidon/socket/https_server_session.hpp', + 'poseidon/socket/https_client_session.hpp', 'poseidon/socket/ws_server_session.hpp', + 'poseidon/socket/ws_client_session.hpp', 'poseidon/socket/wss_server_session.hpp', + 'poseidon/socket/wss_client_session.hpp', 'poseidon/socket/dns_connect_task.hpp', + 'poseidon/http/http_value.hpp', 'poseidon/http/http_field_name.hpp', + 'poseidon/http/http_header_parser.hpp', 'poseidon/http/http_query_parser.hpp', + 'poseidon/http/http_request_headers.hpp', 'poseidon/http/http_request_parser.hpp', + 'poseidon/http/http_response_headers.hpp', 'poseidon/http/http_response_parser.hpp', + 'poseidon/http/websocket_frame_header.hpp', 'poseidon/http/websocket_frame_parser.hpp', + 'poseidon/http/websocket_deflator.hpp', 'poseidon/easy/enums.hpp', + 'poseidon/easy/easy_timer.hpp', 'poseidon/easy/easy_udp_server.hpp', + 'poseidon/easy/easy_udp_client.hpp', 'poseidon/easy/easy_tcp_server.hpp', + 'poseidon/easy/easy_http_server.hpp', 'poseidon/easy/easy_hws_server.hpp', + 'poseidon/easy/easy_ws_server.hpp', 'poseidon/easy/easy_ssl_server.hpp', + 'poseidon/easy/easy_https_server.hpp', 'poseidon/easy/easy_hwss_server.hpp', + 'poseidon/easy/easy_wss_server.hpp', 'poseidon/easy/easy_tcp_client.hpp', + 'poseidon/easy/easy_http_client.hpp', 'poseidon/easy/easy_ws_client.hpp', + 'poseidon/easy/easy_ssl_client.hpp', 'poseidon/easy/easy_https_client.hpp', + 'poseidon/easy/easy_wss_client.hpp' ] poseidon_include_mysql = [ - 'poseidon/third/mysql_fwd.hpp', - 'poseidon/static/mysql_connector.hpp', - 'poseidon/mysql/enums.hpp', - 'poseidon/mysql/mysql_table_structure.hpp', - 'poseidon/mysql/mysql_value.hpp', - 'poseidon/mysql/mysql_connection.hpp', - 'poseidon/fiber/mysql_query_future.hpp', - 'poseidon/fiber/mysql_check_table_future.hpp', -] + 'poseidon/third/mysql_fwd.hpp', 'poseidon/static/mysql_connector.hpp', + 'poseidon/mysql/enums.hpp', 'poseidon/mysql/mysql_table_structure.hpp', + 'poseidon/mysql/mysql_value.hpp', 'poseidon/mysql/mysql_connection.hpp', + 'poseidon/fiber/mysql_query_future.hpp', 'poseidon/fiber/mysql_check_table_future.hpp' ] poseidon_include_mongo = [ - 'poseidon/third/mongo_fwd.hpp', - 'poseidon/static/mongo_connector.hpp', - 'poseidon/mongo/enums.hpp', - 'poseidon/mongo/mongo_value.hpp', - 'poseidon/mongo/mongo_connection.hpp', - 'poseidon/fiber/mongo_query_future.hpp', -] + 'poseidon/third/mongo_fwd.hpp', 'poseidon/static/mongo_connector.hpp', + 'poseidon/mongo/enums.hpp', 'poseidon/mongo/mongo_value.hpp', + 'poseidon/mongo/mongo_connection.hpp', 'poseidon/fiber/mongo_query_future.hpp' ] poseidon_include_redis = [ - 'poseidon/third/redis_fwd.hpp', - 'poseidon/static/redis_connector.hpp', - 'poseidon/redis/enums.hpp', - 'poseidon/redis/redis_value.hpp', - 'poseidon/redis/redis_connection.hpp', - 'poseidon/fiber/redis_query_future.hpp', - 'poseidon/fiber/redis_scan_and_get_future.hpp', -] + 'poseidon/third/redis_fwd.hpp', 'poseidon/static/redis_connector.hpp', + 'poseidon/redis/enums.hpp', 'poseidon/redis/redis_value.hpp', + 'poseidon/redis/redis_connection.hpp', 'poseidon/fiber/redis_query_future.hpp', + 'poseidon/fiber/redis_scan_and_get_future.hpp' ] poseidon_src = [ - 'poseidon/fwd.cpp', - 'poseidon/utils.cpp', - 'poseidon/static/main_config.cpp', - 'poseidon/static/logger.cpp', - 'poseidon/static/timer_driver.cpp', - 'poseidon/static/fiber_scheduler.cpp', - 'poseidon/static/task_executor.cpp', - 'poseidon/static/network_driver.cpp', - 'poseidon/base/uuid.cpp', - 'poseidon/base/datetime.cpp', - 'poseidon/base/config_file.cpp', - 'poseidon/base/abstract_timer.cpp', - 'poseidon/base/abstract_task.cpp', - 'poseidon/base/abstract_deflator.cpp', - 'poseidon/base/abstract_inflator.cpp', - 'poseidon/fiber/abstract_fiber.cpp', - 'poseidon/fiber/abstract_future.cpp', - 'poseidon/fiber/dns_query_future.cpp', - 'poseidon/fiber/read_file_future.cpp', - 'poseidon/socket/ipv6_address.cpp', - 'poseidon/socket/abstract_socket.cpp', - 'poseidon/socket/udp_socket.cpp', - 'poseidon/socket/tcp_acceptor.cpp', - 'poseidon/socket/tcp_socket.cpp', - 'poseidon/socket/ssl_socket.cpp', - 'poseidon/socket/http_server_session.cpp', - 'poseidon/socket/http_client_session.cpp', - 'poseidon/socket/https_server_session.cpp', - 'poseidon/socket/https_client_session.cpp', - 'poseidon/socket/ws_server_session.cpp', - 'poseidon/socket/ws_client_session.cpp', - 'poseidon/socket/wss_server_session.cpp', - 'poseidon/socket/wss_client_session.cpp', - 'poseidon/socket/dns_connect_task.cpp', - 'poseidon/http/http_value.cpp', - 'poseidon/http/http_field_name.cpp', - 'poseidon/http/http_header_parser.cpp', - 'poseidon/http/http_query_parser.cpp', - 'poseidon/http/http_request_headers.cpp', - 'poseidon/http/http_request_parser.cpp', - 'poseidon/http/http_response_headers.cpp', - 'poseidon/http/http_response_parser.cpp', - 'poseidon/http/websocket_deflator.cpp', - 'poseidon/http/websocket_frame_header.cpp', - 'poseidon/http/websocket_frame_parser.cpp', - 'poseidon/easy/easy_timer.cpp', - 'poseidon/easy/easy_udp_server.cpp', - 'poseidon/easy/easy_udp_client.cpp', - 'poseidon/easy/easy_tcp_server.cpp', - 'poseidon/easy/easy_http_server.cpp', - 'poseidon/easy/easy_hws_server.cpp', - 'poseidon/easy/easy_ws_server.cpp', - 'poseidon/easy/easy_ssl_server.cpp', - 'poseidon/easy/easy_https_server.cpp', - 'poseidon/easy/easy_hwss_server.cpp', - 'poseidon/easy/easy_wss_server.cpp', - 'poseidon/easy/easy_tcp_client.cpp', - 'poseidon/easy/easy_http_client.cpp', - 'poseidon/easy/easy_ws_client.cpp', - 'poseidon/easy/easy_ssl_client.cpp', - 'poseidon/easy/easy_https_client.cpp', - 'poseidon/easy/easy_wss_client.cpp', -] + 'poseidon/fwd.cpp', 'poseidon/utils.cpp', 'poseidon/static/main_config.cpp', + 'poseidon/static/logger.cpp', 'poseidon/static/timer_driver.cpp', + 'poseidon/static/fiber_scheduler.cpp', 'poseidon/static/task_executor.cpp', + 'poseidon/static/network_driver.cpp', 'poseidon/base/uuid.cpp', + 'poseidon/base/datetime.cpp', 'poseidon/base/config_file.cpp', + 'poseidon/base/abstract_timer.cpp', 'poseidon/base/abstract_task.cpp', + 'poseidon/base/abstract_deflator.cpp', 'poseidon/base/abstract_inflator.cpp', + 'poseidon/fiber/abstract_fiber.cpp', 'poseidon/fiber/abstract_future.cpp', + 'poseidon/fiber/dns_query_future.cpp', 'poseidon/fiber/read_file_future.cpp', + 'poseidon/socket/ipv6_address.cpp', 'poseidon/socket/abstract_socket.cpp', + 'poseidon/socket/udp_socket.cpp', 'poseidon/socket/tcp_acceptor.cpp', + 'poseidon/socket/tcp_socket.cpp', 'poseidon/socket/ssl_socket.cpp', + 'poseidon/socket/http_server_session.cpp', 'poseidon/socket/http_client_session.cpp', + 'poseidon/socket/https_server_session.cpp', 'poseidon/socket/https_client_session.cpp', + 'poseidon/socket/ws_server_session.cpp', 'poseidon/socket/ws_client_session.cpp', + 'poseidon/socket/wss_server_session.cpp', 'poseidon/socket/wss_client_session.cpp', + 'poseidon/socket/dns_connect_task.cpp', 'poseidon/http/http_value.cpp', + 'poseidon/http/http_field_name.cpp', 'poseidon/http/http_header_parser.cpp', + 'poseidon/http/http_query_parser.cpp', 'poseidon/http/http_request_headers.cpp', + 'poseidon/http/http_request_parser.cpp', 'poseidon/http/http_response_headers.cpp', + 'poseidon/http/http_response_parser.cpp', 'poseidon/http/websocket_deflator.cpp', + 'poseidon/http/websocket_frame_header.cpp', 'poseidon/http/websocket_frame_parser.cpp', + 'poseidon/easy/easy_timer.cpp', 'poseidon/easy/easy_udp_server.cpp', + 'poseidon/easy/easy_udp_client.cpp', 'poseidon/easy/easy_tcp_server.cpp', + 'poseidon/easy/easy_http_server.cpp', 'poseidon/easy/easy_hws_server.cpp', + 'poseidon/easy/easy_ws_server.cpp', 'poseidon/easy/easy_ssl_server.cpp', + 'poseidon/easy/easy_https_server.cpp', 'poseidon/easy/easy_hwss_server.cpp', + 'poseidon/easy/easy_wss_server.cpp', 'poseidon/easy/easy_tcp_client.cpp', + 'poseidon/easy/easy_http_client.cpp', 'poseidon/easy/easy_ws_client.cpp', + 'poseidon/easy/easy_ssl_client.cpp', 'poseidon/easy/easy_https_client.cpp', + 'poseidon/easy/easy_wss_client.cpp' ] poseidon_src_mysql = [ - 'poseidon/static/mysql_connector.cpp', - 'poseidon/mysql/mysql_table_structure.cpp', - 'poseidon/mysql/mysql_value.cpp', - 'poseidon/mysql/mysql_connection.cpp', - 'poseidon/fiber/mysql_query_future.cpp', - 'poseidon/fiber/mysql_check_table_future.cpp', -] + 'poseidon/static/mysql_connector.cpp', 'poseidon/mysql/mysql_table_structure.cpp', + 'poseidon/mysql/mysql_value.cpp', 'poseidon/mysql/mysql_connection.cpp', + 'poseidon/fiber/mysql_query_future.cpp', 'poseidon/fiber/mysql_check_table_future.cpp' ] poseidon_src_mongo = [ - 'poseidon/static/mongo_connector.cpp', - 'poseidon/mongo/mongo_value.cpp', - 'poseidon/mongo/mongo_connection.cpp', - 'poseidon/fiber/mongo_query_future.cpp', -] + 'poseidon/static/mongo_connector.cpp', 'poseidon/mongo/mongo_value.cpp', + 'poseidon/mongo/mongo_connection.cpp', 'poseidon/fiber/mongo_query_future.cpp' ] poseidon_src_redis = [ - 'poseidon/static/redis_connector.cpp', - 'poseidon/redis/redis_value.cpp', - 'poseidon/redis/redis_connection.cpp', - 'poseidon/fiber/redis_query_future.cpp', - 'poseidon/fiber/redis_scan_and_get_future.cpp', -] + 'poseidon/static/redis_connector.cpp', 'poseidon/redis/redis_value.cpp', + 'poseidon/redis/redis_connection.cpp', 'poseidon/fiber/redis_query_future.cpp', + 'poseidon/fiber/redis_scan_and_get_future.cpp' ] etc_poseidon = [ - 'etc/poseidon/main.conf', - 'etc/poseidon/ssl/test.crt', - 'etc/poseidon/ssl/test.key', -] + 'etc/poseidon/main.conf', 'etc/poseidon/ssl/test.crt', 'etc/poseidon/ssl/test.key' ] example_src = [ - 'example/udp_echo_server.cpp', - 'example/tcp_echo_server.cpp', - 'example/ssl_echo_server.cpp', - 'example/http_server.cpp', - 'example/http_client.cpp', - 'example/https_server.cpp', - 'example/https_client.cpp', - 'example/ws_server.cpp', - 'example/hws_server.cpp', - 'example/ws_client.cpp', - 'example/wss_server.cpp', - 'example/hwss_server.cpp', - 'example/wss_client.cpp', -] + 'example/udp_echo_server.cpp', 'example/tcp_echo_server.cpp', + 'example/ssl_echo_server.cpp', 'example/http_server.cpp', + 'example/http_client.cpp', 'example/https_server.cpp', 'example/https_client.cpp', + 'example/ws_server.cpp', 'example/hws_server.cpp', 'example/ws_client.cpp', + 'example/wss_server.cpp', 'example/hwss_server.cpp', 'example/wss_client.cpp' ] test_src = [ - 'test/utils.cpp', - 'test/ipv6_address.cpp', - 'test/uuid.cpp', - 'test/datetime.cpp', - 'test/http_value.cpp', - 'test/http_field_name.cpp', - 'test/http_header_parser.cpp', - 'test/http_query_parser.cpp', - 'test/websocket_frame_header.cpp', - 'test/websocket_handshake.cpp', -] + 'test/utils.cpp', 'test/ipv6_address.cpp', 'test/uuid.cpp', 'test/datetime.cpp', + 'test/http_value.cpp', 'test/http_field_name.cpp', 'test/http_header_parser.cpp', + 'test/http_query_parser.cpp', 'test/websocket_frame_header.cpp', + 'test/websocket_handshake.cpp' ] test_src_mysql = [ - 'test/mysql_table_structure.cpp', - 'test/mysql_value.cpp', - 'test/mysql_connection.cpp', -] + 'test/mysql_table_structure.cpp', 'test/mysql_value.cpp', 'test/mysql_connection.cpp' ] test_src_mongo = [ - 'test/mongo_value.cpp', - 'test/mongo_connection.cpp', -] + 'test/mongo_value.cpp', 'test/mongo_connection.cpp' ] test_src_redis = [ - 'test/redis_value.cpp', - 'test/redis_connection.cpp', -] + 'test/redis_value.cpp', 'test/redis_connection.cpp' ] #=========================================================== # Global configuration