Настройка CMakeLists.txt (корневой):
cmake_minimum_required(VERSION 3.16)
project(testModalList_qml VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.2 COMPONENTS Quick REQUIRED)
add_subdirectory(TestModel)
qt_add_executable(app${PROJECT_NAME}
main.cpp
qml.qrc
)
# подключить папку с собранными библиотеками (LIB)
target_link_directories(${PROJECT_NAME} PUBLIC
"~/.local/lib/"
)
# подключить папку с собранными заголовочными файлами библиотеки (INCLUDE)
target_include_directories(${PROJECT_NAME} PUBLIC
"~/.local/include/"
)
target_link_libraries(app${PROJECT_NAME}
PRIVATE Qt6::Quick
TestModel
)
install(TARGETS app${PROJECT_NAME}
BUNDLE DESTINATION .
LIBRARY DESTINATION ${ CMAKE_INSTALL_LIBDIR})
Настройка CMakeLists.txt (вложенный):
cmake_minimum_required(VERSION 3.19)
project(TestModel VERSION 0.1 LANGUAGES CXX)
find_package(Qt6 6.5 REQUIRED COMPONENTS Core Quick)
qt_standard_project_setup()
add_library(${PROJECT_NAME}
TestModel.h TestModel.cpp
Test.h Test.cpp
)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt::Core Qt::Quick)
install(TARGETS ${PROJECT_NAME}
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
Истановка в директорию /tmp/123:
cd .../project/
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/tmp/123 ..
make
make install