cmake_minimum_required(VERSION 2.8)

project(deepin-event-log-daemon)

# 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")

message("current arch:${CMAKE_SYSTEM_PROCESSOR}")
message("current host arch:${CMAKE_HOST_SYSTEM_PROCESSOR}")

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

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

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

aux_source_directory(./src SRC_LIST)

add_executable(${PROJECT_NAME} ${SRC_LIST})

target_link_libraries(${PROJECT_NAME} libpthread.so libgio-2.0.so libgobject-2.0.so libglib-2.0.so)

install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION /usr/bin/)
install(FILES ${PROJECT_SOURCE_DIR}/configfile/org.deepin.EventLog1.service DESTINATION /usr/share/dbus-1/system-services/)
install(FILES ${PROJECT_SOURCE_DIR}/configfile/org.deepin.EventLog1.conf DESTINATION /usr/share/dbus-1/system.d/)
install(FILES ${PROJECT_SOURCE_DIR}/configfile/event-log.service DESTINATION /lib/systemd/system/)
install(FILES ${PROJECT_SOURCE_DIR}/configfile/org.deepin.EventLog1.policy DESTINATION /usr/share/polkit-1/actions/)
