-
Notifications
You must be signed in to change notification settings - Fork 23
[FR] 2.1 Créer le projet (Partie 1) : création de plugin
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.
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
etsources
.
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})
- Introduction
- Créer le projet [Partie 1]
- Créer le projet [Partie 2]
- Les événements [Partie 1]