CMakeLists.txt 1.1 KB
cmake_minimum_required(VERSION 3.12)
LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/submodules/cmake)

include(projectheader)
project_header(qcalpi)

find_package( Qt5Core       REQUIRED )
find_package( Qt5Gui        REQUIRED )
find_package( Qt5Widgets    REQUIRED )

include_directories( SYSTEM
    ${Qt5Core_INCLUDE_DIRS}
    ${Qt5Gui_INCLUDE_DIRS}
    ${Qt5Widgets_INCLUDE_DIRS}
)

include(compiler)

set(SRC_LIST
    ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/CalcPi.cpp
)

include(qtuic)
create_ui(SRC_LIST UIC_LIST
    ${CMAKE_CURRENT_SOURCE_DIR}/CalcPiForm.ui
)

include(qtmoc)
create_mocs( SRC_LIST MOC_LIST
    ${CMAKE_CURRENT_SOURCE_DIR}/CalcPi.h
)

add_executable( ${PROJECT_NAME}
    ${SRC_LIST}
)

target_link_libraries(
    ${PROJECT_NAME}
    ${Qt5Core_LIBRARIES}
    ${Qt5Gui_LIBRARIES}
    ${Qt5Widgets_LIBRARIES}
)

set_target_properties( ${PROJECT_NAME} PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
    ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/archive
)

include(installation)
install_application()