about summary refs log tree commit diff
path: root/ci/test-install
diff options
context:
space:
mode:
Diffstat (limited to 'ci/test-install')
-rw-r--r--ci/test-install/bigtable/CMakeLists.txt28
-rw-r--r--ci/test-install/bigtable/main.cc22
-rwxr-xr-xci/test-install/compile-test-projects.sh36
-rw-r--r--ci/test-install/spanner/CMakeLists.txt28
-rw-r--r--ci/test-install/spanner/main.cc22
5 files changed, 136 insertions, 0 deletions
diff --git a/ci/test-install/bigtable/CMakeLists.txt b/ci/test-install/bigtable/CMakeLists.txt
new file mode 100644
index 000000000000..7aed05ff1d8d
--- /dev/null
+++ b/ci/test-install/bigtable/CMakeLists.txt
@@ -0,0 +1,28 @@
+# ~~~
+# Copyright 2019 Google LLC
+#
+# Licensed 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.
+# ~~~
+
+cmake_minimum_required(VERSION 3.5)
+
+project(utilize-googleapis CXX C)
+
+# Configure the compiler options, we will be using C++11 features.
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(googleapis REQUIRED)
+
+add_executable(utilize-googleapis main.cc)
+target_link_libraries(utilize-googleapis googleapis-c++::bigtable_protos)
diff --git a/ci/test-install/bigtable/main.cc b/ci/test-install/bigtable/main.cc
new file mode 100644
index 000000000000..08fce3c7bc68
--- /dev/null
+++ b/ci/test-install/bigtable/main.cc
@@ -0,0 +1,22 @@
+// Copyright 2019 Google LLC
+//
+// Licensed 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.
+
+#include <google/bigtable/v2/bigtable.grpc.pb.h>
+#include <grpcpp/grpcpp.h>
+
+int main() {
+  auto creds = grpc::InsecureChannelCredentials();
+  auto channel = grpc::CreateChannel("localhost:12345", creds);
+  auto stub = google::bigtable::v2::Bigtable::NewStub(channel);
+}
diff --git a/ci/test-install/compile-test-projects.sh b/ci/test-install/compile-test-projects.sh
new file mode 100755
index 000000000000..12487ef54862
--- /dev/null
+++ b/ci/test-install/compile-test-projects.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+# Copyright 2019 Google LLC
+#
+# Licensed 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.
+
+# Compile projects that utilize the cpp-cmakefiles header files and libraries
+# installed to the system. This script expects that the entire source tree is
+# copied to /home/build/cpp-cmakefiles. Don't try to run this locally.
+
+set -eu
+
+# For bigtable protos
+cp -R /home/build/cpp-cmakefiles/ci/test-install/bigtable \
+  /home/build/test-install-bigtable
+cd /home/build/test-install-bigtable
+cmake -H. -Bcmake-out
+cmake --build cmake-out -- -j "$(nproc)"
+cmake-out/utilize-googleapis
+
+# For spanner protos
+cp -R /home/build/cpp-cmakefiles/ci/test-install/spanner \
+  /home/build/test-install-spanner
+cd /home/build/test-install-spanner
+cmake -H. -Bcmake-out
+cmake --build cmake-out -- -j "$(nproc)"
+cmake-out/utilize-googleapis
diff --git a/ci/test-install/spanner/CMakeLists.txt b/ci/test-install/spanner/CMakeLists.txt
new file mode 100644
index 000000000000..2a4577ace91f
--- /dev/null
+++ b/ci/test-install/spanner/CMakeLists.txt
@@ -0,0 +1,28 @@
+# ~~~
+# Copyright 2019 Google LLC
+#
+# Licensed 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.
+# ~~~
+
+cmake_minimum_required(VERSION 3.5)
+
+project(utilize-googleapis CXX C)
+
+# Configure the compiler options, we will be using C++11 features.
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(googleapis REQUIRED)
+
+add_executable(utilize-googleapis main.cc)
+target_link_libraries(utilize-googleapis googleapis-c++::spanner_protos)
diff --git a/ci/test-install/spanner/main.cc b/ci/test-install/spanner/main.cc
new file mode 100644
index 000000000000..f1866655ac7f
--- /dev/null
+++ b/ci/test-install/spanner/main.cc
@@ -0,0 +1,22 @@
+// Copyright 2019 Google LLC
+//
+// Licensed 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.
+
+#include <google/spanner/v1/spanner.grpc.pb.h>
+#include <grpcpp/grpcpp.h>
+
+int main() {
+  auto creds = grpc::InsecureChannelCredentials();
+  auto channel = grpc::CreateChannel("localhost:12345", creds);
+  auto stub = google::spanner::v1::Spanner::NewStub(channel);
+}