diff --git a/build.pro b/build.pro index 8bdb349..0a1f9ec 100644 --- a/build.pro +++ b/build.pro @@ -8,6 +8,16 @@ include($$PWD/common.pri) CONFIG += ordered +core:CONFIG += core_libraries +builder:CONFIG += core_libraries +desktop:CONFIG += core_libraries +server:CONFIG += core_libraries +mobile:CONFIG += core_libraries + +!core_libraries:CONFIG += no_x2t +!core_libraries:CONFIG += no_use_common_binary +!core_libraries:CONFIG += no_tests + core_windows { desktop:CONFIG += core_and_multimedia } @@ -28,34 +38,36 @@ core_android { CONFIG += no_tests } -addSubProject(cryptopp, $$CORE_ROOT_DIR/Common/3dParty/cryptopp/project/cryptopp.pro) -addSubProject(cfcpp, $$CORE_ROOT_DIR/Common/cfcpp/cfcpp.pro) -addSubProject(unicodeconverter, $$CORE_ROOT_DIR/UnicodeConverter/UnicodeConverter.pro,\ - cryptopp) -addSubProject(kernel, $$CORE_ROOT_DIR/Common/kernel.pro,\ - unicodeconverter) -addSubProject(network, $$CORE_ROOT_DIR/Common/Network/network.pro,\ - kernel unicodeconverter) -addSubProject(graphics, $$CORE_ROOT_DIR/DesktopEditor/graphics/pro/graphics.pro,\ - kernel unicodeconverter) -addSubProject(pdffile, $$CORE_ROOT_DIR/PdfFile/PdfFile.pro,\ - kernel unicodeconverter graphics) -addSubProject(djvufile, $$CORE_ROOT_DIR/DjVuFile/DjVuFile.pro,\ - kernel unicodeconverter graphics pdffile) -addSubProject(xpsfile, $$CORE_ROOT_DIR/XpsFile/XpsFile.pro,\ - kernel unicodeconverter graphics pdffile) -addSubProject(htmlrenderer, $$CORE_ROOT_DIR/HtmlRenderer/htmlrenderer.pro,\ - kernel unicodeconverter graphics) -addSubProject(docxrenderer, $$CORE_ROOT_DIR/DocxRenderer/DocxRenderer.pro,\ - kernel unicodeconverter graphics) -addSubProject(htmlfile2, $$CORE_ROOT_DIR/HtmlFile2/HtmlFile2.pro,\ - kernel unicodeconverter graphics network) -addSubProject(doctrenderer, $$CORE_ROOT_DIR/DesktopEditor/doctrenderer/doctrenderer.pro,\ - kernel unicodeconverter graphics) -addSubProject(fb2file, $$CORE_ROOT_DIR/Fb2File/Fb2File.pro,\ - kernel unicodeconverter graphics) -addSubProject(epubfile, $$CORE_ROOT_DIR/EpubFile/CEpubFile.pro,\ - kernel unicodeconverter graphics htmlfile2) +core_libraries { + addSubProject(cryptopp, $$CORE_ROOT_DIR/Common/3dParty/cryptopp/project/cryptopp.pro) + addSubProject(cfcpp, $$CORE_ROOT_DIR/Common/cfcpp/cfcpp.pro) + addSubProject(unicodeconverter, $$CORE_ROOT_DIR/UnicodeConverter/UnicodeConverter.pro,\ + cryptopp) + addSubProject(kernel, $$CORE_ROOT_DIR/Common/kernel.pro,\ + unicodeconverter) + addSubProject(network, $$CORE_ROOT_DIR/Common/Network/network.pro,\ + kernel unicodeconverter) + addSubProject(graphics, $$CORE_ROOT_DIR/DesktopEditor/graphics/pro/graphics.pro,\ + kernel unicodeconverter) + addSubProject(pdffile, $$CORE_ROOT_DIR/PdfFile/PdfFile.pro,\ + kernel unicodeconverter graphics) + addSubProject(djvufile, $$CORE_ROOT_DIR/DjVuFile/DjVuFile.pro,\ + kernel unicodeconverter graphics pdffile) + addSubProject(xpsfile, $$CORE_ROOT_DIR/XpsFile/XpsFile.pro,\ + kernel unicodeconverter graphics pdffile) + addSubProject(htmlrenderer, $$CORE_ROOT_DIR/HtmlRenderer/htmlrenderer.pro,\ + kernel unicodeconverter graphics) + addSubProject(docxrenderer, $$CORE_ROOT_DIR/DocxRenderer/DocxRenderer.pro,\ + kernel unicodeconverter graphics) + addSubProject(htmlfile2, $$CORE_ROOT_DIR/HtmlFile2/HtmlFile2.pro,\ + kernel unicodeconverter graphics network) + addSubProject(doctrenderer, $$CORE_ROOT_DIR/DesktopEditor/doctrenderer/doctrenderer.pro,\ + kernel unicodeconverter graphics) + addSubProject(fb2file, $$CORE_ROOT_DIR/Fb2File/Fb2File.pro,\ + kernel unicodeconverter graphics) + addSubProject(epubfile, $$CORE_ROOT_DIR/EpubFile/CEpubFile.pro,\ + kernel unicodeconverter graphics htmlfile2) +} !no_x2t { addSubProject(docxformat, $$CORE_ROOT_DIR/OOXML/Projects/Linux/DocxFormatLib/DocxFormatLib.pro) addSubProject(pptxformat, $$CORE_ROOT_DIR/OOXML/Projects/Linux/PPTXFormatLib/PPTXFormatLib.pro) @@ -130,3 +142,7 @@ mobile { addSubProject(hunspell, $$CORE_ROOT_DIR/Common/3dParty/hunspell/qt/hunspell.pro) } } + +osign { + addSubProject(osign, $$CORE_ROOT_DIR/DesktopEditor/xmlsec/src/osign/lib/osign.pro) +} diff --git a/scripts/base.py b/scripts/base.py index 14a4403..2aeef8d 100644 --- a/scripts/base.py +++ b/scripts/base.py @@ -1470,3 +1470,7 @@ def correct_elf_rpath_directory(directory, origin, is_recursion = True): correct_elf_rpath_directory(file, origin) return +def is_need_build_js(): + if "osign" == config.option("module"): + return False + return True diff --git a/scripts/build_js.py b/scripts/build_js.py index 5c38045..7c22c69 100644 --- a/scripts/build_js.py +++ b/scripts/build_js.py @@ -27,6 +27,8 @@ def correct_sdkjs_licence(directory): def make(): if ("1" == base.get_env("OO_NO_BUILD_JS")): return + if not base.is_need_build_js(): + return base.set_env('NODE_ENV', 'production') diff --git a/scripts/deploy.py b/scripts/deploy.py index 08a1524..2c53dde 100644 --- a/scripts/deploy.py +++ b/scripts/deploy.py @@ -7,6 +7,7 @@ import deploy_builder import deploy_server import deploy_core import deploy_mobile +import deploy_osign def make(): if config.check_option("module", "desktop"): @@ -19,4 +20,6 @@ def make(): deploy_core.make() if config.check_option("module", "mobile"): deploy_mobile.make() + if config.check_option("module", "osign"): + deploy_osign.make() return diff --git a/scripts/deploy_osign.py b/scripts/deploy_osign.py new file mode 100644 index 0000000..2c2734d --- /dev/null +++ b/scripts/deploy_osign.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python + +import config +import base + +def make(): + base_dir = base.get_script_dir() + "/../out" + git_dir = base.get_script_dir() + "/../.." + core_dir = git_dir + "/core" + branding = config.branding() + + platforms = config.option("platform").split() + for native_platform in platforms: + if not native_platform in config.platforms: + continue + + root_dir = base_dir + "/" + native_platform + "/" + branding + "/osign" + + if base.get_env("DESTDIR_BUILD_OVERRIDE") != "": + return + + if (base.is_dir(root_dir)): + base.delete_dir(root_dir) + base.create_dir(root_dir) + + qt_dir = base.qt_setup(native_platform) + platform = native_platform + + core_build_dir = core_dir + "/build" + if ("" != config.option("branding")): + core_build_dir += ("/" + config.option("branding")) + + platform_postfix = platform + base.qt_dst_postfix() + + # x2t + base.copy_lib(core_build_dir + "/lib/" + platform_postfix, root_dir, "osign") + + # correct ios frameworks + if ("ios" == platform): + base.generate_plist(root_dir) + deploy_fonts(git_dir, root_dir) + + for native_platform in platforms: + if native_platform == "android": + # make full version + root_dir = base_dir + "/android/" + branding + "/mobile" + if (base.is_dir(root_dir)): + base.delete_dir(root_dir) + base.create_dir(root_dir) + libs_dir = root_dir + "/lib" + base.create_dir(libs_dir + "/arm64-v8a") + base.copy_files(base_dir + "/android_arm64_v8a/" + branding + "/mobile/*.so", libs_dir + "/arm64-v8a") + base.create_dir(libs_dir + "/armeabi-v7a") + base.copy_files(base_dir + "/android_armv7/" + branding + "/mobile/*.so", libs_dir + "/armeabi-v7a") + base.create_dir(libs_dir + "/x86") + base.copy_files(base_dir + "/android_x86/" + branding + "/mobile/*.so", libs_dir + "/x86") + base.create_dir(libs_dir + "/x86_64") + base.copy_files(base_dir + "/android_x86_64/" + branding + "/mobile/*.so", libs_dir + "/x86_64") + break + + return