Skip to content

Commit

Permalink
cpp: rewrite example to have library, binary, and test
Browse files Browse the repository at this point in the history
A single file is too simple.

Also, fix the toolchain to work around
bazelbuild/bazel#19733.
  • Loading branch information
jayconrod committed Oct 10, 2023
1 parent c35ceb7 commit 7c6cacc
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 7 deletions.
15 changes: 15 additions & 0 deletions cpp/BUILD
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
cc_binary(
name = "cpp",
srcs = ["main.cc"],
deps = [":cpp_lib"],
)

cc_library(
name = "cpp_lib",
srcs = [
"hello.cc",
"hello.h",
],
)

cc_test(
name = "cpp_test",
srcs = ["hello_test.cc"],
deps = [":cpp_lib"],
)
7 changes: 7 additions & 0 deletions cpp/hello.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#include "cpp/hello.h"

#include <string>

std::string hello() {
return "hello";
}
8 changes: 8 additions & 0 deletions cpp/hello.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#ifndef cpp_hello_h
#define cpp_hello_h

#include <string>

std::string hello();

#endif
11 changes: 11 additions & 0 deletions cpp/hello_test.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#include <iostream>
#include "cpp/hello.h"

int main() {
auto got = hello();
if (got != "hello") {
std::cerr << "got '" << got << "', want 'hello'" << std::endl;
return 1;
}
return 0;
}
8 changes: 5 additions & 3 deletions cpp/main.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#include <stdio.h>
#include <iostream>
#include "cpp/hello.h"

int main(int argc, char** argv) {
printf("Hello World\n");
int main() {
std::cout << hello() << std::endl;
return 0;
}
8 changes: 4 additions & 4 deletions platform/windows_x64/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ platform(
"@io_bazel_rules_dotnet//dotnet/toolchain:6.0.101",
],
exec_properties = {
"container-image": "docker://645088952840.dkr.ecr.eu-west-1.amazonaws.com/engflow-re/windows-x64:engflow_worker@sha256:bb3d3e9d908f1cfcefdf74b553f210eab5c4f46b8812aa91b6d971c016f23cfa",
"container-image": "docker://645088952840.dkr.ecr.eu-west-1.amazonaws.com/engflow-re/windows-x64:engflow_worker@sha256:47f826fcffd6eee8241e31d1fba044061e1cf5f35d53184a850d54282aecf956",
"Pool": "windows",
},
)
Expand Down Expand Up @@ -76,7 +76,7 @@ cc_toolchain_config(
default_link_flags = ["/MACHINE:X64"],
fastbuild_mode_debug_flag = "/DEBUG:FASTLINK",
host_system_name = "local",
msvc_cl_path = "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
msvc_cl_path = "C:/Program Files/engflow/bin/msvc_filter_showincludes.exe",
msvc_env_include = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt",
msvc_env_lib = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\lib\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\um\\x64",
msvc_env_path = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\VC\\VCPackages;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\bin\\Roslyn;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\Tools\\devinit;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.19041.0\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\\\MSBuild\\Current\\Bin;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\Tools\\;;C:\\Windows\\system32;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\Ninja",
Expand All @@ -89,8 +89,8 @@ cc_toolchain_config(
tool_paths = {
"ar": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/lib.exe",
"ml": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/ml64.exe",
"cpp": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
"gcc": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
"cpp": "C:/Program Files/engflow/bin/msvc_filter_showincludes.exe",
"gcc": "C:/Program Files/engflow/bin/msvc_filter_showincludes.exe",
"gcov": "wrapper/bin/msvc_nop.bat",
"ld": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/link.exe",
"nm": "wrapper/bin/msvc_nop.bat",
Expand Down

0 comments on commit 7c6cacc

Please sign in to comment.