Skip to content
Snippets Groups Projects
Commit 757cc6c0 authored by Alexander Kreft's avatar Alexander Kreft
Browse files

Fix for compiling with Visual Studio

parent 43fdade1
No related branches found
No related tags found
1 merge request!3Better Error Handling and Logging
Pipeline #10833 failed
This commit is part of merge request !3. Comments created here will be created in the context of that merge request.
......@@ -41,6 +41,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
IF (WIN32)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
ENDIF()
###########################################
### DEPENDENCY MANAGEMENT with CONAN
###########################################
......@@ -79,8 +83,13 @@ set(PROTO_FILES
set(PROTO_PATH ${PROJECT_SOURCE_DIR}/proto/proto)
# compiler binaries
set(_PROTOBUF_PROTOC "${CMAKE_BINARY_DIR}/build_tools/protoc")
set(_GRPC_CPP_PLUGIN_EXECUTABLE "${CMAKE_BINARY_DIR}/build_tools/grpc_cpp_plugin")
IF (WIN32)
set(_PROTOBUF_PROTOC "${CMAKE_BINARY_DIR}/build_tools/protoc.exe")
set(_GRPC_CPP_PLUGIN_EXECUTABLE "${CMAKE_BINARY_DIR}/build_tools/grpc_cpp_plugin.exe")
ELSE()
set(_PROTOBUF_PROTOC "${CMAKE_BINARY_DIR}/build_tools/protoc")
set(_GRPC_CPP_PLUGIN_EXECUTABLE "${CMAKE_BINARY_DIR}/build_tools/grpc_cpp_plugin")
ENDIF()
# Generated sources
list(LENGTH PROTO_FILES len_proto_files)
......
......@@ -29,6 +29,18 @@ have to add `build/lib/` (or, alternatively after installation,
`CMAKE_INSTALL_PREFIX/lib`) to your `DYLD_LIBRARY_PATH` environmental
variable.
### How to build on Windows
We use [Visual Studio 2019](https://visualstudio.microsoft.com/de/vs/features/cplusplus/) as compiler.
We use [cmake](https://cmake.org/download/) as build tool.
1. `mkdir build`
2. `cd build`
3. `conan install .. -g visual_studio -s arch=x86_64 -s build_type=Release -s compiler.toolset=v142 -s compiler.version=16 -s compiler.runtime=MD --build=missing --update`
4. `cmake -B . ..`
5. open ` libcaosdb.sln` with Visual Studio, change the buildtype to `Release` and build the project.
(You can open Tools/Command Line/Developer Command Prompt and execute `msbuild libcaosdb.sln /property:Configuration=Release`)
## Unit Tests
### Build
......
......@@ -28,7 +28,7 @@ class CaosdbConan(ConanFile):
def imports(self):
self.copy("protoc*", "build_tools", "bin")
self.copy("grpc_cpp_plugin", "build_tools", "bin")
self.copy("grpc_cpp_plugin*", "build_tools", "bin")
def build(self):
cmake = CMake(self)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment