51 lines
1.8 KiB
CMake
51 lines
1.8 KiB
CMake
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
|
|
project(zeek-client)
|
|
|
|
set(ZEEK_BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin)
|
|
|
|
# Define the default config file location.
|
|
set(ZEEK_CLIENT_CONFIG_FILE "${ZEEK_ETC_INSTALL_DIR}/zeek-client.cfg")
|
|
|
|
if ( NOT PY_MOD_INSTALL_DIR )
|
|
# This is not a Zeek-bundled install. Default to "home"-style install.
|
|
set(PY_MOD_INSTALL_DIR lib/python)
|
|
endif ()
|
|
|
|
# Install zeek-client with updated content:
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/zeek-client
|
|
${CMAKE_CURRENT_BINARY_DIR}/zeek-client @ONLY)
|
|
install(DIRECTORY DESTINATION bin)
|
|
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/zeek-client DESTINATION bin)
|
|
|
|
# Install the Python module tree. Use a pattern match to avoid installing any
|
|
# .pyc or __pycache__ files that might reside in the directory due to local
|
|
# unit-testing.
|
|
install(DIRECTORY DESTINATION ${PY_MOD_INSTALL_DIR})
|
|
install(DIRECTORY zeekclient DESTINATION ${PY_MOD_INSTALL_DIR}
|
|
FILES_MATCHING PATTERN "zeekclient/*.py"
|
|
PATTERN "__pycache__" EXCLUDE)
|
|
|
|
# Install the constants file with updated content:
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/zeekclient/consts.py
|
|
${CMAKE_CURRENT_BINARY_DIR}/zeekclient/consts.py @ONLY)
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zeekclient/consts.py
|
|
DESTINATION ${PY_MOD_INSTALL_DIR}/zeekclient)
|
|
|
|
# This mirrors what we do in zkg:
|
|
if ( NOT ZEEK_MAN_INSTALL_PATH )
|
|
set(ZEEK_MAN_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/man)
|
|
endif ()
|
|
|
|
install(FILES man/zeek-client.1 DESTINATION ${ZEEK_MAN_INSTALL_PATH}/man1)
|
|
|
|
message(
|
|
"\n==================| zeek-client Build Summary |==============="
|
|
"\n"
|
|
"\nInstall prefix: ${CMAKE_INSTALL_PREFIX}"
|
|
"\nPython module path: ${PY_MOD_INSTALL_DIR}"
|
|
"\n"
|
|
"\n================================================================\n"
|
|
)
|