2022-10-27 17:58:52 +08:00
|
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
|
|
|
|
|
|
set(MAAT_FRAME_MAJOR_VERSION 4)
|
|
|
|
|
set(MAAT_FRAME_MINOR_VERSION 0)
|
|
|
|
|
set(MAAT_FRAME_PATCH_VERSION 0)
|
|
|
|
|
set(MAAT_FRAME_VERSION ${MAAT_FRAME_MAJOR_VERSION}.${MAAT_FRAME_MINOR_VERSION}.${MAAT_FRAME_PATCH_VERSION})
|
|
|
|
|
|
|
|
|
|
message(STATUS "Maat Frame, Version: ${MAAT_FRAME_VERSION}")
|
|
|
|
|
|
2023-02-16 17:45:18 +08:00
|
|
|
LINK_DIRECTORIES(/opt/MESA/lib /usr/lib64)
|
|
|
|
|
|
2023-02-15 11:53:46 +08:00
|
|
|
add_definitions(-D_GNU_SOURCE)
|
2022-10-27 17:58:52 +08:00
|
|
|
add_definitions(-fPIC)
|
2023-02-15 11:53:46 +08:00
|
|
|
set(MAAT_SRC alignment.c json2iris.c maat_api.c rcu_hash.c maat_garbage_collection.c maat_config_monitor.c
|
|
|
|
|
maat_rule.c maat_kv.c maat_ex_data.c maat_utils.c maat_command.c maat_redis_monitor.c
|
|
|
|
|
maat_table.c maat_compile.c maat_group.c maat_ip.c maat_flag.c maat_interval.c
|
2023-02-24 17:29:38 +08:00
|
|
|
maat_expr.c maat_fqdn.c maat_port.c maat_plugin.c maat_ip_plugin.c maat_bool_plugin.c
|
2023-02-15 11:53:46 +08:00
|
|
|
maat_fqdn_plugin.c maat_virtual.c)
|
2022-11-25 16:32:29 +08:00
|
|
|
|
|
|
|
|
set(LIB_SOURCE_FILES
|
2022-12-09 17:12:18 +08:00
|
|
|
${PROJECT_SOURCE_DIR}/deps/cJSON/cJSON.c ${PROJECT_SOURCE_DIR}/deps/log/log.c)
|
2022-11-25 16:32:29 +08:00
|
|
|
|
2023-02-16 17:45:18 +08:00
|
|
|
include_directories(/opt/MESA/include/MESA/)
|
2022-10-27 17:58:52 +08:00
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/include/)
|
2022-11-17 05:05:35 +08:00
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/deps/)
|
2022-11-25 16:32:29 +08:00
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/scanner)
|
2023-03-01 09:32:36 +08:00
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/scanner/adapter_hs)
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/scanner/fqdn_engine)
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/scanner/bool_matcher)
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/scanner/ip_matcher)
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/scanner/flag_matcher)
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/scanner/interval_matcher)
|
2022-11-17 05:05:35 +08:00
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/src/inc_internal)
|
2022-10-27 17:58:52 +08:00
|
|
|
|
|
|
|
|
# Static Library Output
|
2022-11-25 16:32:29 +08:00
|
|
|
add_library(maat_frame_static STATIC ${MAAT_SRC} ${LIB_SOURCE_FILES})
|
2022-10-27 17:58:52 +08:00
|
|
|
set_target_properties(maat_frame_static PROPERTIES LINKER_LANGUAGE CXX)
|
2023-03-22 11:25:34 +08:00
|
|
|
set_target_properties(maat_frame_static PROPERTIES OUTPUT_NAME maat4)
|
2022-10-27 17:58:52 +08:00
|
|
|
set_target_properties(maat_frame_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
|
|
|
|
|
2023-02-15 11:53:46 +08:00
|
|
|
target_link_libraries(maat_frame_static hiredis-static ${MAAT_DEPEND_DYN_LIB})
|
|
|
|
|
target_link_libraries(maat_frame_static igraph-static)
|
|
|
|
|
target_link_libraries(maat_frame_static adapter-static)
|
2022-11-25 16:32:29 +08:00
|
|
|
|
2022-10-27 17:58:52 +08:00
|
|
|
# Shared Library Output
|
2023-02-15 11:53:46 +08:00
|
|
|
add_library(maat_frame_shared SHARED ${MAAT_SRC} ${LIB_SOURCE_FILES})
|
|
|
|
|
set_target_properties(maat_frame_shared PROPERTIES LINKER_LANGUAGE CXX)
|
2023-03-22 11:25:34 +08:00
|
|
|
set_target_properties(maat_frame_shared PROPERTIES OUTPUT_NAME maat4)
|
2023-02-15 11:53:46 +08:00
|
|
|
set_target_properties(maat_frame_shared PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
|
|
|
|
set_target_properties(maat_frame_shared PROPERTIES VERSION ${MAAT_FRAME_MAJOR_VERSION}.${MAAT_FRAME_MINOR_VERSION})
|
|
|
|
|
set_target_properties(maat_frame_shared PROPERTIES SOVERSION ${MAAT_FRAME_MAJOR_VERSION})
|
|
|
|
|
set_target_properties(maat_frame_shared PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/version.map")
|
|
|
|
|
|
|
|
|
|
target_link_libraries(maat_frame_shared hiredis-static ${MAAT_DEPEND_DYN_LIB})
|
|
|
|
|
target_link_libraries(maat_frame_shared igraph-static ${MAAT_DEPEND_DYN_LIB})
|
|
|
|
|
target_link_libraries(maat_frame_shared adapter-static)
|
2022-10-27 17:58:52 +08:00
|
|
|
|
|
|
|
|
# install
|
|
|
|
|
set(CMAKE_INSTALL_PREFIX /opt/MESA/)
|
2023-02-15 11:53:46 +08:00
|
|
|
install(FILES ${PROJECT_SOURCE_DIR}/include/maat.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA/ COMPONENT HEADER)
|
|
|
|
|
install(TARGETS maat_frame_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ COMPONENT LIBRARIES)
|