| 342 | |
| 343 | class BuildCommand(build): |
| 344 | def finalize_options(self): |
| 345 | # Setting the build_base to an absolute path will make sure that build (i.e. temp) and lib dirs are in sync |
| 346 | # and that our binary is copied appropriately after the build is complete. Particularly useful to avoid Windows |
| 347 | # complaining about long paths. |
| 348 | # NOTE: if setting the build_temp and/or build_lib, the paths should include the build_base path. |
| 349 | # EX: PYCBC_BUILD_BASE=C:\Users\Admin\build |
| 350 | # PYCBC_BUILD_TEMP=C:\Users\Admin\build\tmp |
| 351 | # PYCBC_BUILD_LIB=C:\Users\Admin\build\lib |
| 352 | env = os.environ.copy() |
| 353 | pycbc_build_base = env.pop('PYCBC_BUILD_BASE', None) |
| 354 | if pycbc_build_base: |
| 355 | self.build_base = pycbc_build_base |
| 356 | pycbc_build_temp = env.pop('PYCBC_BUILD_TEMP', None) |
| 357 | if pycbc_build_temp: |
| 358 | self.build_temp = pycbc_build_temp |
| 359 | pycbc_build_lib = env.pop('PYCBC_BUILD_LIB', None) |
| 360 | if pycbc_build_lib: |
| 361 | self.build_lib = pycbc_build_lib |
| 362 | super().finalize_options() |