|
35 | 35 | assert False, sys.platform + " not supported"
|
36 | 36 |
|
37 | 37 | ONEAPI_ROOT = os.environ.get("ONEAPI_ROOT")
|
| 38 | +CODE_COVERAGE = os.environ.get("CODE_COVERAGE") |
38 | 39 |
|
39 | 40 | if IS_LIN:
|
40 | 41 | DPCPP_ROOT = os.path.join(ONEAPI_ROOT, "compiler/latest/linux")
|
|
55 | 56 | backends = os.path.join(dpctl_dir, "dpctl-capi")
|
56 | 57 |
|
57 | 58 | if IS_LIN:
|
58 |
| - cmake_args = [ |
59 |
| - "cmake", |
60 |
| - "-DCMAKE_BUILD_TYPE=Release", |
61 |
| - "-DCMAKE_INSTALL_PREFIX=" + INSTALL_PREFIX, |
62 |
| - "-DCMAKE_PREFIX_PATH=" + INSTALL_PREFIX, |
63 |
| - "-DDPCPP_INSTALL_DIR=" + DPCPP_ROOT, |
64 |
| - "-DCMAKE_C_COMPILER:PATH=" + os.path.join(DPCPP_ROOT, "bin", "clang"), |
65 |
| - "-DCMAKE_CXX_COMPILER:PATH=" + os.path.join(DPCPP_ROOT, "bin", "dpcpp"), |
66 |
| - "-DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON", |
67 |
| - backends, |
68 |
| - ] |
69 |
| - subprocess.check_call(cmake_args, stderr=subprocess.STDOUT, shell=False) |
70 |
| - subprocess.check_call(["make", "V=1", "-j", "4"]) |
71 |
| - subprocess.check_call(["make", "install"]) |
| 59 | + if CODE_COVERAGE: |
| 60 | + cmake_args = [ |
| 61 | + "cmake", |
| 62 | + "-DCMAKE_BUILD_TYPE=Debug", |
| 63 | + "-DCMAKE_INSTALL_PREFIX=" + INSTALL_PREFIX, |
| 64 | + "-DCMAKE_PREFIX_PATH=" + INSTALL_PREFIX, |
| 65 | + "-DDPCPP_INSTALL_DIR=" + DPCPP_ROOT, |
| 66 | + "-DCMAKE_C_COMPILER:PATH=" + os.path.join(DPCPP_ROOT, "bin", "clang"), |
| 67 | + "-DCMAKE_CXX_COMPILER:PATH=" + os.path.join(DPCPP_ROOT, "bin", "dpcpp"), |
| 68 | + "-DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON", |
| 69 | + "-DDPCTL_BUILD_CAPI_TESTS=ON", |
| 70 | + "-DDPCTL_GENERATE_COVERAGE=ON", |
| 71 | + "-DDPCTL_COVERAGE_REPORT_OUTPUT_DIR=" + dpctl_dir, |
| 72 | + backends, |
| 73 | + ] |
| 74 | + subprocess.check_call(cmake_args, stderr=subprocess.STDOUT, shell=False) |
| 75 | + subprocess.check_call(["make", "V=1", "-j", "4"]) |
| 76 | + subprocess.check_call(["make", "install"]) |
| 77 | + subprocess.check_call(["make", "lcov-genhtml"]) |
| 78 | + |
| 79 | + else: |
| 80 | + cmake_args = [ |
| 81 | + "cmake", |
| 82 | + "-DCMAKE_BUILD_TYPE=Release", |
| 83 | + "-DCMAKE_INSTALL_PREFIX=" + INSTALL_PREFIX, |
| 84 | + "-DCMAKE_PREFIX_PATH=" + INSTALL_PREFIX, |
| 85 | + "-DDPCPP_INSTALL_DIR=" + DPCPP_ROOT, |
| 86 | + "-DCMAKE_C_COMPILER:PATH=" + os.path.join(DPCPP_ROOT, "bin", "clang"), |
| 87 | + "-DCMAKE_CXX_COMPILER:PATH=" + os.path.join(DPCPP_ROOT, "bin", "dpcpp"), |
| 88 | + "-DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON", |
| 89 | + backends, |
| 90 | + ] |
| 91 | + subprocess.check_call(cmake_args, stderr=subprocess.STDOUT, shell=False) |
| 92 | + subprocess.check_call(["make", "V=1", "-j", "4"]) |
| 93 | + subprocess.check_call(["make", "install"]) |
72 | 94 |
|
73 | 95 | os.chdir(dpctl_dir)
|
74 | 96 | for file in glob.glob(os.path.join(dpctl_dir, "install", "lib", "*.so")):
|
|
0 commit comments