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 · 2 comments
Open

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

StefanBruens opened this issue Jan 4, 2024 · 2 comments
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.

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

No branches or pull requests

2 participants