When building oneDNN outside of the git tree, but inside that of a
different repository, the commit hash that is substituted is from the
parent repository. This change limits git to the oneDNN root directory,
and silences the error message when the git command fails.
For example:
```bash
git clone https://github.com/uxlfoundation/oneDNN.git dnnl
mkdir test_fail
git --git-dir dnnl/.git --work-tree test_fail checkout origin/main .
cmake -S test_fail -B test_fail/build
grep "#define DNNL_VERSION_HASH" test_fail/build/include/oneapi/dnnl/dnnl_version_hash.h
```
Before (out-of-tree):
```
-- CMAKE_BUILD_TYPE is unset, defaulting to Release
...
-- Found Git: /usr/bin/git (found version "2.30.2")
fatal: not a git repository (or any of the parent directories): .git
-- Enabled testing coverage: CI
...
-- Build files have been written to: test_fail/build
```
Before (within, say, the latest IGC at the time of writing):
```
-- CMAKE_BUILD_TYPE is unset, defaulting to Release
...
-- Found Git: /usr/bin/git (found version "2.30.2")
-- Enabled testing coverage: CI
...
-- Build files have been written to: test_fail/build
```
After:
```
-- CMAKE_BUILD_TYPE is unset, defaulting to Release
...
-- Found Git: /usr/bin/git (found version "2.30.2")
-- Enabled testing coverage: CI
...
-- Build files have been written to: test_fail/build
```
ComputeLibrary-v52.0.0 is the first release to use semantic versioning.
The CMake rules have been updated to add sanity checks based on this new
paradigm.
Signed-off-by: Siddhartha Menon <siddhartha.menon@arm.com>
Option `-fsycl-unnamed-lambda` is enabled by default, but not compatible
with `-fsycl-host-compiler`. While icpx driver adds
`-fno-sycl-unnamed-lambda` to avoid build issues clang++ does not do that.