()
| 634 | |
| 635 | |
| 636 | def build_wrapper_library_mac(): |
| 637 | # On Mac it is required to link libcef_dll_wrapper against |
| 638 | # libc++ library, so must build this library separately |
| 639 | # from cefclient. |
| 640 | cmake_wrapper = prepare_build_command(build_lib=True) |
| 641 | cmake_wrapper.extend(["cmake", "-G", "Ninja", |
| 642 | "-DPROJECT_ARCH=x86_64", |
| 643 | "-DCMAKE_CXX_FLAGS=-stdlib=libc++", |
| 644 | "-DCMAKE_BUILD_TYPE=" + Options.build_type, |
| 645 | ".."]) |
| 646 | build_wrapper_dir = os.path.join(Options.cef_binary, |
| 647 | "build_wrapper") |
| 648 | wrapper_lib = os.path.join(build_wrapper_dir, "libcef_dll_wrapper", |
| 649 | "libcef_dll_wrapper.a") |
| 650 | |
| 651 | # Check whether already built |
| 652 | already_built = False |
| 653 | if os.path.exists(wrapper_lib): |
| 654 | already_built = True |
| 655 | elif os.path.exists(build_wrapper_dir): |
| 656 | # Last build failed, clean directory |
| 657 | assert build_wrapper_dir |
| 658 | shutil.rmtree(build_wrapper_dir) |
| 659 | os.makedirs(build_wrapper_dir) |
| 660 | else: |
| 661 | os.makedirs(build_wrapper_dir) |
| 662 | |
| 663 | # Build libcef_dll_wrapper library |
| 664 | if already_built: |
| 665 | print("[automate.py] Already built: libcef_dll_wrapper") |
| 666 | else: |
| 667 | print("[automate.py] Build libcef_dll_wrapper") |
| 668 | # Cmake |
| 669 | run_command(cmake_wrapper, build_wrapper_dir) |
| 670 | print("[automate.py] cmake OK") |
| 671 | # Ninja |
| 672 | ninja_wrapper = prepare_build_command(build_lib=True) |
| 673 | ninja_wrapper.extend(["ninja", "-j", Options.ninja_jobs, |
| 674 | "libcef_dll_wrapper"]) |
| 675 | run_command(ninja_wrapper, build_wrapper_dir) |
| 676 | print("[automate.py] ninja OK") |
| 677 | assert os.path.exists(wrapper_lib) |
| 678 | |
| 679 | |
| 680 | def prepare_build_command(build_lib=False, vcvars=None): |
no test coverage detected