Adds include and linkings for plugins
This commit is contained in:
parent
15a48e6723
commit
e87485441e
@ -30,18 +30,18 @@ add_library(${CORE_WIDGETS_ADDON} SHARED
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/core/Events/eventwidget.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/core/YogaWidget/yogawidget.cpp"
|
||||
# core deps
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/log.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/Utils.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/YGConfig.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/YGEnums.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/YGLayout.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/YGNode.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/YGNodePrint.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/YGStyle.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/YGValue.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/Yoga.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/event/event.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps/yoga/internal/experiments.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/log.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/Utils.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/YGConfig.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/YGEnums.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/YGLayout.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/YGNode.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/YGNodePrint.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/YGStyle.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/YGValue.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/Yoga.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/event/event.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps/yoga/internal/experiments.cpp"
|
||||
# wrapped cpps
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QApplication/qapplication_wrap.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QClipboard/qclipboard_wrap.cpp"
|
||||
@ -87,22 +87,17 @@ AddCommonConfig(${CORE_WIDGETS_ADDON})
|
||||
# qt
|
||||
include(./config/qt.cmake)
|
||||
AddQtSupport(${CORE_WIDGETS_ADDON})
|
||||
|
||||
# napi
|
||||
include(./config/napi.cmake)
|
||||
AddNapiSupport(${CORE_WIDGETS_ADDON})
|
||||
|
||||
|
||||
target_include_directories(${CORE_WIDGETS_ADDON} PRIVATE
|
||||
"${CMAKE_JS_INC}"
|
||||
"${PROJECT_SOURCE_DIR}"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/deps"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/nodegui"
|
||||
)
|
||||
|
||||
target_include_directories(${CORE_WIDGETS_ADDON} PUBLIC
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/deps"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/include/nodegui"
|
||||
)
|
||||
|
||||
target_link_libraries(${CORE_WIDGETS_ADDON} PRIVATE
|
||||
|
||||
32
config/plugin.cmake
Normal file
32
config/plugin.cmake
Normal file
@ -0,0 +1,32 @@
|
||||
# This cmake file will be used in the plugins
|
||||
set(PLUGIN_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}")
|
||||
set(NODEGUI_ROOT "${PLUGIN_CMAKE_DIR}/..")
|
||||
set(NODEGUI_LIBRARY "${NODEGUI_ROOT}/build/Release/nodegui_core.node")
|
||||
|
||||
function(AddPluginConfig addonName)
|
||||
# common
|
||||
include("${PLUGIN_CMAKE_DIR}/common.cmake")
|
||||
AddCommonConfig(${addonName})
|
||||
# qt
|
||||
include("${PLUGIN_CMAKE_DIR}/qt.cmake")
|
||||
AddQtSupport(${addonName})
|
||||
# napi
|
||||
include("${PLUGIN_CMAKE_DIR}/napi.cmake")
|
||||
AddNapiSupport(${addonName})
|
||||
|
||||
target_link_libraries(${addonName} PRIVATE
|
||||
"${NODEGUI_LIBRARY}"
|
||||
)
|
||||
|
||||
target_include_directories(${addonName} PRIVATE
|
||||
"${CMAKE_JS_INC}"
|
||||
"${NODEGUI_ROOT}"
|
||||
"${NODEGUI_ROOT}/src/cpp"
|
||||
"${NODEGUI_ROOT}/src/cpp/include"
|
||||
"${NODEGUI_ROOT}/src/cpp/include/deps"
|
||||
"${NODEGUI_ROOT}/src/cpp/include/nodegui"
|
||||
)
|
||||
|
||||
|
||||
endfunction(AddPluginConfig addonName)
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
# Examples
|
||||
|
||||
Examples have now moved to a repo of their own
|
||||
|
||||
They are all available at:
|
||||
|
||||
https://github.com/nodegui/examples
|
||||
@ -7,10 +7,11 @@
|
||||
"files": [
|
||||
"dist",
|
||||
"config",
|
||||
"binding.gyp",
|
||||
"CMakeLists.txt",
|
||||
"src",
|
||||
"extras/legal",
|
||||
"deps"
|
||||
"deps",
|
||||
"plugin"
|
||||
],
|
||||
"author": "Atul R <atulanand94@gmail.com>",
|
||||
"license": "MIT",
|
||||
@ -26,6 +27,7 @@
|
||||
"dependencies": {
|
||||
"@nodegui/qode": "^1.0.5",
|
||||
"cmake-js": "^5.3.2",
|
||||
"cross-env": "^6.0.0",
|
||||
"cuid": "^2.1.6",
|
||||
"node-addon-api": "^1.6.3",
|
||||
"node-gyp": "^5.0.3",
|
||||
@ -34,7 +36,6 @@
|
||||
"devDependencies": {
|
||||
"@types/bindings": "^1.3.0",
|
||||
"@types/node": "^12.0.2",
|
||||
"cross-env": "^6.0.0",
|
||||
"prettier": "^1.17.1",
|
||||
"serve": "^11.1.0",
|
||||
"typescript": "^3.4.5"
|
||||
|
||||
11
plugin/index.js
Normal file
11
plugin/index.js
Normal file
@ -0,0 +1,11 @@
|
||||
const path = require("path");
|
||||
|
||||
const NODEGUI_ROOT = path.resolve(__dirname, "..");
|
||||
const CMAKE_HELPER_DIR = path.resolve(NODEGUI_ROOT, "config");
|
||||
const CMAKE_HELPER_FILE = path.resolve(CMAKE_HELPER_DIR, "plugin.cmake");
|
||||
|
||||
module.exports = {
|
||||
CMAKE_HELPER_FILE,
|
||||
CMAKE_HELPER_DIR,
|
||||
NODEGUI_ROOT
|
||||
};
|
||||
@ -8,7 +8,6 @@ class NodeWidget : public YogaWidget, public EventWidget {
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifndef NODEWIDGET_IMPLEMENTATIONS
|
||||
#define NODEWIDGET_IMPLEMENTATIONS(BaseWidgetName) \
|
||||
\
|
||||
|
||||
Loading…
Reference in New Issue
Block a user