cmake_minimum_required(VERSION 3.18)

set(PROJECT_NAME deepin-update-ui)
project(${PROJECT_NAME})

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_FLAGS "-g -Wall")
set(QT_VERSION_MAJOR 6)

# 增加安全编译参数
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector-all -fPIC")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector-all -fPIC")
set(CMAKE_EXE_LINKER_FLAGS  "-z relro -z now -z noexecstack -pie")
add_compile_options(-fPIC)

if (DEFINED ENABLE_MIEEE)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mieee")
endif()

# Install settings
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
    set(CMAKE_INSTALL_PREFIX /usr)
endif ()

if (NOT (${CMAKE_BUILD_TYPE} MATCHES "Debug"))
    # generate qm
    execute_process(COMMAND bash "translate_generation.sh"
                    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
endif ()
#file(GLOB TS_FILES "translations/*.ts")
#qt5_add_translation(QM_FILES ${TS_FILES})
file(GLOB QM_FILES "translations/*.qm")
install(FILES ${QM_FILES} DESTINATION share/${PROJECT_NAME}/translations)
#function(generation_dbus_adaptor xml class_name class_file option)
#    execute_process(COMMAND qdbusxml2cpp ${option} -a ${class_file} -c ${class_name} ${xml}
#    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
#endfunction(generation_dbus_adaptor)

include_directories(
    ${CMAKE_SOURCE_DIR}/src
)

add_subdirectory("src/dde-update")
add_subdirectory("src/dde-abrecovery")
add_subdirectory("src/dcc-update-plugin")

