project(cmake-string)
set(FOO 0)
add_library(foobar SHARED a.c)
target_link_libraries(foobar $<IF:$<BOOL:FOO>,bar,baz>)
add_library(foobaz SHARED a.c)
target_link_libraries(foobaz $<IF:$<BOOL:${FOO}>,bar,baz>)
FOO=0なのでIF expressionはFALSEを期待していますが、BOOL expressionは文字列を引数に取るので、
上の例だと誤ってlibbarを参照してしまいます。