Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Build] Syntax error in CMake generator expression for OpenCL #3528

Open
StefanBruens opened this issue Jan 4, 2024 · 3 comments · May be fixed by #3554
Open

[Build] Syntax error in CMake generator expression for OpenCL #3528

StefanBruens opened this issue Jan 4, 2024 · 3 comments · May be fixed by #3554
Labels

Comments

@StefanBruens
Copy link

$<$<BOOL:${OpenCL_FOUND}>: $<TARGET_PROPERTY:OpenCL::OpenCL,INTERFACE_INCLUDE_DIRECTORIES>>

In case OpenCL is not found, the evaluation is broken, as apparently CMake is unhappy due to the extra space after the colon.

With the extra space CMake fails to do lazy evaluation of the right-hand side, and complains about the non-existing OpenCL::OpenCL target.

Removing the space character fixes the error, i.e.:
$<$<BOOL:${OpenCL_FOUND}>:$<TARGET_PROPERTY:OpenCL::OpenCL,INTERFACE_INCLUDE_DIRECTORIES>>

BTW, the "OpenCL_Found" check here and elsewhere is probably wrong, and should use "AF_BUILD_OPENCL" instead.

@umar456
Copy link
Member

umar456 commented Jan 4, 2024

Can you paste the syntax error and the version of CMake you are using? I can't reproduce it on my end with my setup.

@StefanBruens
Copy link
Author

StefanBruens commented Jan 6, 2024

Same error with CMake 3.28 and CMake 3.20:

[   34s] CMake Error:
[   34s]   Error evaluating generator expression:
[   34s] 
[   34s]     $<TARGET_PROPERTY:OpenCL::OpenCL,INTERFACE_INCLUDE_DIRECTORIES>
[   34s] 
[   34s]   Target "OpenCL::OpenCL" not found.

Do you have OpenCL installed? This will only happen without OpenCL.

@edwinsolisf edwinsolisf linked a pull request May 31, 2024 that will close this issue
5 tasks
@edwinsolisf
Copy link

I was able to replicate it in a clean Ubuntu 22.04 LTS system with OpenCL not installed and trying to build just the CPU backend. Issued a fix in pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants