[build] test out the hunter package manager

pull/672/head
Timothy Stack 5 years ago
parent 76edd2a9d1
commit 325e4a15d9

@ -1,17 +1,51 @@
cmake_minimum_required (VERSION 2.6)
SET(CMAKE_CXX_STANDARD 14)
project (lnav)
cmake_minimum_required(VERSION 3.2)
include("cmake/HunterGate.cmake")
HunterGate(
URL "https://github.com/ruslo/hunter/archive/v0.23.202.tar.gz"
SHA1 "931b1cb6b36a7a96948d2cfc8ec5e553bf3160f3"
)
set(CMAKE_CXX_STANDARD 14)
project(lnav
VERSION 0.8.6
HOMEPAGE_URL https://lnav.org)
include(CTest)
hunter_add_package(libpcre)
find_package(libpcre CONFIG REQUIRED)
find_package(libpcrecpp CONFIG REQUIRED)
hunter_add_package(BZip2)
find_package(BZip2 CONFIG REQUIRED)
hunter_add_package(sqlite3)
find_package(sqlite3 CONFIG REQUIRED)
hunter_add_package(ZLIB)
find_package(ZLIB REQUIRED)
hunter_add_package(CURL)
find_package(CURL CONFIG REQUIRED)
hunter_add_package(ncursesw)
find_package(ncursesw CONFIG REQUIRED)
hunter_add_package(readline)
find_package(readline REQUIRED)
set(lnav_LIBS
/usr/lib/libz.dylib
/usr/lib/libbz2.dylib
/usr/local/opt/sqlite/lib/libsqlite3.a
/usr/local/opt/pcre/lib/libpcre.a
/usr/local/opt/pcre/lib/libpcrecpp.a
/usr/local/opt/readline/lib/libreadline.a
/usr/local/opt/ncurses/lib/libncurses.a)
ZLIB::zlib
BZip2::bz2
sqlite3::sqlite3
PkgConfig::libpcre
PkgConfig::libpcrecpp
CURL::libcurl
readline::readline
readline::history
PkgConfig::ncursesw)
add_subdirectory(src)
add_subdirectory(test)

@ -1,6 +1,168 @@
add_executable(bin2c bin2c.h bin2c.c)
add_executable(ptimec ptimec.hh ptimec.cc)
set(TIME_FORMATS
"@%@"
"%Y-%m-%d %H:%M:%S"
"%Y-%m-%d %H:%M:%S%z"
"%Y-%m-%d %H:%M:%S %z"
"%Y-%m-%d %H:%M"
"%Y-%m-%dT%H:%M:%S.%f%z"
"%y-%m-%dT%H:%M:%S.%f%z"
"%Y-%m-%dT%H:%M:%SZ"
"%Y-%m-%dT%H:%M:%S%z"
"%Y-%m-%dT%H:%M:%S"
"%Y-%m-%dT%H:%M:%S%z"
"%Y/%m/%d %H:%M:%S"
"%Y/%m/%d %H:%M:%S %z"
"%Y/%m/%d %H:%M:%S%z"
"%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 %Z %Y"
"%a %b %d %H:%M:%S "
"%a %b %d %H:%M:%S.%L "
"%d/%b/%Y:%H:%M:%S +0000"
"%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"
"%d %b %Y %H:%M:%S,%L"
"%b %d %H:%M:%S"
"%b %d %k:%M:%S"
"%b %d %l:%M:%S"
"%b %e, %Y %l:%M:%S %p"
"%m/%d/%y %H:%M:%S"
"%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/%e/%Y %I:%M:%S %p"
"%m/%e/%Y %l:%M:%S %p"
"%d/%b/%y %H:%M:%S"
"%m%d %H:%M:%S"
"%H:%M:%S"
"%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
)
list(APPEND GEN_SRCS time_fmts.cc)
function(bin2c)
cmake_parse_arguments(
BIN2C_
""
"VARNAME"
""
${ARGN}
)
list(TRANSFORM BIN2C_UNPARSED_ARGUMENTS "\\." "-")
add_custom_command(
OUTPUT "${DST_FILE}.h" "${DST_FILE}.c"
COMMAND bin2c "${DST_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/${FILE_TO_LINK}"
DEPENDS bin2c "${FILE_TO_LINK}"
)
endfunction(bin2c)
foreach(FILE_TO_LINK
ansi-palette.json
xterm-palette.json
default-log-formats.json
help.txt
init.sql)
string(REPLACE "." "-" DST_FILE "${FILE_TO_LINK}")
add_custom_command(
OUTPUT "${DST_FILE}.h" "${DST_FILE}.c"
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}.c"
)
endforeach(FILE_TO_LINK)
set(CONFIG_FILES
root-config.json
keymaps/default-keymap.json
themes/default-theme.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.c
COMMAND bin2c -n lnav_config_json default-config ${CONFIG_FILE_PATHS}
DEPENDS bin2c ${CONFIG_FILES}
)
list(APPEND GEN_SRCS default-config.h default-config.c)
set(BUILTIN_LNAV_SCRIPTS
scripts/dhclient-summary.lnav
scripts/lnav-pop-view.lnav
scripts/partition-by-boot.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.c
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.c)
set(BUILTIN_SH_SCRIPTS
scripts/dhclient-summary.lnav
scripts/lnav-pop-view.lnav
scripts/partition-by-boot.lnav
scripts/search-for.lnav)
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.c
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.c)
add_library(diag STATIC
${GEN_SRCS}
ansi_scrubber.cc
bin2c.h
bookmarks.cc
bottom_status_source.cc
collation-functions.cc
@ -44,6 +206,7 @@ add_library(diag STATIC
logfile_sub_source.cc
network-extension-functions.cc
data_scanner.cc
data_scanner_re.cc
data_parser.cc
papertrail_proc.cc
ptimec_rt.cc
@ -204,27 +367,21 @@ add_library(diag STATIC
log_level_re.cc
../../lbuild-debug/src/config.h
../../lbuild-debug/src/time_fmts.cc
../../lbuild-debug/src/default-config.c
../../lbuild-debug/src/ansi-palette-json.c
../../lbuild-debug/src/xterm-palette-json.c
)
set(lnav_SRCS lnav.cc)
include_directories(
target_include_directories(
diag
PUBLIC
../../lbuild-debug/src
/opt/local/include
/usr/local/opt/sqlite3/include
/usr/local/opt/pcre/include
/usr/local/opt/readline/include
/usr/local/opt/ncurses/include
.
fmtlib
)
include_directories(SYSTEM .)
add_executable(lnav ${lnav_SRCS})
target_link_libraries(lnav
diag
${lnav_LIBS})
target_link_libraries(diag ${lnav_LIBS})
add_executable(bin2c bin2c.c)
add_executable(lnav ${lnav_SRCS})
target_link_libraries(lnav diag)

@ -44,7 +44,8 @@
#elif HAVE_PCRE_PCRE_H
#include <pcre/pcre.h>
#else
#error "pcre.h not found?"
#include <pcre.h>
// #error "pcre.h not found?"
#endif
#include <string.h>

@ -1,4 +1,6 @@
enable_testing()
include_directories(
../../lbuild-debug/src
../src/
@ -10,8 +12,11 @@ include_directories(
add_executable(lnav_doctests
lnav_doctests.cc)
add_test(NAME lnav_doctests COMMAND lnav_doctests)
target_link_libraries(lnav_doctests diag ${lnav_LIBS})
add_executable(test_pcrepp test_pcrepp.cc ../src/base/lnav_log.cc ../src/pcrepp/pcrepp.cc)
add_test(NAME test_pcrepp COMMAND test_pcrepp)
add_executable(test_line_buffer2
test_line_buffer2.cc
../src/base/lnav_log.cc
@ -22,31 +27,19 @@ add_executable(test_line_buffer2
../src/line_buffer.hh
../src/line_buffer.cc)
target_link_libraries(test_line_buffer2
bz2
z)
add_executable(test_reltime test_reltime.cc
../src/relative_time.cc
../src/pcrepp/pcrepp.cc
../src/base/lnav_log.cc)
add_executable(test_date_time_scanner test_date_time_scanner.cc
../src/lnav_util.cc
../../lbuild-debug/src/time_fmts.cc
../src/ptimec_rt.cc
../src/pcrepp/pcrepp.cc
../src/base/lnav_log.cc
../src/spookyhash/SpookyV2.cpp)
add_executable(test_abbrev test_abbrev.cc
../src/lnav_util.cc
../../lbuild-debug/src/time_fmts.cc
../src/ptimec_rt.cc
../src/pcrepp/pcrepp.cc
../src/base/lnav_log.cc
../src/spookyhash/SpookyV2.cpp)
add_executable(drive_sql_anno drive_sql_anno.cc ../src/base/lnav_log.cc ../src/pcrepp/pcrepp.cc)
BZip2::bz2
ZLIB::zlib)
add_executable(test_reltime test_reltime.cc)
target_link_libraries(test_reltime diag)
add_executable(test_date_time_scanner test_date_time_scanner.cc)
target_link_libraries(test_date_time_scanner diag)
add_executable(test_abbrev test_abbrev.cc)
target_link_libraries(test_abbrev diag)
add_executable(drive_sql_anno drive_sql_anno.cc)
link_directories(/opt/local/lib)
target_link_libraries(test_pcrepp /usr/local/lib/libpcre.a)
target_link_libraries(test_reltime /usr/local/lib/libpcre.a)
target_link_libraries(lnav_doctests /usr/local/lib/libpcre.a)
target_link_libraries(test_date_time_scanner /usr/local/lib/libpcre.a)
target_link_libraries(test_abbrev /usr/local/lib/libpcre.a)
target_link_libraries(drive_sql_anno /usr/local/lib/libpcre.a)
target_link_libraries(test_pcrepp PkgConfig::libpcre)
target_link_libraries(test_reltime PkgConfig::libpcre)
target_link_libraries(lnav_doctests PkgConfig::libpcre)
target_link_libraries(test_date_time_scanner PkgConfig::libpcre)
target_link_libraries(test_abbrev PkgConfig::libpcre)
target_link_libraries(drive_sql_anno PkgConfig::libpcre diag)

Loading…
Cancel
Save