| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| load("@rules_cc//cc:defs.bzl", "cc_binary") |
| |
| # BDD wire server: links the C++ step definitions with cucumber-cpp's main(), which starts a |
| # wire-protocol server on port 3902. A Ruby Cucumber runner drives the shared |
| # basic_messaging.feature over the wire (cucumber-cpp v0.8.0 is wire-only). main() comes from |
| # @cucumber-cpp//:cucumber-cpp via alwayslink, gtest provides the assertion macros, and |
| # @iggy_cpp//:iggy-cpp provides the SDK (built from the sibling foreign/cpp module). |
| cc_binary( |
| name = "bdd_wire_server", |
| srcs = glob([ |
| "features/step_definitions/*.cpp", |
| "features/step_definitions/*.hpp", |
| ]), |
| copts = [ |
| "-finput-charset=UTF-8", |
| "-fexec-charset=UTF-8", |
| "-Wall", |
| "-Wpedantic", |
| "-Werror", |
| "-Wextra", |
| "-g3", |
| "-O0", |
| "-fno-omit-frame-pointer", |
| "-DDEBUG", |
| ], |
| linkopts = ["-g"], |
| includes = [ |
| "features/step_definitions", |
| ], |
| testonly = True, |
| deps = [ |
| "@cucumber-cpp//:cucumber-cpp", |
| "@googletest//:gtest", |
| "@iggy_cpp//:iggy-cpp", |
| ], |
| ) |