diff --git a/cmake/HPX_SetupHwloc.cmake b/cmake/HPX_SetupHwloc.cmake index cf970540b55..c8d354458d6 100644 --- a/cmake/HPX_SetupHwloc.cmake +++ b/cmake/HPX_SetupHwloc.cmake @@ -44,11 +44,19 @@ else() ) if(NOT HWLoc_POPULATED) fetchcontent_populate(HWLoc) - execute_process( - COMMAND + if(NOT Hwloc_BUILD_INSTALLED) + execute_process( + COMMAND sh -c "cd ${FETCHCONTENT_BASE_DIR}/hwloc-src && ./configure --prefix=${FETCHCONTENT_BASE_DIR}/hwloc-installed && make -j && make install" - ) + ) + set(Hwloc_BUILD_INSTALLED + TRUE + CACHE INTERNAL "" + ) + else() + message("HWLoc is installed at ${FETCHCONTENT_BASE_DIR}/hwloc-installed") + endif() endif() set(HWLOC_ROOT "${FETCHCONTENT_BASE_DIR}/hwloc-installed") set(Hwloc_INCLUDE_DIR