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
Branches
Tags
1 merge request!3Better Error Handling and Logging
Pipeline #10833 failed
...@@ -41,6 +41,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) ...@@ -41,6 +41,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) 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 ### DEPENDENCY MANAGEMENT with CONAN
########################################### ###########################################
...@@ -79,8 +83,13 @@ set(PROTO_FILES ...@@ -79,8 +83,13 @@ set(PROTO_FILES
set(PROTO_PATH ${PROJECT_SOURCE_DIR}/proto/proto) set(PROTO_PATH ${PROJECT_SOURCE_DIR}/proto/proto)
# compiler binaries # compiler binaries
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(_PROTOBUF_PROTOC "${CMAKE_BINARY_DIR}/build_tools/protoc")
set(_GRPC_CPP_PLUGIN_EXECUTABLE "${CMAKE_BINARY_DIR}/build_tools/grpc_cpp_plugin") set(_GRPC_CPP_PLUGIN_EXECUTABLE "${CMAKE_BINARY_DIR}/build_tools/grpc_cpp_plugin")
ENDIF()
# Generated sources # Generated sources
list(LENGTH PROTO_FILES len_proto_files) list(LENGTH PROTO_FILES len_proto_files)
......
...@@ -29,6 +29,18 @@ have to add `build/lib/` (or, alternatively after installation, ...@@ -29,6 +29,18 @@ have to add `build/lib/` (or, alternatively after installation,
`CMAKE_INSTALL_PREFIX/lib`) to your `DYLD_LIBRARY_PATH` environmental `CMAKE_INSTALL_PREFIX/lib`) to your `DYLD_LIBRARY_PATH` environmental
variable. 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 ## Unit Tests
### Build ### Build
......
...@@ -28,7 +28,7 @@ class CaosdbConan(ConanFile): ...@@ -28,7 +28,7 @@ class CaosdbConan(ConanFile):
def imports(self): def imports(self):
self.copy("protoc*", "build_tools", "bin") 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): def build(self):
cmake = CMake(self) cmake = CMake(self)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment