def addAllOcctModulesToWasmModule(thisModule, postfix = ""):
  for dirpath, dirnames, filenames in os.walk("/occt/occt-628c021/src/"):
    packageOrModuleName = os.path.basename(dirpath)
    if not any(x for x in filenames if x == "PACKAGES"):
      continue

    if not filterPackagesAndModules(packageOrModuleName):
      continue

    thisModule.addLibraryFile(packageOrModuleName + postfix, "/opencascade.js/build/fullLibrary/")
Esempio n. 2
0
    else:
        with open(
                "/occt/occt-628c021/src/" + packageOrModuleName + "/PACKAGES",
                "r") as a_file:
            packageNames = list(
                map(lambda x: x.strip(),
                    filter(lambda x: not x.strip() == "", a_file)))
            addPackageLibrary(packageOrModuleName, packageNames)


for dirpath, dirnames, filenames in os.walk("/occt/occt-628c021/src/"):
    packageOrModuleName = os.path.basename(dirpath)
    if not any(x for x in filenames if x == "PACKAGES"):
        continue

    if not filterPackagesAndModules(packageOrModuleName):
        continue

    addLibrary(packageOrModuleName)

    with open(dirpath + "/PACKAGES", "r") as a_file:
        for package in a_file:
            packageName = package.strip()
            if not filterPackagesAndModules(packageName):
                continue
            addObjectFiles(packageName)
            addLibrary(packageName)

with multiprocessing.Pool(processes=multiprocessing.cpu_count()) as p:
    p.map(buildObjectFiles, objectFilesToBuild)
Esempio n. 3
0
def addModuleBuildConfigs(release = True, debug = True):
  for dirpath, dirnames, filenames in os.walk("/occt/occt-" + os.environ['OCCT_COMMIT_HASH'] + "/src/"):
    packageOrModuleName = os.path.basename(dirpath)
    if packageOrModuleName == "":
      continue

    if not any(x for x in filenames if x == "PACKAGES"):
      continue

    if not filterPackagesAndModules(packageOrModuleName):
      continue

    if packageOrModuleName in [ # emcc: error: EM_ASM is not supported in side modules / emcc: error: EM_JS is not supported in side modules during build
      "TKOpenGl",
      "TKernel",
    ]:
      continue

    if release:
      releaseBuildConfigs["module." + packageOrModuleName + ".wasm"] = {
        "inputs": [
          {
            "module": packageOrModuleName,
            "preBuilt": False,
          }
        ],
        "bindings": [
          {
            "module": packageOrModuleName,
            "regex": ".*",
          }
        ],
        "emccFlags": [
          "-s", "SIDE_MODULE=1",
          *defaultEmccFlags,
          *releaseEmccFlags,
        ],
        "typescriptDefinitions": True,
      }

    if debug:
      debugBuildConfigs["module." + packageOrModuleName + ".debug.wasm"] = {
        "inputs": [
          {
            "module": packageOrModuleName,
            "preBuilt": False,
          }
        ],
        "bindings": [
          {
            "module": packageOrModuleName,
            "regex": ".*",
          }
        ],
        "emccFlags": [
          "-s", "SIDE_MODULE=1",
          *defaultEmccFlags,
          *debugEmccFlags,
        ],
        "typescriptDefinitions": True,
      }
Esempio n. 4
0
def addPackageBuildConfigs(release = True, debug = True):
  for dirpath, dirnames, filenames in os.walk("/occt/occt-" + os.environ['OCCT_COMMIT_HASH'] + "/src/"):
    packageOrModuleName = os.path.basename(dirpath)
    if packageOrModuleName == "":
      continue

    if not any(x for x in filenames if x == "PACKAGES"):
      continue

    if not filterPackagesAndModules(packageOrModuleName):
      continue

    with open(dirpath + "/PACKAGES", "r") as a_file:
      for package in a_file:
        packageName = package.strip()
        if packageName == "":
          continue
        if packageName in [
          "D3DHost",
          "IVtk",
          "IVtkVTK",
          "IVtkTools",
          "ViewerTest",
          "IVtkOCC",
          "IVtkDraw",
          "Draw",
        ]:
          continue

        if release:
          releaseBuildConfigs["package." + packageName + ".wasm"] = {
            "inputs": [
              {
                "package": packageName,
                "preBuilt": False,
              }
            ],
            "bindings": [
              {
                "package": packageName,
                "regex": ".*",
              }
            ],
            "emccFlags": [
              "-s", "SIDE_MODULE=1",
              *defaultEmccFlags,
              *releaseEmccFlags,
            ],
            "typescriptDefinitions": True,
          }

        if debug:
          debugBuildConfigs["package." + packageName + ".debug.wasm"] = {
            "inputs": [
              {
                "package": packageName,
                "preBuilt": False,
              }
            ],
            "bindings": [
              {
                "package": packageName,
                "regex": ".*",
              }
            ],
            "emccFlags": [
              "-s", "SIDE_MODULE=1",
              *defaultEmccFlags,
              *debugEmccFlags,
            ],
            "typescriptDefinitions": True,
          }