cmake_minimum_required(VERSION 2.8)

project(deepin-event-log)

# find_program(CMAKE_CXX_CPPCHECK NAMES cppcheck)
# if(CMAKE_CXX_CPPCHECK)
#     list(
#         APPEND CMAKE_CXX_CPPCHECK
#         "--enable=warning,style"
#         "--inconclusive"
#         "--template=gcc"
#         "--language=c++"
#         "--std=c++11"
#         ${CMAKE_CXX_CPPCHECK}/src
#         )
# endif()

message("current build type:${CMAKE_BUILD_TYPE}")
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
    set(GLIBPREFIX "x86_64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
    set(GLIBPREFIX "aarch64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64")
    set(GLIBPREFIX "mips64el")
    set(GLIBSUFFIX "abi64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "sw_64")
    set(GLIBPREFIX "sw_64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64")
    set(GLIBPREFIX "loongarch64")
else()
    set(GLIBPREFIX "i386")
endif()

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -z now -z noexecstack -D_FORTIFY_SOURCE=2 -fstack-protector-all -pie -fPIC -z lazy")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -z now -z noexecstack -D_FORTIFY_SOURCE=2 -fstack-protector-all -pie -fPIC -z lazy")

include_directories(${PROJECT_SOURCE_DIR}/../include /usr/include/glib-2.0 /usr/lib/${GLIBPREFIX}-linux-gnu${GLIBSUFFIX}/glib-2.0/include /usr/include/gio-unix-2.0)

include_directories(${PROJECT_SOURCE_DIR}/../include)

#link_directories(${PROJECT_SOURCE_DIR}/../lib)

aux_source_directory(./src SRC_LIST)

add_library(${PROJECT_NAME} SHARED ${SRC_LIST})

target_link_libraries(${PROJECT_NAME} libgio-2.0.so libgobject-2.0.so libglib-2.0.so libpthread.so)
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION /usr/lib/)
