diff --git a/.bazelrc b/.bazelrc index f8059c4fab..a21d18d085 100644 --- a/.bazelrc +++ b/.bazelrc @@ -75,7 +75,6 @@ build:linux --host_cxxopt=-std=c++17 build:windows --host_cxxopt=/std:c++17 build:windows --cxxopt=/std:c++17 -build:windows --action_env BAZEL_CXXOPTS="/std:c++17" # Fixing compiler errors: #build:windows --cxxopt=/translateInclude=no @@ -95,7 +94,7 @@ build:linux --cxxopt=-Werror=format-security # Adding "--cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0" creates parity with TF # compilation options. It also addresses memory use due to # copy-on-write semantics of std::strings of the older ABI. -build --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=1 +#build --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=1 # TODO Windows: may impact python nodes execution build:windows --noenable_bzlmod @@ -255,4 +254,9 @@ build:windows --deleted_packages=tensorflow/core/tfrt/stubs,tensorflow/compiler/ # Windows build ssl headers for GRPC workaround build:windows --override_repository="boringssl=C:\\opt\\boringSSL-SwiftPM" +build:windows --repo_env PYTHON_BIN_PATH=C:/opt/Python39/python.exe + test --test_env LD_LIBRARY_PATH=/opt/opencv/lib/:/opt/intel/openvino/runtime/lib/intel64/:/opt/intel/openvino/runtime/3rdparty/tbb/lib/ + +# Compiling mediapipe +startup --output_user_root=C:/baze_tmp diff --git a/BUILD.bazel b/BUILD.bazel index 04f84560fb..54d48206cb 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -72,7 +72,7 @@ cc_library( "@mediapipe//mediapipe/framework/port:logging", "@mediapipe//mediapipe/framework/port:parse_text_proto", "@mediapipe//mediapipe/framework/port:status", - "@model_api//:model_api"], + "@model_api//:model_api",], "//:disable_mediapipe": [] }) + select({ @@ -88,5 +88,6 @@ cc_library( ], "//src:windows" : [], }), - visibility = ["//visibility:public"], + linkstatic = False, + visibility = ["//visibility:public"], ) diff --git a/WORKSPACE b/WORKSPACE index 3f0f036db3..fbe8d2f3e7 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -105,28 +105,28 @@ http_archive( sha256 = "87407cd28e7a9c95d9f61a098a53cf031109d451a7763e7dd1253abf8b4df422", strip_prefix = "protobuf-3.19.1", urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.19.1.tar.gz"], - #patches = [ - # "@//third_party:com_google_protobuf_fixes.diff" - #], - #patch_args = [ - # "-p1", - #], + patches = [ + "@mediapipe//third_party:com_google_protobuf_fixes.diff" + ], + patch_args = [ + "-p1", + ], ) ################################### Official/forked mediapipe repository ######### #### Will be used on feature release -git_repository( - name = "mediapipe", - remote = "https://github.com/openvinotoolkit/mediapipe", - commit = "9407697e8a18eebea664bab27d217a06bfa237fd", # Support ov::string in ovms model api adapter (#90) -) - -# DEV mediapipe 1 source - adjust local repository path for build -#local_repository( +#git_repository( # name = "mediapipe", -# path = "/mediapipe/", +# remote = "https://github.com/openvinotoolkit/mediapipe", +# commit = "03f37e6ae85247ca2f204da6844ab5abb3a2760b", # Fix model_api cmake #) +# DEV mediapipe 1 source - adjust local repository path for build +local_repository( + name = "mediapipe", + path = "C:\\git\\mediapipe", +) + # Protobuf for Node dependencies http_archive( name = "rules_proto_grpc", @@ -179,10 +179,14 @@ http_archive( url = "https://github.com/gflags/gflags/archive/v2.2.2.zip", ) -git_repository( +# 2020-08-21 +http_archive( name = "com_github_glog_glog", - remote = "https://github.com/google/glog", - tag = "v0.5.0", + strip_prefix = "glog-3a0d4d22c5ae0b9a2216988411cfa6bf860cc372", + sha256 = "170d08f80210b82d95563f4723a15095eff1aad1863000e8eeb569c96a98fefb", + urls = [ + "https://github.com/google/glog/archive/3a0d4d22c5ae0b9a2216988411cfa6bf860cc372.zip", + ], ) load("@mediapipe//third_party:external_files.bzl", "external_files") @@ -259,10 +263,6 @@ http_archive( url = "https://github.com/bazelbuild/rules_python/releases/download/0.18.1/rules_python-0.18.1.tar.gz", ) -load("@rules_python//python:repositories.bzl", "py_repositories") - -py_repositories() - load("@rules_python//python:pip.bzl", "pip_parse") pip_parse( diff --git a/src/BUILD b/src/BUILD index 8895dad07e..9c2a8e7fa1 100644 --- a/src/BUILD +++ b/src/BUILD @@ -269,6 +269,8 @@ cc_library( "httpservermodule.hpp", "http_rest_api_handler.cpp", "httpservermodule.cpp", + "http_frontend/http_graph_executor_impl.cpp", + "http_frontend/http_graph_executor_impl.hpp", ], "//src:windows" : [], }) + [ @@ -354,8 +356,6 @@ cc_library( "mediapipe_internal/packettypes.hpp", "kfs_frontend/kfs_graph_executor_impl.cpp", "kfs_frontend/kfs_graph_executor_impl.hpp", - "http_frontend/http_graph_executor_impl.cpp", - "http_frontend/http_graph_executor_impl.hpp", ], "//:disable_mediapipe" : [], }), @@ -421,8 +421,8 @@ cc_library( "@mediapipe//mediapipe/calculators/geti/utils:utils", "@mediapipe//mediapipe/calculators/geti/utils:emptylabel_calculators", "@mediapipe//mediapipe/calculators/geti/serialization:calculators", - "//src:httppayload", - "//src:libhttpclientconnection", + #"//src:httppayload", + #"//src:libhttpclientconnection", ], "//:disable_mediapipe" : [], }), diff --git a/src/logging.cpp b/src/logging.cpp index 3886b79495..e3cf8f27e8 100644 --- a/src/logging.cpp +++ b/src/logging.cpp @@ -127,12 +127,21 @@ void configure_logger(const std::string& log_level, const std::string& log_path) } register_loggers(log_level, sinks); #if (MEDIAPIPE_DISABLE == 0) - if (log_level == "DEBUG" || log_level == "TRACE") +#ifdef __linux__ +if (log_level == "DEBUG" || log_level == "TRACE") FLAGS_minloglevel = google::INFO; else if (log_level == "WARNING") FLAGS_minloglevel = google::WARNING; else // ERROR, FATAL FLAGS_minloglevel = google::ERROR; +#elif _WIN32 +if (log_level == "DEBUG" || log_level == "TRACE") + FLAGS_minloglevel = google::GLOG_INFO; + else if (log_level == "WARNING") + FLAGS_minloglevel = google::GLOG_WARNING; + else // ERROR, FATAL + FLAGS_minloglevel = google::GLOG_ERROR; +#endif #endif } diff --git a/third_party/BUILD b/third_party/BUILD index a8847fd71c..43e9f9b22c 100644 --- a/third_party/BUILD +++ b/third_party/BUILD @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # +package(default_visibility = ["//visibility:public"]) alias( name = "opencv", diff --git a/third_party/mediapipe_calculators/BUILD b/third_party/mediapipe_calculators/BUILD index dfdd41da90..a4570a4daa 100644 --- a/third_party/mediapipe_calculators/BUILD +++ b/third_party/mediapipe_calculators/BUILD @@ -47,7 +47,6 @@ cc_library( "@mediapipe//mediapipe/calculators/core:matrix_subtract_calculator", "@mediapipe//mediapipe/calculators/core:mux_calculator", "@mediapipe//mediapipe/calculators/core:non_zero_calculator", - "@mediapipe//mediapipe/calculators/core:packet_cloner_calculator", "@mediapipe//mediapipe/calculators/core:packet_inner_join_calculator", "@mediapipe//mediapipe/calculators/core:packet_thinner_calculator", "@mediapipe//mediapipe/calculators/core:pass_through_calculator", @@ -80,8 +79,6 @@ cc_library( "@mediapipe//mediapipe/calculators/util:detection_label_id_to_text_calculator", "@mediapipe//mediapipe/calculators/util:detections_to_render_data_calculator", "@mediapipe//mediapipe/calculators/util:non_max_suppression_calculator", - "@mediapipe//mediapipe/calculators/video:opencv_video_decoder_calculator", - "@mediapipe//mediapipe/calculators/video:opencv_video_encoder_calculator", "@mediapipe//mediapipe/calculators/image:color_convert_calculator", "@mediapipe//mediapipe/calculators/image:opencv_encoded_image_to_image_frame_calculator", "@mediapipe//mediapipe/calculators/image:opencv_image_encoder_calculator", @@ -105,13 +102,20 @@ cc_library( #VISIBILITY_PRIVATE_THUS_SINK_BELOW"@mediapipe//mediapipe/calculators/internal:callback_packet_calculator", "@mediapipe//mediapipe/framework/tool:sink", "@mediapipe//mediapipe/calculators/video:flow_to_image_calculator", - "@mediapipe//mediapipe/calculators/video:tvl1_optical_flow_calculator", "@mediapipe//mediapipe/calculators/video:motion_analysis_calculator", "@mediapipe//mediapipe/calculators/video:flow_packager_calculator", "@mediapipe//mediapipe/calculators/video:box_tracker_calculator", "@mediapipe//mediapipe/calculators/video:box_detector_calculator", "@mediapipe//mediapipe/calculators/video:tracked_detection_manager_calculator", "@mediapipe//mediapipe/calculators/video:video_pre_stream_calculator", - ], + ] + select({ + "//conditions:default": [ + "@mediapipe//mediapipe/calculators/core:packet_cloner_calculator", # TODO windows: stdc++20 required + "@mediapipe//mediapipe/calculators/video:tvl1_optical_flow_calculator", # TODO windows: 'opencv2/optflow.hpp': No such file - will be available with opencv cmake on windows + "@mediapipe//mediapipe/calculators/video:opencv_video_decoder_calculator", + "@mediapipe//mediapipe/calculators/video:opencv_video_encoder_calculator", + ], + "@ovms//src:windows" : [], + }), linkstatic=1, ) \ No newline at end of file