cmake_minimum_required(VERSION 3.7)

project(dde-preload)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

set(CMAKE_CXX_FLAGS "-g -Wall")
if (NOT (${CMAKE_BUILD_TYPE} MATCHES "Debug"))
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast")
endif ()

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)       #设置可执行文件的输出目录
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build/lib)           #设置库文件的输出目录

find_package(DtkWidget REQUIRED)
find_package(Qt5 COMPONENTS
    Core
    Widgets
    DBus
    Xml
    Svg
REQUIRED)

set(Qt_LIBS
    Qt5::Core
    Qt5::DBus
    Qt5::Widgets
    Qt5::Xml
    Qt5::Svg
)

file(GLOB_RECURSE SOURCES src/*.cpp)
file(GLOB_RECURSE HEADERS src/*.h)
file(GLOB_RECURSE RESOURCES src/*.qrc)

# qt5_add_resources(QRCS ${RESOURCES})
message("project: " ${PROJECT_NAME} " configuration: " ${CMAKE_BUILD_TYPE})

# message("resources files " ${QRCS})

add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS} ${RESOURCES} )

target_include_directories(${PROJECT_NAME} PUBLIC
    ${DtkWidget_INCLUDE_DIRS}
)

target_link_libraries(${PROJECT_NAME}
    ${Qt_LIBS}
    ${DtkWidget_LIBRARIES}
)


file(GLOB_RECURSE TSOURCES test/*.cpp)
file(GLOB_RECURSE THEADERS test/*.h)
file(GLOB_RECURSE TRESOURCES test/*.qrc)
file(GLOB_RECURSE TFORMS test/*.ui)

qt5_wrap_ui(TWFORMS ${TFORMS})
qt5_wrap_cpp(TWSOURCES ${TSOURCES})

add_executable(${PROJECT_NAME}-test ${TSOURCES} ${THEADERS} ${TRESOURCES} ${TFORMS} ${TWFORMS} ${TWSOURCES})


target_include_directories(${PROJECT_NAME}-test PUBLIC ${DtkWidget_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME}-test
    ${Qt_LIBS}
    ${DtkWidget_LIBRARIES}
)
