Update docs (tracing-sdk): https://perfetto.dev/docs/instrumentation/tracing-sdk
target_compile_definitions(perfetto PRIVATE
NOMINMAX # WINDOWS: to avoid defining min/max macros
_WINSOCKAPI_ # WINDOWS: to avoid re-definition in WinSock2.h
)
Without NOMINMAX i get error
perfetto.cc(3090,14): error: expected unqualified-id
std::min(count - written, static_cast<size_t>(UINT32_MAX)));
Without WINSOCKAPI i get error
In file included from C:\.conan\2d5c3f\1\sdk\perfetto.cc:68837:
In file included from C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\WS2tcpip.h:43:
In file included from C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h:116:
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\ws2def.h(240,16): error: redefinition of 'sockaddr'
typedef struct sockaddr {
May also require (not sure):
_USE_MATH_DEFINES
_CRT_RAND_S
_CRT_SECURE_NO_WARNINGS
Windows 10, clang-cl
I suppose that tracing-sdk requires system libs similar to pseudo-code below:
if self.settings.os == "Windows":
self.cpp_info.components["libperfetto"].system_libs.append("wsock32")
self.cpp_info.components["libperfetto"].system_libs.append("ws2_32")
if self.settings.os in ["Linux", "FreeBSD"]:
self.cpp_info.components["libperfetto"].system_libs.append("pthread")
if self._is_clang_x86 or "arm" in str(self.settings.arch):
self.cpp_info.components["libperfetto"].system_libs.append("atomic")
if self.settings.os == "Windows":
if self.options.shared:
self.cpp_info.components["libperfetto"].defines = ["PROTOBUF_USE_DLLS"]
if self.settings.os == "Android":
self.cpp_info.components["libperfetto"].system_libs.append("log")
Update docs (tracing-sdk): https://perfetto.dev/docs/instrumentation/tracing-sdk
Without NOMINMAX i get error
Without WINSOCKAPI i get error
May also require (not sure):
Windows 10, clang-cl
I suppose that tracing-sdk requires system libs similar to pseudo-code below: