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
...@@ -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
set(_PROTOBUF_PROTOC "${CMAKE_BINARY_DIR}/build_tools/protoc") IF (WIN32)
set(_GRPC_CPP_PLUGIN_EXECUTABLE "${CMAKE_BINARY_DIR}/build_tools/grpc_cpp_plugin") 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 # 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