From f50b922194a136cb828c0698c1afb3f611dfbadb Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Wed, 4 Aug 2021 14:14:58 +0200
Subject: [PATCH] REVIEW: minor changes in the build, add IWYU pragmas

---
 CMakeLists.txt                 | 4 ++--
 include/caosdb/configuration.h | 7 ++++---
 src/caosdb/transaction.cpp     | 5 +++--
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f61fbe5..8dcc7c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -177,7 +177,7 @@ target_link_libraries(ccaosdb
     ${CONAN_LIBS}
 )
 
-add_executable(ccaosdbcli src/ccaosdbcli.c)
+add_executable(ccaosdbcli EXCLUDE_FROM_ALL src/ccaosdbcli.c)
 target_include_directories(ccaosdbcli PUBLIC
     $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
     $<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
@@ -189,7 +189,7 @@ target_link_libraries(ccaosdbcli
     ${CONAN_LIBS}
 )
 
-add_executable(cxxcaosdbcli src/cxxcaosdbcli.cpp)
+add_executable(cxxcaosdbcli EXCLUDE_FROM_ALL src/cxxcaosdbcli.cpp)
 target_include_directories(cxxcaosdbcli PUBLIC
     $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
     $<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
diff --git a/include/caosdb/configuration.h b/include/caosdb/configuration.h
index 6426ab4..80bc927 100644
--- a/include/caosdb/configuration.h
+++ b/include/caosdb/configuration.h
@@ -26,9 +26,10 @@
 #include "boost/json/object.hpp"           // for object
 #include "boost/json/value.hpp"            // for value
 #include "boost/json/value_ref.hpp"        // IWYU pragma: keep
-#include "caosdb/authentication.h"         // for Authenticator, PlainPassw...
-#include "caosdb/certificate_provider.h"   // for CertificateProvider, path
-#include "caosdb/exceptions.h"             // for ConfigurationError
+// IWYU pragma: no_include "boost/json/fwd.hpp"
+#include "caosdb/authentication.h"       // for Authenticator, PlainPassw...
+#include "caosdb/certificate_provider.h" // for CertificateProvider, path
+#include "caosdb/exceptions.h"           // for ConfigurationError
 #include "caosdb/logging.h"
 #include "caosdb/utility.h"              // for load_json_file
 #include "grpcpp/security/credentials.h" // for ChannelCredentials
diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp
index 7dd4a71..66bfac7 100644
--- a/src/caosdb/transaction.cpp
+++ b/src/caosdb/transaction.cpp
@@ -154,8 +154,9 @@ auto Transaction::InsertEntity(Entity *entity) -> void {
 
 auto Transaction::Execute() -> TransactionStatus {
   ExecuteAsynchronously();
-  this->status.ThrowExceptionIfError();
-  return this->status;
+  auto status = WaitForIt();
+  status.ThrowExceptionIfError();
+  return status;
 }
 
 auto Transaction::ExecuteAsynchronously() noexcept -> void {
-- 
GitLab