diff options
author | Eike Ziller <[email protected]> | 2019-09-18 11:50:08 +0200 |
---|---|---|
committer | Eike Ziller <[email protected]> | 2019-09-20 06:25:04 +0000 |
commit | 194f4fca4cba5accbbbcdd22d098079cdf8b2827 (patch) | |
tree | 8ceeaef326e611b86ff55ff33acb72349876c2d3 /src/plugins | |
parent | 8354d426de35a06e835ceaca63f768adf39d4d1b (diff) |
Help: Add litehtml as submodule and optionally use that
Change-Id: I528dd661eb0db92e6252ddba7fa38ab58496611a
Reviewed-by: Cristian Adam <[email protected]>
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/help/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/plugins/help/help.pro | 2 | ||||
-rw-r--r-- | src/plugins/help/qlitehtml/CMakeLists.txt | 14 | ||||
m--------- | src/plugins/help/qlitehtml/litehtml | 0 | ||||
-rw-r--r-- | src/plugins/help/qlitehtml/qlitehtml.pri | 46 |
5 files changed, 62 insertions, 8 deletions
diff --git a/src/plugins/help/CMakeLists.txt b/src/plugins/help/CMakeLists.txt index 8e25a3a31c0..73122b15dcc 100644 --- a/src/plugins/help/CMakeLists.txt +++ b/src/plugins/help/CMakeLists.txt @@ -49,9 +49,13 @@ extend_qtc_plugin(Help webenginehelpviewer.h ) -find_package(litehtml QUIET) -if (TARGET litehtml) +if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qlitehtml/litehtml/CMakeLists.txt) add_subdirectory(qlitehtml) +else() + find_package(litehtml QUIET) + if (TARGET litehtml) + add_subdirectory(qlitehtml) + endif() endif() extend_qtc_plugin(Help diff --git a/src/plugins/help/help.pro b/src/plugins/help/help.pro index c4dd38b1160..05f8da1552c 100644 --- a/src/plugins/help/help.pro +++ b/src/plugins/help/help.pro @@ -76,7 +76,7 @@ osx { } } -!isEmpty(LITEHTML_INSTALL_DIR) { +exists($$PWD/qlitehtml/litehtml/CMakeLists.txt)|!isEmpty(LITEHTML_INSTALL_DIR) { include(qlitehtml/qlitehtml.pri) HEADERS += litehtmlhelpviewer.h SOURCES += litehtmlhelpviewer.cpp diff --git a/src/plugins/help/qlitehtml/CMakeLists.txt b/src/plugins/help/qlitehtml/CMakeLists.txt index d6174c56dff..43c20ca0b9f 100644 --- a/src/plugins/help/qlitehtml/CMakeLists.txt +++ b/src/plugins/help/qlitehtml/CMakeLists.txt @@ -7,7 +7,19 @@ set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_CXX_STANDARD 14) -find_package(litehtml REQUIRED) +if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/litehtml/CMakeLists.txt) + set(ORIG_CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}) + if (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") + set(CMAKE_BUILD_TYPE "RelWithDebInfo") + else() + set(CMAKE_BUILD_TYPE "Release") + endif() + add_subdirectory(litehtml) + set(CMAKE_BUILD_TYPE ${ORIG_CMAKE_BUILD_TYPE}) +else() + find_package(litehtml REQUIRED) +endif() + find_package(Qt5 COMPONENTS Widgets REQUIRED) add_library(qlitehtml STATIC diff --git a/src/plugins/help/qlitehtml/litehtml b/src/plugins/help/qlitehtml/litehtml new file mode 160000 +Subproject 2979ffbf45a22e39d16f0ef125532509824b135 diff --git a/src/plugins/help/qlitehtml/qlitehtml.pri b/src/plugins/help/qlitehtml/qlitehtml.pri index 4520512b108..95153af491c 100644 --- a/src/plugins/help/qlitehtml/qlitehtml.pri +++ b/src/plugins/help/qlitehtml/qlitehtml.pri @@ -1,3 +1,41 @@ +exists($$PWD/litehtml/CMakeLists.txt) { + !build_pass|win32 { + LITEHTML_BUILD_PATH = "$${OUT_PWD}/litehtml/build" + LITEHTML_SOURCE_PATH = "$${PWD}/litehtml" + LITEHTML_INSTALL_PATH = "$${OUT_PWD}/litehtml/install" + + BUILD_TYPE = RelWithDebInfo + CONFIG(release, debug|release): BUILD_TYPE = Release + + # Create build directory + system("$$sprintf($$QMAKE_MKDIR_CMD, $$shell_path($${LITEHTML_BUILD_PATH}))") + + macos: CMAKE_DEPLOYMENT_TARGET = -DCMAKE_OSX_DEPLOYMENT_TARGET=$${QMAKE_MACOSX_DEPLOYMENT_TARGET} + LITEHTML_CMAKE_CMD = \ + "$$QMAKE_CD $$system_quote($$shell_path($${LITEHTML_BUILD_PATH})) && \ + cmake -DCMAKE_BUILD_TYPE=$$BUILD_TYPE \ + -DCMAKE_INSTALL_PREFIX=$$system_quote($$shell_path($${LITEHTML_INSTALL_PATH})) \ + $$CMAKE_DEPLOYMENT_TARGET \ + $$system_quote($$shell_path($${LITEHTML_SOURCE_PATH}))" + message("$${LITEHTML_CMAKE_CMD}") + system("$${LITEHTML_CMAKE_CMD}") + + buildlitehtml.commands = "cmake --build $$system_quote($$shell_path($${LITEHTML_BUILD_PATH})) --target install" + win32: buildlitehtml.target = $$LITEHTML_INSTALL_PATH/lib/litehtml.lib + else:unix: buildlitehtml.target = $$LITEHTML_INSTALL_PATH/lib/liblitehtml.a + dummygumbo.depends = buildlitehtml + win32: dummygumbo.target = $$LITEHTML_INSTALL_PATH/lib/gumbo.lib + else:unix: dummygumbo.target = $$LITEHTML_INSTALL_PATH/lib/libgumbo.a + QMAKE_EXTRA_TARGETS += buildlitehtml dummygumbo + PRE_TARGETDEPS += $$buildlitehtml.target $$dummygumo.target + } + LITEHTML_INCLUDE_DIRS = $$LITEHTML_SOURCE_PATH/include $$LITEHTML_SOURCE_PATH/src + LITEHTML_LIB_DIR = $$LITEHTML_INSTALL_PATH/lib +} else { + LITEHTML_INCLUDE_DIRS = $$LITEHTML_INSTALL_DIR/include $$LITEHTML_INSTALL_DIR/include/litehtml + LITEHTML_LIB_DIR = $$LITEHTML_INSTALL_DIR/lib +} + HEADERS += \ $$PWD/container_qpainter.h \ $$PWD/qlitehtmlwidget.h @@ -6,8 +44,8 @@ SOURCES += \ $$PWD/container_qpainter.cpp \ $$PWD/qlitehtmlwidget.cpp -INCLUDEPATH += $$PWD $$LITEHTML_INSTALL_DIR/include $$LITEHTML_INSTALL_DIR/include/litehtml -LIBS += -L$$LITEHTML_INSTALL_DIR/lib -llitehtml -lgumbo +INCLUDEPATH += $$PWD $$LITEHTML_INCLUDE_DIRS +LIBS += -L$$LITEHTML_LIB_DIR -llitehtml -lgumbo -win32: PRE_TARGET_DEPS += $$LITEHTML_INSTALL_DIR/lib/litehtml.lib $$LITEHTML_INSTALL_DIR/lib/gumbo.lib -else:unix: PRE_TARGET_DEPS += $$LITEHTML_INSTALL_DIR/lib/liblitehtml.a $$LITEHTML_INSTALL_DIR/lib/libgumbo.a +win32: PRE_TARGETDEPS += $$LITEHTML_LIB_DIR/litehtml.lib $$LITEHTML_LIB_DIR/gumbo.lib +else:unix: PRE_TARGETDEPS += $$LITEHTML_LIB_DIR/liblitehtml.a $$LITEHTML_LIB_DIR/libgumbo.a |