You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lnav/src/CMakeLists.txt

735 lines
22 KiB
CMake

include(CheckTypeSize)
include(CheckIncludeFile)
include(CheckLibraryExists)
include(CheckFunctionExists)
check_type_size(off_t SIZEOF_OFF_T)
check_include_file("pty.h" HAVE_PTY_H)
check_include_file("util.h" HAVE_UTIL_H)
check_include_file("execinfo.h" HAVE_EXECINFO_H)
set(VCS_PACKAGE_STRING "lnav ${CMAKE_PROJECT_VERSION}")
set(PACKAGE_VERSION "${CMAKE_PROJECT_VERSION}")
configure_file(config.cmake.h.in config.h)
add_subdirectory(base)
add_subdirectory(pcrepp)
add_subdirectory(remote)
add_subdirectory(tailer)
add_subdirectory(formats/logfmt)
add_subdirectory(yajl)
add_subdirectory(yajlpp)
add_executable(bin2c bin2c.hh ../tools/bin2c.c)
target_link_libraries(bin2c ZLIB::ZLIB)
add_executable(ptimec ptimec.hh ptimec.c)
set(TIME_FORMATS
"@%@"
"%Y-%m-%d %H:%M:%S.%f%z"
"%Y-%m-%d %H:%M:%S,%f%z"
"%Y-%m-%d %H:%M:%S.%f %Z"
"%Y-%m-%d %H:%M:%S,%f %Z"
"%Y-%m-%d %H:%M:%S,%L%z"
"%Y-%m-%d %H:%M:%S,%L %z"
"%Y-%m-%d %H:%M:%S.%L%z"
"%Y-%m-%d %H:%M:%S.%L %z"
"%Y-%m-%d %H:%M:%S.%L %Z"
"%Y-%m-%d %H:%M:%S,%L"
"%Y-%m-%d %H:%M:%S.%L"
"%Y-%m-%d %H:%M:%S%z"
"%Y-%m-%d %H:%M:%S %z"
"%Y-%m-%d %H:%M:%S:%L"
"%Y-%m-%d %H:%M:%S"
"%Y-%m-%d %H:%M"
"%Y-%m-%dT%H:%M:%S %p %Z"
"%Y-%m-%dT%H:%M:%S.%N%z"
"%y-%m-%dT%H:%M:%S.%N%z"
"%Y-%m-%dT%H:%M:%S.%f%z"
"%y-%m-%dT%H:%M:%S.%f%z"
"%Y-%m-%dT%H:%M:%S.%L%z"
"%y-%m-%dT%H:%M:%S.%L%z"
"%Y-%m-%dT%H:%M:%S%z"
"%Y-%m-%dT%H:%M:%S%z"
"%Y-%m-%dT%H:%M:%S"
"%Y-%m-%dT%H:%M"
"%Y/%m/%d %H:%M:%S %z"
"%Y/%m/%d %H:%M:%S%z"
"%Y/%m/%d %H:%M:%S.%f%z"
"%Y/%m/%d %H:%M:%S.%f%Z"
"%Y/%m/%d %H:%M:%S.%f %z"
"%Y/%m/%d %H:%M:%S.%f %Z"
"%Y/%m/%d %H:%M:%S.%f"
"%Y/%m/%d %H:%M:%S.%L"
"%Y/%m/%d %H:%M:%S"
"%Y/%m/%d %H:%M"
"%Y %b %d %a %H:%M:%S.%L"
"%Y %b %d %H:%M:%S.%L"
"%Y %b %d %H:%M:%S"
"%a %b %d %H:%M:%S %Y"
"%a %b %d %H:%M:%S.%f %Y"
"%a %b %d %H:%M:%S:%f %Y"
"%a %b %d %H:%M:%S %Z %Y"
"%a %b %d %I:%M:%S %p %Z %Y"
"%a %b %d %H:%M:%S "
"%a %b %d %H:%M:%S.%L "
"%a %b %d %H:%M "
"%a %b %e %H:%M:%S %Z %Y"
"%d/%b/%Y:%H:%M:%S %z"
"%d-%b-%Y %H:%M:%S %z"
"%d-%b-%Y %H:%M:%S %Z"
"%d %b %Y %H:%M:%S"
"%d %b %Y %H:%M:%S.%L%z"
"%d %b %Y %H:%M:%S,%L%z"
"%d %b %Y %H:%M:%S.%L"
"%d %b %Y %H:%M:%S,%L"
"%d %b %Y %H:%M"
"%b-%d %H:%M:%S"
"%b %d %H:%M:%S"
"%b %d %k:%M:%S"
"%b %d %l:%M:%S"
"%b %d %l:%M"
"%b %e, %Y %l:%M:%S %p"
"%b %d, %Y %l:%M:%S %p"
"%m/%d/%Y %I:%M:%S:%L %p %Z"
"%m/%d/%Y %I:%M:%S %p %Z"
"%m/%d/%Y %l:%M:%S %p %Z"
"%m/%d/%Y %I:%M:%S %p%z"
"%m/%d/%Y %l:%M:%S %p%z"
"%m/%e/%Y %l:%M:%S %p%z"
"%m/%e/%Y %l:%M:%S %p %z"
"%m/%e/%Y %I:%M:%S %p"
"%m/%e/%Y %l:%M:%S%p"
"%m/%d/%y %H:%M:%S"
"%m/%d/%Y %H:%M:%S"
"%d/%b/%Y %H:%M:%S"
"%d/%b/%y %H:%M:%S"
"%m%d %H:%M:%S"
"%Y%m%d %H:%M:%S"
"%Y%m%d.%H%M%S"
"%H:%M:%S"
"%H:%M:%S.%f"
"%M:%S"
"%m/%d %H:%M:%S"
"%Y-%m-%d"
"%Y-%m"
"%Y/%m/%d"
"%Y/%m"
"%s.%f"
)
set(GEN_SRCS "")
add_custom_command(OUTPUT time_fmts.cc COMMAND ptimec ${TIME_FORMATS} >
time_fmts.cc)
add_library(lnavdt STATIC config.h.in ptimec.hh ptimec_rt.cc time_fmts.cc)
target_include_directories(lnavdt PUBLIC . ${CMAKE_CURRENT_BINARY_DIR} third-party/date/include)
function(bin2c)
cmake_parse_arguments(BIN2C_ "" "VARNAME" "" ${ARGN})
list(TRANSFORM BIN2C_UNPARSED_ARGUMENTS "\\." "-")
add_custom_command(
OUTPUT "${DST_FILE}.h" "${DST_FILE}.cc"
COMMAND bin2c "${DST_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/${FILE_TO_LINK}"
DEPENDS bin2c "${FILE_TO_LINK}")
endfunction(bin2c)
foreach (FILE_TO_LINK animals.json ansi-palette.json css-color-names.json diseases.json emojis.json xml-entities.json xterm-palette.json help.txt help.md init.sql words.json)
string(REPLACE "." "-" DST_FILE "${FILE_TO_LINK}")
add_custom_command(
OUTPUT "${DST_FILE}.h" "${DST_FILE}.cc"
COMMAND bin2c "${DST_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/${FILE_TO_LINK}"
DEPENDS bin2c "${FILE_TO_LINK}")
list(APPEND GEN_SRCS "${CMAKE_CURRENT_BINARY_DIR}/${DST_FILE}.h"
"${CMAKE_CURRENT_BINARY_DIR}/${DST_FILE}.cc")
endforeach (FILE_TO_LINK)
set(FORMAT_FILES
formats/access_log.json
formats/alb_log.json
formats/block_log.json
formats/candlepin_log.json
formats/choose_repo_log.json
formats/cups_log.json
formats/dpkg_log.json
formats/elb_log.json
formats/engine_log.json
formats/error_log.json
formats/esx_syslog_log.json
formats/fsck_hfs_log.json
formats/glog_log.json
formats/haproxy_log.json
formats/java_log.json
formats/journald_json_log.json
formats/katello_log.json
formats/openam_log.json
formats/openamdb_log.json
formats/openstack_log.json
formats/page_log.json
formats/papertrail_log.json
formats/pcap_log.json
formats/procstate_log.json
formats/snaplogic_log.json
formats/sssd_log.json
formats/strace_log.json
formats/sudo_log.json
formats/syslog_log.json
formats/s3_log.json
formats/tcf_log.json
formats/tcsh_history.json
formats/uwsgi_log.json
formats/vdsm_log.json
formats/vmk_log.json
formats/vmw_log.json
formats/vmw_vc_svc_log.json
formats/vmw_py_log.json
formats/xmlrpc_log.json)
set(FORMAT_FILE_PATHS ${FORMAT_FILES})
list(TRANSFORM FORMAT_FILE_PATHS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/")
add_custom_command(
OUTPUT default-formats.h default-formats.cc
COMMAND bin2c -n lnav_format_json default-formats ${FORMAT_FILE_PATHS}
DEPENDS bin2c ${FORMAT_FILES})
list(APPEND GEN_SRCS default-formats.h default-formats.cc)
set(PRQL_FILES
prql/stats.prql
prql/utils.prql)
set(PRQL_FILE_PATHS ${PRQL_FILES})
list(TRANSFORM PRQL_FILE_PATHS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/")
add_custom_command(
OUTPUT prql-modules.h prql-modules.cc
COMMAND bin2c -n lnav_prql_modules prql-modules ${PRQL_FILE_PATHS}
DEPENDS bin2c ${PRQL_FILES})
list(APPEND GEN_SRCS prql-modules.h prql-modules.cc)
set(CONFIG_FILES
root-config.json
keymaps/de-keymap.json
keymaps/default-keymap.json
keymaps/fr-keymap.json
keymaps/uk-keymap.json
keymaps/us-keymap.json
themes/default-theme.json
themes/grayscale.json
themes/eldar.json
themes/monocai.json
themes/night-owl.json
themes/solarized-dark.json
themes/solarized-light.json)
set(CONFIG_FILE_PATHS ${CONFIG_FILES})
list(TRANSFORM CONFIG_FILE_PATHS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/")
add_custom_command(
OUTPUT default-config.h default-config.cc
COMMAND bin2c -n lnav_config_json default-config ${CONFIG_FILE_PATHS}
DEPENDS bin2c ${CONFIG_FILES})
list(APPEND GEN_SRCS default-config.h default-config.cc)
set(BUILTIN_LNAV_SCRIPTS
scripts/dhclient-summary.lnav
scripts/docker-url-handler.lnav
scripts/journald-url-handler.lnav
scripts/lnav-pop-view.lnav
scripts/partition-by-boot.lnav
scripts/piper-url-handler.lnav
scripts/rename-stdin.lnav
scripts/search-for.lnav
)
set(BUILTIN_LNAV_SCRIPT_PATHS ${BUILTIN_LNAV_SCRIPTS})
list(TRANSFORM BUILTIN_LNAV_SCRIPT_PATHS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/")
add_custom_command(
OUTPUT builtin-scripts.h builtin-scripts.cc
COMMAND bin2c -n lnav_scripts builtin-scripts ${BUILTIN_LNAV_SCRIPT_PATHS}
DEPENDS bin2c ${BUILTIN_LNAV_SCRIPTS})
list(APPEND GEN_SRCS builtin-scripts.h builtin-scripts.cc)
set(BUILTIN_SH_SCRIPTS scripts/com.vmware.btresolver.py scripts/dump-pid.sh scripts/pcap_log-converter.sh)
set(BUILTIN_SH_SCRIPT_PATHS ${BUILTIN_SH_SCRIPTS})
list(TRANSFORM BUILTIN_SH_SCRIPT_PATHS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/")
add_custom_command(
OUTPUT builtin-sh-scripts.h builtin-sh-scripts.cc
COMMAND bin2c -n lnav_sh_scripts builtin-sh-scripts ${BUILTIN_SH_SCRIPT_PATHS}
DEPENDS bin2c ${BUILTIN_SH_SCRIPTS})
list(APPEND GEN_SRCS builtin-sh-scripts.h builtin-sh-scripts.cc)
add_library(
cppfmt STATIC
fmtlib/format.cc
fmtlib/os.cc
fmtlib/fmt/args.h
fmtlib/fmt/chrono.h
fmtlib/fmt/color.h
fmtlib/fmt/compile.h
fmtlib/fmt/core.h
fmtlib/fmt/format-inl.h
fmtlib/fmt/format.h
fmtlib/fmt/locale.h
fmtlib/fmt/os.h
fmtlib/fmt/ostream.h
fmtlib/fmt/printf.h
fmtlib/fmt/ranges.h
fmtlib/fmt/std.h
fmtlib/fmt/xchar.h
)
target_include_directories(cppfmt PUBLIC fmtlib)
add_library(
datepp STATIC
third-party/date/src/tz.cpp
)
target_include_directories(datepp PUBLIC third-party/date/include)
target_link_libraries(datepp ${lnav_LIBS})
add_library(
cppscnlib STATIC
third-party/scnlib/src/reader_float.cpp
third-party/scnlib/src/reader_int.cpp
third-party/scnlib/src/locale.cpp
third-party/scnlib/src/file.cpp
third-party/scnlib/src/vscan.cpp
third-party/scnlib/include/scn/reader/reader.h
third-party/scnlib/include/scn/reader/float.h
third-party/scnlib/include/scn/reader/types.h
third-party/scnlib/include/scn/reader/int.h
third-party/scnlib/include/scn/reader/common.h
third-party/scnlib/include/scn/reader/string.h
third-party/scnlib/include/scn/ranges/custom_impl.h
third-party/scnlib/include/scn/ranges/std_impl.h
third-party/scnlib/include/scn/ranges/ranges.h
third-party/scnlib/include/scn/ranges/util.h
third-party/scnlib/include/scn/fwd.h
third-party/scnlib/include/scn/util/algorithm.h
third-party/scnlib/include/scn/util/small_vector.h
third-party/scnlib/include/scn/util/optional.h
third-party/scnlib/include/scn/util/expected.h
third-party/scnlib/include/scn/util/array.h
third-party/scnlib/include/scn/util/unique_ptr.h
third-party/scnlib/include/scn/util/math.h
third-party/scnlib/include/scn/util/memory.h
third-party/scnlib/include/scn/util/span.h
third-party/scnlib/include/scn/util/meta.h
third-party/scnlib/include/scn/util/string_view.h
third-party/scnlib/include/scn/unicode/unicode.h
third-party/scnlib/include/scn/unicode/common.h
third-party/scnlib/include/scn/unicode/utf16.h
third-party/scnlib/include/scn/unicode/utf8.h
third-party/scnlib/include/scn/all.h
third-party/scnlib/include/scn/tuple_return/tuple_return.h
third-party/scnlib/include/scn/tuple_return/util.h
third-party/scnlib/include/scn/scan/ignore.h
third-party/scnlib/include/scn/scan/getline.h
third-party/scnlib/include/scn/scan/list.h
third-party/scnlib/include/scn/scan/common.h
third-party/scnlib/include/scn/scan/istream.h
third-party/scnlib/include/scn/scan/vscan.h
third-party/scnlib/include/scn/scan/scan.h
third-party/scnlib/include/scn/tuple_return.h
third-party/scnlib/include/scn/detail/error.h
third-party/scnlib/include/scn/detail/fwd.h
third-party/scnlib/include/scn/detail/range.h
third-party/scnlib/include/scn/detail/locale.h
third-party/scnlib/include/scn/detail/config.h
third-party/scnlib/include/scn/detail/file.h
third-party/scnlib/include/scn/detail/context.h
third-party/scnlib/include/scn/detail/result.h
third-party/scnlib/include/scn/detail/visitor.h
third-party/scnlib/include/scn/detail/args.h
third-party/scnlib/include/scn/detail/parse_context.h
third-party/scnlib/include/scn/detail/vectored.h
third-party/scnlib/include/scn/scn.h
third-party/scnlib/include/scn/istream.h
)
target_include_directories(cppscnlib PRIVATE third-party/scnlib/src/deps/fast_float/single_include)
target_include_directories(cppscnlib PUBLIC third-party/scnlib/include)
add_library(
base64 STATIC
third-party/base64/lib/lib.c
third-party/base64/lib/arch/generic/codec.c
third-party/base64/lib/tables/tables.c
)
target_include_directories(base64 PRIVATE third-party/base64/lib)
target_include_directories(base64 PUBLIC third-party/base64/include)
add_library(
spookyhash STATIC
spookyhash/SpookyV2.cpp
)
add_library(lnavfileio STATIC
grep_proc.hh
line_buffer.hh
log_level.hh
piper.looper.cfg.hh
piper.looper.hh
pollable.hh
shared_buffer.hh
grep_proc.cc
line_buffer.cc
log_level.cc
piper.looper.cc
pollable.cc
shared_buffer.cc
)
target_include_directories(lnavfileio PRIVATE . ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(lnavfileio cppfmt spookyhash pcrepp base BZip2::BZip2 ZLIB::ZLIB yajlpp)
add_library(
diag STATIC
${GEN_SRCS}
config.h.in
all_logs_vtab.cc
archive_manager.cc
document.sections.cc
bin2c.hh
bookmarks.cc
bottom_status_source.cc
breadcrumb_curses.cc
collation-functions.cc
column_namer.cc
command_executor.cc
curl_looper.cc
db_sub_source.cc
dump_internals.cc
elem_to_json.cc
environ_vtab.cc
extension-functions.cc
field_overlay_source.cc
file_collection.cc
file_converter_manager.cc
file_format.cc
file_options.cc
file_vtab.cc
files_sub_source.cc
filter_observer.cc
filter_status_source.cc
filter_sub_source.cc
fs-extension-functions.cc
fstat_vtab.cc
fts_fuzzy_match.cc
gantt_source.cc
help_text.cc
help_text_formatter.cc
highlighter.cc
hist_source.cc
hotkeys.cc
input_dispatcher.cc
json-extension-functions.cc
listview_curses.cc
lnav.events.cc
lnav.indexing.cc
lnav.management_cli.cc
lnav_commands.cc
lnav_config.cc
lnav_util.cc
log.annotate.cc
log.watch.cc
log_accel.cc
log_actions.cc
log_data_helper.cc
log_data_table.cc
log_format.cc
log_format_loader.cc
log_search_table.cc
logfile.cc
logfile_sub_source.cc
md2attr_line.cc
md4cpp.cc
network-extension-functions.cc
data_scanner.cc
data_scanner_re.cc
data_parser.cc
file_converter_manager.cc
plain_text_source.cc
pretty_printer.cc
pugixml/pugixml.cpp
readline_callbacks.cc
readline_curses.cc
readline_highlighters.cc
readline_possibilities.cc
regexp_vtab.cc
regex101.client.cc
regex101.import.cc
relative_time.cc
session.export.cc
session_data.cc
sequence_matcher.cc
shlex.cc
sqlite-extension-func.cc
static_file_vtab.cc
statusview_curses.cc
string-extension-functions.cc
sysclip.cc
spectro_impls.cc
spectro_source.cc
sql_commands.cc
sql_util.cc
sqlitepp.cc
state-extension-functions.cc
styling.cc
text_anonymizer.cc
text_format.cc
text_overlay_menu.cc
textfile_highlighters.cc
textfile_sub_source.cc
textview_curses.cc
top_status_source.cc
time-extension-functions.cc
timer.cc
unique_path.cc
unique_path.hh
view_curses.cc
view_helpers.cc
views_vtab.cc
vt52_curses.cc
vtab_module.cc
log_vtab_impl.cc
xml_util.cc
xpath_vtab.cc
xterm_mouse.cc
yaml-extension-functions.cc
third-party/md4c/md4c.c
third-party/sqlite/ext/series.c
third-party/sqlite/ext/dbdump.c
all_logs_vtab.hh
archive_manager.hh
archive_manager.cfg.hh
document.sections.hh
big_array.hh
bookmarks.hh
bookmarks.json.hh
bottom_status_source.hh
bound_tags.hh
breadcrumb.hh
breadcrumb_curses.hh
byte_array.hh
command_executor.hh
column_namer.hh
curl_looper.hh
doc_status_source.hh
dump_internals.hh
elem_to_json.hh
field_overlay_source.hh
file_collection.hh
file_converter_manager.hh
file_format.hh
file_options.hh
files_sub_source.hh
filter_observer.hh
filter_status_source.hh
filter_sub_source.hh
fstat_vtab.hh
fts_fuzzy_match.hh
gantt_source.hh
gantt_status_source.hh
grep_highlighter.hh
hasher.hh
help_text.hh
help_text_formatter.hh
highlighter.hh
hotkeys.hh
input_dispatcher.hh
itertools.similar.hh
k_merge_tree.h
lnav.events.hh
lnav.indexing.hh
lnav.management_cli.hh
lnav_config.hh
lnav_config_fwd.hh
lnav_util.hh
log.annotate.hh
log.annotate.cfg.hh
log.watch.hh
log_actions.hh
log_data_helper.hh
log_data_table.hh
log_format.hh
log_format_ext.hh
log_format_fwd.hh
log_format_impls.cc
log_gutter_source.hh
log_search_table.hh
log_search_table_fwd.hh
logfile_sub_source.cfg.hh
logfile.hh
logfile_fwd.hh
logfile_stats.hh
md2attr_line.hh
md4cpp.hh
file_converter_manager.hh
plain_text_source.hh
pretty_printer.hh
preview_status_source.hh
pugixml/pugiconfig.hpp
pugixml/pugixml.hpp
readline_callbacks.hh
readline_context.hh
readline_possibilities.hh
regex101.client.hh
regex101.import.hh
regexp_vtab.hh
relative_time.hh
styling.hh
ring_span.hh
safe/accessmode.h
safe/defaulttypes.h
safe/mutableref.h
safe/safe.h
session.export.hh
sequence_sink.hh
shlex.hh
shlex.resolver.hh
simdutf8check.h
spectro_impls.hh
spectro_source.hh
sqlitepp.hh
sql_execute.hh
sql_help.hh
sql_util.hh
static_file_vtab.hh
strong_int.hh
sysclip.hh
sysclip.cfg.hh
term_extra.hh
termios_guard.hh
text_anonymizer.hh
text_format.hh
text_overlay_menu.hh
textfile_highlighters.hh
textfile_sub_source.hh
textview_curses.hh
textview_curses_fwd.hh
time_T.hh
timer.hh
top_status_source.hh
url_handler.cfg.hh
url_loader.hh
view_helpers.hh
view_helpers.crumbs.hh
view_helpers.examples.hh
view_helpers.hist.hh
views_vtab.hh
vis_line.hh
vtab_module.hh
vtab_module_json.hh
xml_util.hh
xpath_vtab.hh
mapbox/recursive_wrapper.hpp
mapbox/variant.hpp
mapbox/variant_io.hpp
mapbox/variant_visitor.hpp
ghc/filesystem.hpp
ghc/fs_fwd.hpp
ghc/fs_impl.hpp
ghc/fs_std.hpp
ghc/fs_std_fwd.hpp
ghc/fs_std_impl.hpp
ww898/cp_utf8.hpp
log_level_re.cc
third-party/ArenaAlloc/arenaalloc.h
third-party/ArenaAlloc/arenaallocimpl.h
third-party/CLI/StringTools.hpp
third-party/CLI/App.hpp
third-party/CLI/Macros.hpp
third-party/CLI/Option.hpp
third-party/CLI/Config.hpp
third-party/CLI/CLI.hpp
third-party/CLI/Formatter.hpp
third-party/CLI/Error.hpp
third-party/CLI/Version.hpp
third-party/CLI/Timer.hpp
third-party/CLI/FormatterFwd.hpp
third-party/CLI/Validators.hpp
third-party/CLI/Split.hpp
third-party/CLI/TypeTools.hpp
third-party/CLI/ConfigFwd.hpp
third-party/date/include/date/tz_private.h
third-party/date/include/date/ios.h
third-party/date/include/date/ptz.h
third-party/date/include/date/solar_hijri.h
third-party/date/include/date/date.h
third-party/date/include/date/julian.h
third-party/date/include/date/chrono_io.h
third-party/date/include/date/iso_week.h
third-party/date/include/date/tz.h
third-party/date/include/date/islamic.h
third-party/intervaltree/IntervalTree.h
third-party/md4c/md4c.h
third-party/robin_hood/robin_hood.h
third-party/prqlc-c/prqlc.cxx.hh
third-party/prqlc-c/prqlc.cxx.cc
)
set(lnav_SRCS lnav.cc)
target_include_directories(diag PUBLIC . fmtlib ${CMAKE_CURRENT_BINARY_DIR}
third-party
third-party/base64/include
third-party/date/include
third-party/prqlc-c
third-party/rapidyaml
${CURSES_INCLUDE_DIRS}
)
target_compile_options(diag PRIVATE ${CURSES_CFLAGS})
target_link_libraries(
diag
base
datepp
lnavdt
lnavfileio
pcrepp
tailerservice
tailerpp
tailercommon
logfmt
yajlpp
cppfmt
base64
spookyhash
${lnav_LIBS}
)
target_compile_definitions(diag PRIVATE SQLITE_OMIT_LOAD_EXTENSION)
check_library_exists(util openpty "" HAVE_LIBUTIL)
if (HAVE_LIBUTIL)
target_link_libraries(diag util)
endif ()
add_executable(lnav ${lnav_SRCS})
target_link_libraries(lnav diag)
install(TARGETS lnav DESTINATION bin)