Commit 25e92101 authored by SugrP's avatar SugrP

PA4 final submission

parent ec918415
# Copyright 2020 the gRPC authors.
#
# 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.
licenses(["notice"]) # 3-clause BSD
cc_binary(
name = "keyvaluestore_client",
srcs = [
"caching_interceptor.h",
"client.cc",
],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//examples/protos:keyvaluestore",
],
)
cc_binary(
name = "keyvaluestore_server",
srcs = ["server.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//examples/protos:keyvaluestore",
],
)
# Copyright 2021 the gRPC authors.
#
# 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 build file for C++ keyvaluestore example.
# Assumes protobuf and gRPC have been installed using cmake.
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building keyvaluestore.
cmake_minimum_required(VERSION 3.5.1)
project(KeyValueStore C CXX)
include(../cmake/common.cmake)
# Proto file
get_filename_component(kvs_proto "proto/keyvalue.proto" ABSOLUTE)
get_filename_component(kvs_proto_path "${kvs_proto}" PATH)
# Generated sources
set(kvs_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/keyvalue.pb.cc")
set(kvs_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/keyvalue.pb.h")
set(kvs_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/keyvalue.grpc.pb.cc")
set(kvs_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/keyvalue.grpc.pb.h")
add_custom_command(
OUTPUT "${kvs_proto_srcs}" "${kvs_proto_hdrs}" "${kvs_grpc_srcs}" "${kvs_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${kvs_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${kvs_proto}"
DEPENDS "${kvs_proto}")
# Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
# kvs_grpc_proto
add_library(kvs_grpc_proto
${kvs_grpc_srcs}
${kvs_grpc_hdrs}
${kvs_proto_srcs}
${kvs_proto_hdrs})
target_link_libraries(kvs_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
# client
add_executable(client "KVClient.cc")
target_link_libraries(client
kvs_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
# server
add_executable(server "KVServer.cc")
target_link_libraries(server
kvs_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
include_directories("storage")
This diff is collapsed.
This diff is collapsed.
#include <iostream>
#include <memory>
#include <string>
#include <grpc/support/log.h>
#include <grpcpp/grpcpp.h>
#include <thread>
#include <vector>
#include "proto/keyvalue.grpc.pb.h"
#include "service/KeyValueCallDatServiceImpl.hpp"
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerCompletionQueue;
using keyvaluestore::KeyValueStore;
class KeyValueServerImpl final {
private:
// This can be run in multiple threads if needed.
void HandleRpcCalls(int cq_index) {
int policyType = configMap["CACHE_REPLACEMENT_TYPE"];
if (policyType == 1) {
INFO("KVServer", "LRU Policy Selected");
new GetCallData(&asyncService, completionQueueList[cq_index].get(), lruCache);
new DelCallData(&asyncService, completionQueueList[cq_index].get(), lruCache);
new PutCallData(&asyncService, completionQueueList[cq_index].get(), lruCache);
} else {
INFO("KVServer", "LFU Policy Selected");
new GetCallData(&asyncService, completionQueueList[cq_index].get(), lfuCache);
new DelCallData(&asyncService, completionQueueList[cq_index].get(), lfuCache);
new PutCallData(&asyncService, completionQueueList[cq_index].get(), lfuCache);
}
// Spawn a new CallData instance to serve new clients.
void *tag; // uniquely identifies a request.
bool ok;
while (true) {
// Block waiting to read the next event from the completion queue. The
// event is uniquely identified by its tag, which in this case is the
// memory address of a CallData instance.
// The return value of Next should always be checked. This return value
// tells us whether there is any kind of event or completionQueue is shutting down.
GPR_ASSERT(completionQueueList[cq_index]->Next(&tag, &ok));
//Confirming if the fetching from the queue is successful or not
GPR_ASSERT(ok);
//type-casting the respective call and proceeding the next process.
static_cast<CallData *>(tag)->Proceed();
}
}
KeyValueStore::AsyncService asyncService;
std::unique_ptr<Server> server;
std::map<std::string, int> configMap;
std::vector<std::unique_ptr<ServerCompletionQueue>> completionQueueList;
LRUCache *lruCache;
LFUCache *lfuCache;
FileService *fileService;
public:
KeyValueServerImpl(){
fileService = new FileService();
configMap = fileService->getConfig();
fileService->getMetaData();
INFO("KVServer", "Fetching metadata completed!");
}
~KeyValueServerImpl() {
WARN("KVServer","Shutting down the server");
server->Shutdown();
// Always shutdown the completion queue after the server.
for(const auto& cq: completionQueueList){
cq->Shutdown();
}
}
// There is no shutdown handling in this code.
void Run() {
std::string server_address("localhost:" + to_string(configMap["LISTENING_PORT"]));
lfuCache = new LFUCache(configMap["CACHE_SIZE"]);
lruCache = new LRUCache(configMap["CACHE_SIZE"]);
ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "asyncService" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *asynchronous* service.
builder.RegisterService(&asyncService);
// Get hold of the completion queue used for the asynchronous communication
// with the gRPC runtime.
for (auto i = 0; i < configMap["COMPLETION_QUEUE"]; i++) {
INFO("KVServer", "Initialize completion queue:" + to_string(i));
completionQueueList.emplace_back(builder.AddCompletionQueue());
}
// Finally assemble the server.
server = builder.BuildAndStart();
WARN("KVServer", " Server listening on " + server_address);
std::vector<std::thread *> _threads;
for (auto i = 0; i < configMap["THREAD_POOL_SIZE"]; i++) {
int cq_index = i % configMap["COMPLETION_QUEUE"];
_threads.emplace_back(new std::thread(&KeyValueServerImpl::HandleRpcCalls, this, cq_index));
}
WARN("KVServer", to_string(configMap["THREAD_POOL_SIZE"]) + " working async threads spawned");
for (const auto &_t: _threads) {
_t->join();
}
}
};
int main(int argc, char **argv) {
KeyValueServerImpl server;
server.Run();
return 0;
}
\ No newline at end of file
LISTENING_PORT 8081
CACHE_REPLACEMENT_TYPE LFU
CACHE_SIZE 10
THREAD_POOL_SIZE 10
COMPLETION_QUEUE 5
\ No newline at end of file
#include <iostream>
#include <bits/stdc++.h>
#include <sys/types.h>
#include <unordered_map>
#include <string.h>
#define FILECOUNT 30
#define CONF_FILE_PATH "../../KVServer.conf"
#define CLIENT_FILE_PATH "../../KVClient.conf"
#define SIZE 256
class FileMetaData {
public:
bool deleted;
unsigned long offset;
char key[SIZE];
int val_size;
};
class FileService {
public:
std::unordered_map<std::string, FileMetaData> fileMetaDataMap;
FileService() {
fileMetaDataMap = std::unordered_map<std::string, FileMetaData>();
}
/**
* Performs the hashing to get the file path.
* @param key
* @return file path
*
* @ref
* https://stackoverflow.com/questions/7666509/hash-function-for-string
*/
std::string getFilePath(std::string key) {
int32_t hash = 0;
for (auto c: key) {
hash += c;
}
hash %= FILECOUNT;
return std::to_string(hash) + ".txt";
}
void writeToFile(std::string path, std::string line) {
std::fstream file;
file.open(path, std::ios::out | std::ios::in | std::ios::app);
if (file.is_open()) {
file << line;
file.close();
}
}
/**
* Read the value from the file.
* @param key
* @return
*
*/
std::string getValue(std::string key) {
if (fileMetaDataMap.find(key) != fileMetaDataMap.end()) {
if (!fileMetaDataMap[key].deleted) {
char *path = new char[SIZE];
char *value = new char[SIZE];
strcpy(path, getFilePath(key).c_str());
FILE *fp;
fp = fopen(path, "r");
if (nullptr == fp) {
return "";
}
fseek(fp, fileMetaDataMap[key].offset, SEEK_SET);
fread(value, fileMetaDataMap[key].val_size, 1, fp);
value[fileMetaDataMap[key].val_size] = '\0';
return value;
} else {
return "";
}
} else {
return "";
}
}
int pushKeyFile(std::string key, std::string value) {
FILE *fp;
char *path = new char[SIZE];
strcpy(path, getFilePath(key).c_str());
char *k = new char[SIZE];
char *v = new char[SIZE];
strcpy(k, key.c_str());
strcpy(v, value.c_str());
fp = fopen(path, "a+");
if (fp != NULL) {
if (fileMetaDataMap.find(key) == fileMetaDataMap.end()) {
fwrite(k, 1, strlen(k), fp);
unsigned long offset = ftell(fp);
FileMetaData fileMetaData;
fileMetaData.offset = offset;
fileMetaData.val_size = strlen(value.c_str());
strcpy(fileMetaData.key, k);
fileMetaData.deleted = false;
fileMetaDataMap[key] = fileMetaData;
fwrite(v, 1, strlen(value.c_str()), fp);
putMetaData(key);
} else {
fwrite(k, 1, strlen(k), fp);
unsigned long offset = ftell(fp);
fileMetaDataMap[key].offset = offset;
fileMetaDataMap[key].val_size = strlen(value.c_str());
fwrite(v, 1, strlen(value.c_str()), fp);
putMetaData(key);
}
fflush(fp);
fclose(fp);
return 1;
}
fflush(fp);
fclose(fp);
return 0;
}
int popKeyFile(std::string key) {
if (fileMetaDataMap.find(key) != fileMetaDataMap.end() && !fileMetaDataMap[key].deleted) {
fileMetaDataMap[key].deleted = true;
putMetaData(key);
return 1;
} else {
return 0;
}
}
std::map<std::string, int> getConfig() {
std::map<std::string, int> config = std::map<std::string, int>();
std::fstream file;
file.open(CONF_FILE_PATH, std::ios::in);
if (file.is_open()) {
std::string line, file_key, file_value;
while (getline(file, line)) {
std::stringstream stream(line);
getline(stream, file_key, ' ');
getline(stream, file_value);
std::stringstream ss(file_value);
int val = 0;
if (file_key == "CACHE_REPLACEMENT_TYPE") {
if (file_value == "LRU") {
val = 1;
} else {
val = 2;
}
} else {
ss >> val;
}
config[file_key] = val;
}
file.close();
}
return config;
}
std::vector<std::vector<std::string>> getClientConfig() {
std::vector<std::vector<std::string>> file_commands = std::vector<std::vector<std::string>>();
std::fstream file;
file.open(CLIENT_FILE_PATH, std::ios::in);
std::string line, file_key, file_value, file_command;
while (getline(file, line)) {
std::vector<std::string> command = std::vector<std::string>();
std::stringstream stream(line);
getline(stream, file_command, ' ');
getline(stream, file_key, ' ');
getline(stream, file_value);
command.emplace_back(file_command);
command.emplace_back(file_key);
command.emplace_back(file_value);
file_commands.emplace_back(command);
}
file.close();
return file_commands;
}
void putMetaData(std::string key) {
std::string data;
auto &i = fileMetaDataMap[key];
data += key + ":" + std::to_string(i.val_size) + ":" +
std::to_string(i.offset) + ":" +
std::to_string(i.deleted) + "\n";
writeToFile("metadata.txt", data);
}
void getMetaData() {
std::fstream file;
file.open("metadata.txt", std::ios::in);
std::string line, file_key, value_offset, deleted, value_size;
while (getline(file, line)) {
FileMetaData fileMetaData;
std::stringstream stream(line);
getline(stream, file_key, ':');
getline(stream, value_size, ':');
getline(stream, value_offset, ':');
getline(stream, deleted);
int size = std::stoi(value_size);
unsigned long value = std::stol(value_offset);
strcpy(fileMetaData.key, file_key.c_str());
fileMetaData.deleted = !(deleted == "0");
fileMetaData.val_size = size;
fileMetaData.offset = value;
fileMetaDataMap[file_key] = fileMetaData;
}
file.close();
}
};
# Assignment4-PA4
# Key Value Store
## Team Member
1. Sagar Poudel 213051001
2. Vishal Kumar 213050081
3. Divya Kotadiya 20305R003
### Pre requisite
Installation of grpc framework in the system.
### Steps to Execute
1. Download the project and copy the folder in `{grpc_path}/examples/cpp/`
and run
```
$ mkdir -p cmake/build
$ pushd cmake/build
$ cmake -DCMAKE_PREFIX_PATH=$MY_INSTALL_DIR ../..
$ make
```
2. To Run the server:
```
./server
```
3. To Run the client:
```
./client
```
### Config file:
Change the value with proper space.
```
LISTENING_PORT 8081
CACHE_REPLACEMENT_TYPE LRU
CACHE_SIZE 10
THREAD_POOL_SIZE 10
COMPLETION_QUEUE 5
```
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
sagar,poudelpujapujapujapujadeepakrthakurdeepakrthakurdeepakrthakurdeepakrthakur
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
vkkrvkkrvkkrvkkrvkkr
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
12121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212
\ No newline at end of file
pujanpandeypujanpandeypujanpandeypujanpandey
\ No newline at end of file
simplesimple2121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121
\ No newline at end of file
343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434
\ No newline at end of file
45454545
\ No newline at end of file
565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656
\ No newline at end of file
rumidumpyurumidumpyurumidumpyurumidumpyurumidumpy3urumidumpy3urumidumpy3urumidumpy3urumidumpy3urumidumpy3urumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidurumidu7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878
\ No newline at end of file
devaf56564devaf56564devaf56564devaf56564devaf565643devaf565643devaf565643devaf565643devafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevafdevaf
\ No newline at end of file
ramarestramarestramarestramaresteeramarestee3ramarestee3ramarestee3ramarestee3ramarestramarestramarestramarestramarestramarestramaramaramarestramarestramarestramarestramarestramarestramarestramarestramarestramarestramarestramarestramarestramarest
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
set(CMAKE_C_COMPILER "/usr/bin/cc")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "9.3.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C_PLATFORM_ID "Linux")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_C_COMPILER_ENV_VAR "CC")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "8")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "9.3.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_HOST_SYSTEM "Linux-5.11.0-37-generic")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "5.11.0-37-generic")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-5.11.0-37-generic")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "5.11.0-37-generic")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
Change Dir: /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make -f Makefile cmTC_eaaef/fast && /usr/bin/make -f CMakeFiles/cmTC_eaaef.dir/build.make CMakeFiles/cmTC_eaaef.dir/build
make[1]: Entering directory '/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_eaaef.dir/src.c.o
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_eaaef.dir/src.c.o -c /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/CMakeTmp/src.c
Linking C executable cmTC_eaaef
/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eaaef.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTC_eaaef.dir/src.c.o -o cmTC_eaaef
/usr/bin/ld: CMakeFiles/cmTC_eaaef.dir/src.c.o: in function `main':
src.c:(.text+0x46): undefined reference to `pthread_create'
/usr/bin/ld: src.c:(.text+0x52): undefined reference to `pthread_detach'
/usr/bin/ld: src.c:(.text+0x5e): undefined reference to `pthread_cancel'
/usr/bin/ld: src.c:(.text+0x6f): undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_eaaef.dir/build.make:99: cmTC_eaaef] Error 1
make[1]: Leaving directory '/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/CMakeTmp'
make: *** [Makefile:127: cmTC_eaaef/fast] Error 2
Source file was:
#include <pthread.h>
static void* test_func(void* data)
{
return data;
}
int main(void)
{
pthread_t thread;
pthread_create(&thread, NULL, test_func, NULL);
pthread_detach(thread);
pthread_cancel(thread);
pthread_join(thread, NULL);
pthread_atfork(NULL, NULL, NULL);
pthread_exit(NULL);
return 0;
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make -f Makefile cmTC_59b86/fast && /usr/bin/make -f CMakeFiles/cmTC_59b86.dir/build.make CMakeFiles/cmTC_59b86.dir/build
make[1]: Entering directory '/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_59b86.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_59b86.dir/CheckFunctionExists.c.o -c /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CheckFunctionExists.c
Linking C executable cmTC_59b86
/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -E cmake_link_script CMakeFiles/cmTC_59b86.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_59b86.dir/CheckFunctionExists.c.o -o cmTC_59b86 -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_59b86.dir/build.make:99: cmTC_59b86] Error 1
make[1]: Leaving directory '/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/CMakeTmp'
make: *** [Makefile:127: cmTC_59b86/fast] Error 2
This diff is collapsed.
# Hashes of file build rules.
2a8898f16e24488d787196631bd8dc5d keyvalue.pb.cc
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"/home/sagar/.local/lib/cmake/grpc/gRPCConfig.cmake"
"/home/sagar/.local/lib/cmake/grpc/gRPCConfigVersion.cmake"
"/home/sagar/.local/lib/cmake/grpc/gRPCTargets-noconfig.cmake"
"/home/sagar/.local/lib/cmake/grpc/gRPCTargets.cmake"
"/home/sagar/.local/lib/cmake/protobuf/protobuf-config-version.cmake"
"/home/sagar/.local/lib/cmake/protobuf/protobuf-config.cmake"
"/home/sagar/.local/lib/cmake/protobuf/protobuf-module.cmake"
"/home/sagar/.local/lib/cmake/protobuf/protobuf-options.cmake"
"/home/sagar/.local/lib/cmake/protobuf/protobuf-targets-noconfig.cmake"
"/home/sagar/.local/lib/cmake/protobuf/protobuf-targets.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeCInformation.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeCXXInformation.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeCommonLanguageInclude.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeFindCodeBlocks.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeGenericSystem.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeInitializeConfigs.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeLanguageInformation.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeSystemSpecificInformation.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CMakeSystemSpecificInitialize.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CheckCSourceCompiles.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CheckIncludeFile.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/CheckLibraryExists.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Compiler/GNU-C.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Compiler/GNU-CXX.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Compiler/GNU.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/FindPackageMessage.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/FindThreads.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Internal/CheckSourceCompiles.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Platform/Linux-GNU-C.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Platform/Linux-GNU-CXX.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Platform/Linux-GNU.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Platform/Linux.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/Platform/UnixPaths.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/ProcessorCount.cmake"
"/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/share/cmake-3.20/Modules/SelectLibraryConfigurations.cmake"
"../CMakeLists.txt"
"CMakeFiles/3.20.2/CMakeCCompiler.cmake"
"CMakeFiles/3.20.2/CMakeCXXCompiler.cmake"
"CMakeFiles/3.20.2/CMakeSystem.cmake"
"/home/sagar/grpc/grpc/examples/cpp/cmake/common.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/kvs_grpc_proto.dir/DependInfo.cmake"
"CMakeFiles/client.dir/DependInfo.cmake"
"CMakeFiles/server.dir/DependInfo.cmake"
"CMakeFiles/cpp.dir/DependInfo.cmake"
)
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake
# The command to remove a file.
RM = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug
#=============================================================================
# Directory level rules for the build root directory
# The main recursive "all" target.
all: CMakeFiles/kvs_grpc_proto.dir/all
all: CMakeFiles/client.dir/all
all: CMakeFiles/server.dir/all
all: CMakeFiles/cpp.dir/all
.PHONY : all
# The main recursive "preinstall" target.
preinstall:
.PHONY : preinstall
# The main recursive "clean" target.
clean: CMakeFiles/kvs_grpc_proto.dir/clean
clean: CMakeFiles/client.dir/clean
clean: CMakeFiles/server.dir/clean
clean: CMakeFiles/cpp.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/kvs_grpc_proto.dir
# All Build rule for target.
CMakeFiles/kvs_grpc_proto.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/kvs_grpc_proto.dir/build.make CMakeFiles/kvs_grpc_proto.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/kvs_grpc_proto.dir/build.make CMakeFiles/kvs_grpc_proto.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=5,6,7,8 "Built target kvs_grpc_proto"
.PHONY : CMakeFiles/kvs_grpc_proto.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/kvs_grpc_proto.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 4
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/kvs_grpc_proto.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/kvs_grpc_proto.dir/rule
# Convenience name for target.
kvs_grpc_proto: CMakeFiles/kvs_grpc_proto.dir/rule
.PHONY : kvs_grpc_proto
# clean rule for target.
CMakeFiles/kvs_grpc_proto.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/kvs_grpc_proto.dir/build.make CMakeFiles/kvs_grpc_proto.dir/clean
.PHONY : CMakeFiles/kvs_grpc_proto.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/client.dir
# All Build rule for target.
CMakeFiles/client.dir/all: CMakeFiles/kvs_grpc_proto.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/client.dir/build.make CMakeFiles/client.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/client.dir/build.make CMakeFiles/client.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=1,2 "Built target client"
.PHONY : CMakeFiles/client.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/client.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 6
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/client.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/client.dir/rule
# Convenience name for target.
client: CMakeFiles/client.dir/rule
.PHONY : client
# clean rule for target.
CMakeFiles/client.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/client.dir/build.make CMakeFiles/client.dir/clean
.PHONY : CMakeFiles/client.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/server.dir
# All Build rule for target.
CMakeFiles/server.dir/all: CMakeFiles/kvs_grpc_proto.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/server.dir/build.make CMakeFiles/server.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/server.dir/build.make CMakeFiles/server.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=9,10 "Built target server"
.PHONY : CMakeFiles/server.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/server.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 6
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/server.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/server.dir/rule
# Convenience name for target.
server: CMakeFiles/server.dir/rule
.PHONY : server
# clean rule for target.
CMakeFiles/server.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/server.dir/build.make CMakeFiles/server.dir/clean
.PHONY : CMakeFiles/server.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/cpp.dir
# All Build rule for target.
CMakeFiles/cpp.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/cpp.dir/build.make CMakeFiles/cpp.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/cpp.dir/build.make CMakeFiles/cpp.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=3,4 "Built target cpp"
.PHONY : CMakeFiles/cpp.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/cpp.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 2
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cpp.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/cpp.dir/rule
# Convenience name for target.
cpp: CMakeFiles/cpp.dir/rule
.PHONY : cpp
# clean rule for target.
CMakeFiles/cpp.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/cpp.dir/build.make CMakeFiles/cpp.dir/clean
.PHONY : CMakeFiles/cpp.dir/clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/rebuild_cache.dir
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/edit_cache.dir
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/kvs_grpc_proto.dir
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/client.dir
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/server.dir
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/cpp.dir
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/kvcache/LRUCache.cpp
iostream
-
utility
-
string.h
-
unordered_map
-
Node.hpp
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/kvcache/Node.hpp
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/kvcache/Node.hpp
iostream
-
utility
-
string.h
-
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake
# The command to remove a file.
RM = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug
# Include any dependencies generated for this target.
include CMakeFiles/cache.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/cache.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/cache.dir/flags.make
CMakeFiles/cache.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/cache.dir/cmake_clean.cmake
.PHONY : CMakeFiles/cache.dir/clean
CMakeFiles/cache.dir/depend:
cd /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/cache.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/cache.dir/depend
# Per-language clean rules from dependency scanning.
foreach(lang )
include(CMakeFiles/cache.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
CMakeFiles/cache.dir/kvcache/LRUCache.cpp.o
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/kvcache/LRUCache.cpp
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/kvcache/Node.hpp
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
CMakeFiles/cache.dir/kvcache/LRUCache.cpp.o: \
../kvcache/LRUCache.cpp \
../kvcache/Node.hpp
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
/usr/bin/c++ -g CMakeFiles/cache.dir/kvcache/LRUCache.cpp.o -o cache
This diff is collapsed.
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVClient.cc" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/client.dir/KVClient.cc.o"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# Preprocessor definitions for this target.
set(CMAKE_TARGET_DEFINITIONS_CXX
"CARES_STATICLIB"
)
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"."
"../storage"
"/home/sagar/.local/include"
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/kvs_grpc_proto.dir/DependInfo.cmake"
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake
# The command to remove a file.
RM = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug
# Include any dependencies generated for this target.
include CMakeFiles/client.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/client.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/client.dir/flags.make
CMakeFiles/client.dir/KVClient.cc.o: CMakeFiles/client.dir/flags.make
CMakeFiles/client.dir/KVClient.cc.o: ../KVClient.cc
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/client.dir/KVClient.cc.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/client.dir/KVClient.cc.o -c /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVClient.cc
CMakeFiles/client.dir/KVClient.cc.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/client.dir/KVClient.cc.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVClient.cc > CMakeFiles/client.dir/KVClient.cc.i
CMakeFiles/client.dir/KVClient.cc.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/client.dir/KVClient.cc.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVClient.cc -o CMakeFiles/client.dir/KVClient.cc.s
# Object files for target client
client_OBJECTS = \
"CMakeFiles/client.dir/KVClient.cc.o"
# External object files for target client
client_EXTERNAL_OBJECTS =
client: CMakeFiles/client.dir/KVClient.cc.o
client: CMakeFiles/client.dir/build.make
client: libkvs_grpc_proto.a
client: /home/sagar/.local/lib/libgrpc++_reflection.a
client: /home/sagar/.local/lib/libgrpc++.a
client: /home/sagar/.local/lib/libprotobuf.a
client: /home/sagar/.local/lib/libgrpc.a
client: /home/sagar/.local/lib/libz.a
client: /home/sagar/.local/lib/libcares.a
client: /home/sagar/.local/lib/libaddress_sorting.a
client: /home/sagar/.local/lib/libre2.a
client: /home/sagar/.local/lib/libabsl_hash.a
client: /home/sagar/.local/lib/libabsl_city.a
client: /home/sagar/.local/lib/libabsl_wyhash.a
client: /home/sagar/.local/lib/libabsl_raw_hash_set.a
client: /home/sagar/.local/lib/libabsl_hashtablez_sampler.a
client: /home/sagar/.local/lib/libabsl_exponential_biased.a
client: /home/sagar/.local/lib/libabsl_statusor.a
client: /home/sagar/.local/lib/libabsl_bad_variant_access.a
client: /home/sagar/.local/lib/libgpr.a
client: /home/sagar/.local/lib/libupb.a
client: /home/sagar/.local/lib/libabsl_status.a
client: /home/sagar/.local/lib/libabsl_cord.a
client: /home/sagar/.local/lib/libabsl_str_format_internal.a
client: /home/sagar/.local/lib/libabsl_synchronization.a
client: /home/sagar/.local/lib/libabsl_stacktrace.a
client: /home/sagar/.local/lib/libabsl_symbolize.a
client: /home/sagar/.local/lib/libabsl_debugging_internal.a
client: /home/sagar/.local/lib/libabsl_demangle_internal.a
client: /home/sagar/.local/lib/libabsl_graphcycles_internal.a
client: /home/sagar/.local/lib/libabsl_malloc_internal.a
client: /home/sagar/.local/lib/libabsl_time.a
client: /home/sagar/.local/lib/libabsl_strings.a
client: /home/sagar/.local/lib/libabsl_throw_delegate.a
client: /home/sagar/.local/lib/libabsl_strings_internal.a
client: /home/sagar/.local/lib/libabsl_base.a
client: /home/sagar/.local/lib/libabsl_spinlock_wait.a
client: /home/sagar/.local/lib/libabsl_int128.a
client: /home/sagar/.local/lib/libabsl_civil_time.a
client: /home/sagar/.local/lib/libabsl_time_zone.a
client: /home/sagar/.local/lib/libabsl_bad_optional_access.a
client: /home/sagar/.local/lib/libabsl_raw_logging_internal.a
client: /home/sagar/.local/lib/libabsl_log_severity.a
client: /home/sagar/.local/lib/libssl.a
client: /home/sagar/.local/lib/libcrypto.a
client: CMakeFiles/client.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable client"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/client.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/client.dir/build: client
.PHONY : CMakeFiles/client.dir/build
CMakeFiles/client.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/client.dir/cmake_clean.cmake
.PHONY : CMakeFiles/client.dir/clean
CMakeFiles/client.dir/depend:
cd /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/client.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/client.dir/depend
file(REMOVE_RECURSE
"CMakeFiles/client.dir/KVClient.cc.o"
"client"
"client.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/client.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
This diff is collapsed.
This diff is collapsed.
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# compile CXX with /usr/bin/c++
CXX_DEFINES = -DCARES_STATICLIB
CXX_INCLUDES = -I/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug -I/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/storage -isystem /home/sagar/.local/include
CXX_FLAGS = -g -std=gnu++11
/usr/bin/c++ -g CMakeFiles/client.dir/KVClient.cc.o -o client libkvs_grpc_proto.a /home/sagar/.local/lib/libgrpc++_reflection.a /home/sagar/.local/lib/libgrpc++.a /home/sagar/.local/lib/libprotobuf.a /home/sagar/.local/lib/libgrpc.a /home/sagar/.local/lib/libz.a /home/sagar/.local/lib/libcares.a -lnsl /home/sagar/.local/lib/libaddress_sorting.a /home/sagar/.local/lib/libre2.a /home/sagar/.local/lib/libabsl_hash.a /home/sagar/.local/lib/libabsl_city.a /home/sagar/.local/lib/libabsl_wyhash.a /home/sagar/.local/lib/libabsl_raw_hash_set.a /home/sagar/.local/lib/libabsl_hashtablez_sampler.a /home/sagar/.local/lib/libabsl_exponential_biased.a /home/sagar/.local/lib/libabsl_statusor.a /home/sagar/.local/lib/libabsl_bad_variant_access.a /home/sagar/.local/lib/libgpr.a /home/sagar/.local/lib/libupb.a -ldl -lrt -lm /home/sagar/.local/lib/libabsl_status.a /home/sagar/.local/lib/libabsl_cord.a /home/sagar/.local/lib/libabsl_str_format_internal.a /home/sagar/.local/lib/libabsl_synchronization.a /home/sagar/.local/lib/libabsl_stacktrace.a /home/sagar/.local/lib/libabsl_symbolize.a /home/sagar/.local/lib/libabsl_debugging_internal.a /home/sagar/.local/lib/libabsl_demangle_internal.a /home/sagar/.local/lib/libabsl_graphcycles_internal.a /home/sagar/.local/lib/libabsl_malloc_internal.a /home/sagar/.local/lib/libabsl_time.a /home/sagar/.local/lib/libabsl_strings.a /home/sagar/.local/lib/libabsl_throw_delegate.a /home/sagar/.local/lib/libabsl_strings_internal.a /home/sagar/.local/lib/libabsl_base.a /home/sagar/.local/lib/libabsl_spinlock_wait.a -lrt /home/sagar/.local/lib/libabsl_int128.a /home/sagar/.local/lib/libabsl_civil_time.a /home/sagar/.local/lib/libabsl_time_zone.a /home/sagar/.local/lib/libabsl_bad_optional_access.a /home/sagar/.local/lib/libabsl_raw_logging_internal.a /home/sagar/.local/lib/libabsl_log_severity.a /home/sagar/.local/lib/libssl.a /home/sagar/.local/lib/libcrypto.a -lpthread -lpthread
CMAKE_PROGRESS_1 = 1
CMAKE_PROGRESS_2 = 2
ToolSet: 1.0 (local)Options:
Options:
\ No newline at end of file
/home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_DEPENDS_USE_COMPILER=FALSE -G "CodeBlocks - Unix Makefiles" /home/sagar/grpc/grpc/examples/cpp/KeyValueStore
-- Using protobuf 3.15.8.0
-- Using gRPC 1.40.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVServerConfig.cpp
iostream
-
fstream
-
bits/stdc++.h
-
sys/types.h
-
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVServerConfig.cpp" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/config.dir/KVServerConfig.cpp.o"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"."
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake
# The command to remove a file.
RM = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug
# Include any dependencies generated for this target.
include CMakeFiles/config.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/config.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/config.dir/flags.make
CMakeFiles/config.dir/KVServerConfig.cpp.o: CMakeFiles/config.dir/flags.make
CMakeFiles/config.dir/KVServerConfig.cpp.o: ../KVServerConfig.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/config.dir/KVServerConfig.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/config.dir/KVServerConfig.cpp.o -c /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVServerConfig.cpp
CMakeFiles/config.dir/KVServerConfig.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/config.dir/KVServerConfig.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVServerConfig.cpp > CMakeFiles/config.dir/KVServerConfig.cpp.i
CMakeFiles/config.dir/KVServerConfig.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/config.dir/KVServerConfig.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVServerConfig.cpp -o CMakeFiles/config.dir/KVServerConfig.cpp.s
# Object files for target config
config_OBJECTS = \
"CMakeFiles/config.dir/KVServerConfig.cpp.o"
# External object files for target config
config_EXTERNAL_OBJECTS =
config: CMakeFiles/config.dir/KVServerConfig.cpp.o
config: CMakeFiles/config.dir/build.make
config: CMakeFiles/config.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable config"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/config.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/config.dir/build: config
.PHONY : CMakeFiles/config.dir/build
CMakeFiles/config.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/config.dir/cmake_clean.cmake
.PHONY : CMakeFiles/config.dir/clean
CMakeFiles/config.dir/depend:
cd /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/config.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/config.dir/depend
file(REMOVE_RECURSE
"CMakeFiles/config.dir/KVServerConfig.cpp.o"
"config"
"config.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/config.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
CMakeFiles/config.dir/KVServerConfig.cpp.o
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVServerConfig.cpp
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
CMakeFiles/config.dir/KVServerConfig.cpp.o: \
../KVServerConfig.cpp
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# compile CXX with /usr/bin/c++
CXX_DEFINES =
CXX_INCLUDES = -I/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug
CXX_FLAGS = -g -std=gnu++11
/usr/bin/c++ -g CMakeFiles/config.dir/KVServerConfig.cpp.o -o config
CMAKE_PROGRESS_1 = 3
CMAKE_PROGRESS_2 = 4
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVStorage.hpp
iostream
-
bits/stdc++.h
-
sys/types.h
-
unordered_map
-
string.h
-
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/test.cpp
iostream
-
KVStorage.hpp
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVStorage.hpp
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/test.cpp" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/cpp.dir/test.cpp.o"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"."
"../storage"
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake
# The command to remove a file.
RM = /home/sagar/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5284.51/bin/cmake/linux/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug
# Include any dependencies generated for this target.
include CMakeFiles/cpp.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/cpp.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/cpp.dir/flags.make
CMakeFiles/cpp.dir/test.cpp.o: CMakeFiles/cpp.dir/flags.make
CMakeFiles/cpp.dir/test.cpp.o: ../test.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/cpp.dir/test.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/cpp.dir/test.cpp.o -c /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/test.cpp
CMakeFiles/cpp.dir/test.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cpp.dir/test.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/test.cpp > CMakeFiles/cpp.dir/test.cpp.i
CMakeFiles/cpp.dir/test.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cpp.dir/test.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/test.cpp -o CMakeFiles/cpp.dir/test.cpp.s
# Object files for target cpp
cpp_OBJECTS = \
"CMakeFiles/cpp.dir/test.cpp.o"
# External object files for target cpp
cpp_EXTERNAL_OBJECTS =
cpp: CMakeFiles/cpp.dir/test.cpp.o
cpp: CMakeFiles/cpp.dir/build.make
cpp: CMakeFiles/cpp.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable cpp"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cpp.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/cpp.dir/build: cpp
.PHONY : CMakeFiles/cpp.dir/build
CMakeFiles/cpp.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/cpp.dir/cmake_clean.cmake
.PHONY : CMakeFiles/cpp.dir/clean
CMakeFiles/cpp.dir/depend:
cd /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug /home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/cpp.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/cpp.dir/depend
file(REMOVE_RECURSE
"CMakeFiles/cpp.dir/test.cpp.o"
"cpp"
"cpp.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/cpp.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
CMakeFiles/cpp.dir/test.cpp.o
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/KVStorage.hpp
/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/test.cpp
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
CMakeFiles/cpp.dir/test.cpp.o: \
../KVStorage.hpp \
../test.cpp
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# compile CXX with /usr/bin/c++
CXX_DEFINES =
CXX_INCLUDES = -I/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug -I/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/storage
CXX_FLAGS = -g -std=gnu++11
/usr/bin/c++ -g CMakeFiles/cpp.dir/test.cpp.o -o cpp
CMAKE_PROGRESS_1 = 3
CMAKE_PROGRESS_2 = 4
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.grpc.pb.cc" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/kvs_grpc_proto.dir/keyvalue.grpc.pb.cc.o"
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.pb.cc" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/CMakeFiles/kvs_grpc_proto.dir/keyvalue.pb.cc.o"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# Preprocessor definitions for this target.
set(CMAKE_TARGET_DEFINITIONS_CXX
"CARES_STATICLIB"
)
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"."
"../storage"
"/home/sagar/.local/include"
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
)
# Pairs of files generated by the same build rule.
set(CMAKE_MULTIPLE_OUTPUT_PAIRS
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.grpc.pb.cc" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.pb.cc"
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.grpc.pb.h" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.pb.cc"
"/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.pb.h" "/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug/keyvalue.pb.cc"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
This diff is collapsed.
file(REMOVE_RECURSE
"CMakeFiles/kvs_grpc_proto.dir/keyvalue.grpc.pb.cc.o"
"CMakeFiles/kvs_grpc_proto.dir/keyvalue.pb.cc.o"
"keyvalue.grpc.pb.cc"
"keyvalue.grpc.pb.h"
"keyvalue.pb.cc"
"keyvalue.pb.h"
"libkvs_grpc_proto.a"
"libkvs_grpc_proto.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/kvs_grpc_proto.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
This diff is collapsed.
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.20
# compile CXX with /usr/bin/c++
CXX_DEFINES = -DCARES_STATICLIB
CXX_INCLUDES = -I/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/cmake-build-debug -I/home/sagar/grpc/grpc/examples/cpp/KeyValueStore/storage -isystem /home/sagar/.local/include
CXX_FLAGS = -g -std=gnu++11
/usr/bin/ar qc libkvs_grpc_proto.a CMakeFiles/kvs_grpc_proto.dir/keyvalue.grpc.pb.cc.o CMakeFiles/kvs_grpc_proto.dir/keyvalue.pb.cc.o
/usr/bin/ranlib libkvs_grpc_proto.a
CMAKE_PROGRESS_1 = 5
CMAKE_PROGRESS_2 = 6
CMAKE_PROGRESS_3 = 7
CMAKE_PROGRESS_4 = 8
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment