Пример: консольная программа Qt5
This commit is contained in:
parent
1449df6889
commit
5c992c5e87
32
CMakeLists.txt
Normal file
32
CMakeLists.txt
Normal file
@ -0,0 +1,32 @@
|
||||
# Минимальная версия CMake
|
||||
cmake_minimum_required(VERSION 3.3)
|
||||
|
||||
# Предпочтительно следовать стандартам принятым в указанном диапазоне версий
|
||||
cmake_policy(VERSION 3.0.2..3.7)
|
||||
|
||||
# Название и версия проекта и используемые языки программирования
|
||||
project(myx-cmake-example-qt5-console VERSION 0.2.0 LANGUAGES C CXX)
|
||||
|
||||
###
|
||||
# Обязательные переменные для MyxCMake
|
||||
###
|
||||
# Название организации
|
||||
set(MYX_CMAKE_ORGANIZATION_NAME "Org." CACHE STRING "")
|
||||
|
||||
# Имя автора
|
||||
set(MYX_CMAKE_AUTHOR_NAME "John Doe" CACHE STRING "")
|
||||
|
||||
# Почта автора
|
||||
set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" CACHE STRING "")
|
||||
|
||||
# Краткое описание проекта
|
||||
set(MYX_CMAKE_DESCRIPTION "Пример проекта: консольная программа Qt5" CACHE STRING "")
|
||||
|
||||
find_package(MyxCMake REQUIRED)
|
||||
|
||||
# Qt5
|
||||
find_package(Qt5Core COMPONENTS Private REQUIRED)
|
||||
find_package(Qt5 COMPONENTS Core REQUIRED)
|
||||
|
||||
# Исходные тексты программы
|
||||
add_subdirectory(src/myx-cmake-example-qt5-console)
|
22
src/myx-cmake-example-qt5-console/CMakeLists.txt
Normal file
22
src/myx-cmake-example-qt5-console/CMakeLists.txt
Normal file
@ -0,0 +1,22 @@
|
||||
# Название основной цели и имени программы в текущем каталоге
|
||||
set(TRGT myx-cmake-example-qt5-console)
|
||||
|
||||
# Список файлов исходных текстов
|
||||
set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
|
||||
|
||||
# Функция для создания цели, результатом которой будет сборка приложения
|
||||
add_executable(${TRGT} ${TRGT_cpp})
|
||||
myx_cmake_common_target_properties(${TRGT})
|
||||
|
||||
# Qt5: подключение заголовочных файлов
|
||||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
|
||||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_PRIVATE_INCLUDE_DIRS})
|
||||
|
||||
# Qt5: подключение библиотек
|
||||
target_link_libraries(${TRGT} Qt5::Core)
|
||||
|
||||
# Имя выходного файла для цели
|
||||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME ${TRGT})
|
||||
|
||||
# Правила для установки
|
||||
install(TARGETS ${TRGT} COMPONENT main RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
13
src/myx-cmake-example-qt5-console/main.cpp
Normal file
13
src/myx-cmake-example-qt5-console/main.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QtCore/private/minimum-linux_p.h>
|
||||
|
||||
int main( int argc, char** argv )
|
||||
{
|
||||
QCoreApplication app( argc, argv );
|
||||
|
||||
qDebug() << "Qt5";
|
||||
qDebug() << "Min Linux: " << MINLINUX_MAJOR << "." << MINLINUX_MINOR << "." << MINLINUX_PATCH;
|
||||
|
||||
return( 0 );
|
||||
}
|
Loading…
Reference in New Issue
Block a user