diff --git a/CMakeLists.txt b/CMakeLists.txt
index eb566f0d90c7e6d3819b5130356117a5815d56cd..e578bffaa058e63f0490d25685312b9001810751 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -101,9 +101,11 @@ set(PROTO_PATH ${PROJECT_SOURCE_DIR}/proto/proto)
 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")
+    set(STDFSLIB "")
 ELSE()
     set(_PROTOBUF_PROTOC "${CMAKE_BINARY_DIR}/build_tools/protoc")
     set(_GRPC_CPP_PLUGIN_EXECUTABLE "${CMAKE_BINARY_DIR}/build_tools/grpc_cpp_plugin")
+    set(STDFSLIB stdc++fs)
 ENDIF()
 
 # Generated sources
@@ -199,8 +201,7 @@ else()
     add_library(caosdb
         SHARED ${libcaosdb_INCL} ${libcaosdb_SRC} ${GRPC_GENERATED})
      target_link_libraries(caosdb
-        grpc::grpc protobuf::protobuf boost::boost
-        stdc++fs
+        grpc::grpc protobuf::protobuf boost::boost ${STDFSLIB}
     )
      set(LIBCAOSDB caosdb)
 endif()
@@ -221,8 +222,7 @@ target_include_directories(caosdb PUBLIC
 add_library(ccaosdb SHARED src/ccaosdb.cpp)
 target_link_libraries(ccaosdb
     grpc::grpc protobuf::protobuf boost::boost
-    ${LIBCAOSDB}
-    stdc++fs
+    ${LIBCAOSDB} $(STDFSLIB)
 )
 target_include_directories(ccaosdb PUBLIC
     $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>