diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..025ff4d --- /dev/null +++ b/CMakeLists.txt @@ -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) diff --git a/src/myx-cmake-example-qt5-console/CMakeLists.txt b/src/myx-cmake-example-qt5-console/CMakeLists.txt new file mode 100644 index 0000000..2796196 --- /dev/null +++ b/src/myx-cmake-example-qt5-console/CMakeLists.txt @@ -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}) diff --git a/src/myx-cmake-example-qt5-console/main.cpp b/src/myx-cmake-example-qt5-console/main.cpp new file mode 100644 index 0000000..86796af --- /dev/null +++ b/src/myx-cmake-example-qt5-console/main.cpp @@ -0,0 +1,13 @@ +#include +#include +#include + +int main( int argc, char** argv ) +{ + QCoreApplication app( argc, argv ); + + qDebug() << "Qt5"; + qDebug() << "Min Linux: " << MINLINUX_MAJOR << "." << MINLINUX_MINOR << "." << MINLINUX_PATCH; + + return( 0 ); +}