diff --git a/CMakeLists.txt b/CMakeLists.txt index 01319705af0bc472d637b38d4dae06d5d5d7f43f..bd9222a73288381102ad0b6aaa03e7471a3bebfc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/README_SETUP.md b/README_SETUP.md index bcda25acc80f00ef9801357f786d973face177fa..86546c910a642a1543ee3f067dbf512e638743cd 100644 --- a/README_SETUP.md +++ b/README_SETUP.md @@ -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 diff --git a/conanfile.py b/conanfile.py index 1ed1abd041788b27a8a63c7286528fbed7cf4740..5364e47779c26896d7e0725378af138e8843f4a5 100644 --- a/conanfile.py +++ b/conanfile.py @@ -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)