Skip to content
This repository has been archived by the owner on Jul 15, 2021. It is now read-only.

[FR] 2.1 Créer le projet (Partie 1) : création de plugin

Feldrise edited this page Dec 7, 2018 · 3 revisions

Créer le projet (Partie 1) : création de plugin

Obtenir l'API de Sielo

Pour créer votre plugin, il vous faudra avoir accès à l'API de Sielo et la link dans votre projet. Pour l'instant, le seul moyen de faire cela consiste à compiler Sielo vous même.

Création du projet

Lorsqu'on créer le projet, il faut au minimum link l'API de Sielo (le projet "Core". C'est la seul obligation, est donc d'ajouter les include de Sielo et d'y mettre la lib. Il faudra aussi link Qt et d'autre lib en fonction du système de build que vous utilisez. Je donnerais ici un exemple avec CMake puis avec QMake

Le plus simple reste évidement de télécharger les sources du plugin de démo et de l'utiliser comme base du projet. Vous n'aurez qu'à modifier le fichier "user-config.cmake" avec ce dont vous avez besoin et créer de nouveaux fichiers dans les dossiers includes et sources.

Avec CMake

cmake_minimum_required(VERSION 3.6)
project(my-plugin)
 
# Set paths 
set(CMAKE_PREFIX_PATH C:/Qt/5.11.2/msvc2017_64/) # <Set Path to Qt>
set(SIELO_DIR C:/Users/victo/Documents/Cpp/CLion/sielo-browser) # <Set Path to Sielo>
set(SIELO_LIBS_DIR C:/Users/victo/Documents/Cpp/CLion/sielo-browser/vs2017/lib/Debug/) # <Set Path where Sielo libs are built>
 
# Add Sielo's include
include_directories(${SIELO_DIR}/Core)
include_directories(${CMAKE_SOURCE_DIR}/includes)
 
# Add Sielo's lib
link_directories(${SIELO_LIBS_DIR})
 
# Set some standards 
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
 
# Add source files
file(
    GLOB_RECURSE
    SOURCE_FILES
    includes/*.hpp
    sources/*.cpp
)
 
# Add Qt resources files 
file(
    GLOB_RECURSE
    QRC_FILE
    *.qrc
)
 
# Find Qt
find_package(Qt5Widgets 5.11.2 REQUIRED)
find_package(Qt5WebEngine 5.11.2 REQUIRED)
find_package(Qt5Sql 5.11.2 REQUIRED)
find_package(Qt5WebEngineWidgets 5.11.2 REQUIRED)
 
# Set libs used by the plugin (don't forger "Core" for Sielo's API) 
set(SIELO_LIBS SieloCore Qt5::Widgets Qt5::WebEngine Qt5::Sql Qt5::WebEngineWidgets)
 
# Output of the plugin (it has to be "MODULE") 
add_library(my-plugin MODULE ${SOURCE_FILES} ${QRC_FILES})
 
# Link librairies 
target_link_libraries(my-plugin PRIVATE ${SIELO_LIBS})

Création du projet avec QMake