# Устанавливаем переменную TARGET равной имени проекта, # чтобы потом везде подставлять set (TARGET CfgReader) # Задаем имя проекта project (${TARGET}) # Qt-шное барахло для запуска метообъектного компилятора # сборки ресурсов и генерации кода UI при работе с формами set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) # Путь, куда надо сложить собранное set (LIBRARY_OUTPUT_PATH "../../lib") # Указываем не добавлять к имени бинарника никаких префиксов set (CMAKE_SHARED_LIBRARY_PREFIX "") # Опеределяем дефайн CFG_READER_LIB для корректного # экспорта и импорта слассов из DLL add_definitions(-DCFG_READER_LIB) # Ищем зависимости Qt6 find_package(Qt6 COMPONENTS Xml REQUIRED) # Пути к заголовкам и сорцам file (GLOB INCLUDES "./include/*.h") file (GLOB SOURCES "./src/*.cpp") # Компиляция библиотеке add_library (${TARGET} SHARED ${SOURCES} ${INCLUDES}) # Указываем пути поиска заголовков target_include_directories (${TARGET} PRIVATE ./include/) # Компонуемся с библиотеками Qt6 target_link_libraries (${TARGET} Qt6::Xml) #if (WIN32) install(TARGETS ${TARGET} EXPORT ${TARGET}Targets FILE_SET HEADERS LIBRARY DESTINATION sdk/lib ARCHIVE DESTINATION sdk/lib RUNTIME DESTINATION bin INCLUDES DESTINATION sdk/include) include(CMakePackageConfigHelpers) write_basic_package_version_file( "${TARGET}ConfigVersion.cmake" VERSION ${CMAKE_PROJECT_VERSION} COMPATIBILITY AnyNewerVersion) install(EXPORT ${TARGET}Targets FILE ${TARGET}Targets.cmake DESTINATION sdk/lib/cmake/${TARGET}) install(FILES "${TARGET}Config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}ConfigVersion.cmake" DESTINATION sdk/lib/cmake/${TARGET}) install(FILES ${INCLUDES} DESTINATION sdk/include) #else() #endif()