First follow general instructions for C++ gRPC Installation https://grpc.io/docs/languages/cpp/quickstart/
gRPC Install/Update Instructions:
- delete pre-existing folders in /d/gitbuilds (or wherever) if they exist
- Refer to https://grpc.io/docs/languages/cpp/quickstart/ for more details but basically...
- Open gitbash in /d/gitbuilds (or wherever)
- copy/paste "export MY_INSTALL_DIR=/d/gitbuilds"
- clone the repo from github -> "git clone --recurse-submodules -b v1.38.0 https://github.com/grpc/grpc" (or later)
- do all of the following:
$ cd grpc
$ mkdir -p cmake/build
$ pushd cmake/build
$ cmake -DgRPC_INSTALL=ON
-DgRPC_BUILD_TESTS=OFF
-DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR
../.. - Without closing gitbash, go into cmake/build and open up the "Install.vcxproj" in visual studio
- Build the install project
- Next:
$ popd
$ mkdir -p third_party/abseil-cpp/cmake/build
$ pushd third_party/abseil-cpp/cmake/build
$ cmake -DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
../.. - Without closing gitbash, go into cmake/build and open up the "Install.vcxproj" in visual studio
- Build the install project
Setting up the Protobuf build instructions:
- Create cmake/build subdirectory (starting from this directory)
- Open gitbash IN cmake/build
- USE "export MY_INSTALL_DIR=/d/gitbuilds" (or whatever the directory is where you set grpc to install to)
- use "cmake -DCMAKE_PREFIX_PATH=$MY_INSTALL_DIR ../.."
- Open the BICgRPCdev.sln in the base BrainInterchange-Development/gRPC directory
- Open the BICgRPCmicroserver properties
- add BIC API cpp include folder to project C/C++ Additional Include Directories -> "C:\Program Files\Cortec\Bicapi\cppapi\include"
- add BIC Libs to Linker General Additional Libary Directories -> "C:\Program Files\Cortec\Bicapi\cppapi\lib64"
- add "bicapid.lib;" to Additional Dependencies on Linker Input Properties
- right click on the BICgRPCmicroserver project and selected Add->Add Existing
- select all source files in BICgRPCServer\ClassesSource\ and add to the project
- copy cortec provided DLLs into build/debug