Fix compilation errors on Windows
Summary
Resolves #34 (closed), #75 (closed) and #85 (closed).
Focus
Windows compatibility has been brought to a point where in Release build mode, caosdb.dll, ccaosdb.dll and the test CLI clients build without errors. The clients are also able to start (function was not tested yet). To achieve this a few changes were necessary:
- The
GRPC_GENERATED
sources have to be added to theccaosdb
library. Just linking is not enough on Windows (see #90 (closed)). This should not and does not seem to have an impact on the Linux build. - The splitting of the GRPC_GENERATED from the main library for the Debug/Test was removed as it does not work on Windows (see #90 (closed)) and does not provide any advantage on Linux.
- Linking to stdc++fs for using has been removed. This was only necessary for gcc<9.1.
- Retrieving the HOME folder on Windows was added in
include/caosdb/utility.h
(enabled/disabled via a macro)
Note that there is not yet a pipeline for Windows. Unit tests are anyway not yet functional (see #90 (closed)).
Test Environment
Follow build instructions for Windows.
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related issues -
Up-to-date CHANGELOG.md (or not necessary) -
Up-to-date JSON schema (or not necessary) -
Appropriate user and developer documentation (or not necessary) - How do I use the software? Assume "stupid" users.
- How do I develop or debug the software? Assume novice developers.
-
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md (or not necessary) -
Appropriate user and developer documentation (or not necessary) -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
Activity
assigned to @joschaschmiedt
added 44 commits
-
4b669670...693f6b48 - 43 commits from branch
dev
- 5b0559c6 - Merge branch 'dev' into f-34-building-shared-libraries-on-windows-fails
-
4b669670...693f6b48 - 43 commits from branch
added 2 commits
mentioned in issue #85 (closed)
added 31 commits
-
66bca40f...07e88302 - 30 commits from branch
dev
- 39a840d7 - Merge branch 'dev' into f-34-building-shared-libraries-on-windows-fails
-
66bca40f...07e88302 - 30 commits from branch
added 1 commit
- be5fe7b1 - WIP: Remove separation of libs for grpc generated code
added 1 commit
- 9d7dbcc0 - DOC: Fix small typo in win32 build instructions