This commit is contained in:
Andrei Astafev 2020-04-14 12:31:39 +03:00
parent 8a4866ce9f
commit 3a2222cde3

View File

@ -266,6 +266,10 @@ set(CPACK_SOURCE_IGNORE_FILES
"\\\\.swp$")
----
ifndef::backend-pdf[]
<<<
endif::[]
Произведённые изменения можно зафиксировать:
[source,sh]
@ -419,6 +423,7 @@ add_subdirectory(cmake/doc)
add_dependencies(cmlib-example create_auxilary_symlinks)
----
<<<
В подкаталоге `src/cmlib-example` нужно создать файл `CMakeLists.txt`:
@ -460,6 +465,7 @@ install(FILES ${TRGT_hpp} COMPONENT DEV DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/
install(FILES ${CMAKE_BINARY_DIR}/${TRGT}.pc COMPONENT DEV DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
----
<<<
файл `init.hpp`:
@ -508,6 +514,8 @@ int32_t cmlib_example_init(int32_t i = 0)
git clone --recursive https://git.246060.ru/f1x1t/cmlib-example-app
----
<<<
В файл `CMakeLists.txt`, находящийся в корневом каталоге проекта, нужно добавить:
[source,cmake]
@ -559,6 +567,8 @@ set_target_properties(${TRGT}
install(TARGETS ${TRGT} COMPONENT MAIN RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
----
<<<
и файл `main.cpp`:
[source,cpp]
@ -656,6 +666,8 @@ target_include_directories(${TRGT} PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/
target_link_libraries(${TRGT} ${CMAKE_BINARY_DIR}/lib/libcmlib-example.a)
----
<<<
Для проверки работоспособности в файле `src/cmlib-example/main.cpp` нужно
вызвать функцию `cmlib_example_init` из библиотеки, предоставляемой внешним
проектом. Например, можно заменить его содержимое на:
@ -708,6 +720,8 @@ git submodule update --init --recursive
В файлах `CMakeLists.txt` и `src/cmlib-example/CMakeLists.txt` нужно
заменить все строки `cmlib-example` на `cmlib-example-app-qt5-con`.
<<<
В файл `CMakeLists.txt`, находящийся в корневом каталоге проекта,
перед функциями `add_subdirectories` нужно добавить:
@ -760,6 +774,8 @@ target_link_libraries(${TRGT} myx-qt myx-filesystem myx-base)
find_package(Qt5 COMPONENTS Core REQUIRED)
----
<<<
В файл `src/cmlib-example/CMakeLists.txt` перед вызовом функции
`add_executable` добавить строки:
@ -810,6 +826,7 @@ target_include_directories(${TRGT} PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/
target_link_libraries(${TRGT} myx-qt myx-filesystem myx-base)
----
<<<
Для проверки работоспособности подключения Qt5 файл
`src/cmlib-example/main.cpp` нужно заменить на:
@ -887,6 +904,8 @@ git clone --recursive https://git.246060.ru/f1x1t/cmlib-example-app-qt5-gui
wget https://git.246060.ru/f1x1t/cmlib-example-app-qt5-gui/raw/branch/master/files/data/icon.png
----
<<<
Для графического приложения нужно создать файл описания интерфейса
`src/cmlib-example/test_window.ui`:
@ -928,6 +947,8 @@ wget https://git.246060.ru/f1x1t/cmlib-example-app-qt5-gui/raw/branch/master/fil
</ui>
----
<<<
заголовочный файл `src/cmlib-example/test_window.hpp`:
[source,cpp]
@ -968,6 +989,8 @@ TestWindow::TestWindow(QMainWindow* parent) :
TestWindow::~TestWindow() = default;
----
<<<
Для отображения графического окна нужно заменить файл
`src/cmlib-examples/main.cpp` на:
@ -1105,3 +1128,4 @@ target_link_libraries(${TRGT} Qt5::Core Qt5::Gui Qt5::Widgets)
После сохранения файла переводов проект нужно пересобрать, файл
переводов в скомпилированном виде будет встроен в исполняемый файл.