summaryrefslogtreecommitdiffstats
path: root/src/fluent-bit/cmake/windows-setup.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/fluent-bit/cmake/windows-setup.cmake')
-rw-r--r--src/fluent-bit/cmake/windows-setup.cmake137
1 files changed, 137 insertions, 0 deletions
diff --git a/src/fluent-bit/cmake/windows-setup.cmake b/src/fluent-bit/cmake/windows-setup.cmake
new file mode 100644
index 000000000..fa67cb0d8
--- /dev/null
+++ b/src/fluent-bit/cmake/windows-setup.cmake
@@ -0,0 +1,137 @@
+# Custom build settings for Windows (MSVC)
+#
+# Not all plugins are supported on Windows yet. This file tweaks
+# the build flags so that we can compile fluent-bit on it.
+
+if(FLB_WINDOWS_DEFAULTS)
+ message(STATUS "Overriding setttings with windows-setup.cmake")
+ set(FLB_REGEX Yes)
+ set(FLB_BACKTRACE No)
+ # LuaJIT does not currently support Windows ARM64 architecture so we disable it for now.
+ # See also: https://github.com/LuaJIT/LuaJIT/issues/593
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(ARM64|AARCH64)")
+ set(FLB_LUAJIT No)
+ else()
+ set(FLB_LUAJIT Yes)
+ endif()
+ set(FLB_EXAMPLES Yes)
+ set(FLB_PARSER Yes)
+ set(FLB_TLS Yes)
+ set(FLB_AWS Yes)
+ set(FLB_HTTP_SERVER Yes)
+ set(FLB_METRICS Yes)
+ if (NOT FLB_LIBYAML_DIR)
+ set(FLB_CONFIG_YAML No)
+ endif ()
+ set(FLB_WASM No)
+ set(FLB_WAMRC No)
+
+ # INPUT plugins
+ # =============
+ set(FLB_IN_CPU No)
+ set(FLB_IN_DISK No)
+ set(FLB_IN_EXEC No)
+ set(FLB_IN_EXEC_WASI No)
+ set(FLB_IN_FORWARD Yes)
+ set(FLB_IN_HEALTH No)
+ set(FLB_IN_HTTP Yes)
+ set(FLB_IN_MEM No)
+ set(FLB_IN_KAFKA No)
+ set(FLB_IN_KMSG No)
+ set(FLB_IN_LIB Yes)
+ set(FLB_IN_RANDOM Yes)
+ set(FLB_IN_SERIAL No)
+ set(FLB_IN_STDIN No)
+ set(FLB_IN_SYSLOG Yes)
+ set(FLB_IN_TAIL Yes)
+ set(FLB_IN_TCP Yes)
+ set(FLB_IN_MQTT No)
+ set(FLB_IN_HEAD No)
+ set(FLB_IN_PROC No)
+ set(FLB_IN_SYSTEMD No)
+ set(FLB_IN_DUMMY Yes)
+ set(FLB_IN_NETIF No)
+ set(FLB_IN_WINLOG Yes)
+ set(FLB_IN_WINSTAT Yes)
+ set(FLB_IN_WINEVTLOG Yes)
+ set(FLB_IN_COLLECTD No)
+ set(FLB_IN_STATSD Yes)
+ set(FLB_IN_STORAGE_BACKLOG Yes)
+ set(FLB_IN_EMITTER Yes)
+ set(FLB_IN_PODMAN_METRICS No)
+ set(FLB_IN_ELASTICSEARCH Yes)
+ set(FLB_IN_SPLUNK Yes)
+
+ # OUTPUT plugins
+ # ==============
+ set(FLB_OUT_AZURE Yes)
+ set(FLB_OUT_AZURE_BLOB Yes)
+ set(FLB_OUT_AZURE_KUSTO Yes)
+ set(FLB_OUT_BIGQUERY No)
+ set(FLB_OUT_COUNTER Yes)
+ set(FLB_OUT_CHRONICLE Yes)
+ set(FLB_OUT_DATADOG Yes)
+ set(FLB_OUT_ES Yes)
+ set(FLB_OUT_EXIT No)
+ set(FLB_OUT_FORWARD Yes)
+ set(FLB_OUT_GELF Yes)
+ set(FLB_OUT_HTTP Yes)
+ set(FLB_OUT_INFLUXDB Yes)
+ set(FLB_OUT_NATS No)
+ set(FLB_OUT_PLOT No)
+ set(FLB_OUT_FILE Yes)
+ set(FLB_OUT_TD No)
+ set(FLB_OUT_RETRY No)
+ set(FLB_OUT_SPLUNK Yes)
+ set(FLB_OUT_STACKDRIVER Yes)
+ set(FLB_OUT_STDOUT Yes)
+ set(FLB_OUT_LIB Yes)
+ set(FLB_OUT_NULL Yes)
+ set(FLB_OUT_FLOWCOUNTER Yes)
+ set(FLB_OUT_KAFKA No)
+ set(FLB_OUT_KAFKA_REST No)
+ set(FLB_OUT_CLOUDWATCH_LOGS Yes)
+ set(FLB_OUT_S3 Yes)
+ set(FLB_OUT_KINESIS_FIREHOSE Yes)
+ set(FLB_OUT_KINESIS_STREAMS Yes)
+
+ # FILTER plugins
+ # ==============
+ set(FLB_FILTER_GREP Yes)
+ set(FLB_FILTER_MODIFY Yes)
+ set(FLB_FILTER_STDOUT Yes)
+ set(FLB_FILTER_PARSER Yes)
+ set(FLB_FILTER_KUBERNETES Yes)
+ set(FLB_FILTER_THROTTLE Yes)
+ set(FLB_FILTER_THROTTLE_SIZE Yes)
+ set(FLB_FILTER_NEST Yes)
+ set(FLB_FILTER_LUA Yes)
+ set(FLB_FILTER_RECORD_MODIFIER Yes)
+ set(FLB_FILTER_REWRITE_TAG Yes)
+ set(FLB_FILTER_GEOIP2 Yes)
+ set(FLB_FILTER_AWS Yes)
+ set(FLB_FILTER_ECS Yes)
+ set(FLB_FILTER_WASM No)
+endif()
+
+# Search bison and flex executables
+find_package(FLEX)
+find_package(BISON)
+
+if (NOT (${FLEX_FOUND} AND ${BISON_FOUND}))
+ message(STATUS "flex and bison not found. Disable stream_processor building.")
+ set(FLB_STREAM_PROCESSOR No)
+ set(FLB_RECORD_ACCESSOR No)
+endif()
+
+if (MSVC)
+ enable_language(RC)
+ # use English language (0x409) in resource compiler
+ set(rc_flags "/l0x409")
+ set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> ${rc_flags} <DEFINES> /fo <OBJECT> <SOURCE>")
+endif()
+
+configure_file(
+${CMAKE_CURRENT_SOURCE_DIR}/cmake/version.rc.in
+${CMAKE_CURRENT_BINARY_DIR}/src/version.rc
+@ONLY)