根据CMake文档,STREQUAL
允许比较采用VARIABLE或STRING作为参数.因此,在下面的示例中,消息不会打印,这是打破的:
set( FUBARTEST "OK" )
if( FUBARTEST STREQUAL "OK" )
message( "It Worked" )
endif()
Run Code Online (Sandbox Code Playgroud)
有什么理由说这不符合记录?
Ria*_*son 15
我最初没有测试你的例子,但是当我这样做时,我看到你的代码在cmake 2.8.0上正常工作,而且在文档中公布的其他组合也是如此:
set( FUBARTEST "OK" )
if( FUBARTEST STREQUAL "OK" )
message( "FUBARTEST Worked" )
else()
message( "FUBARTEST FAILED" )
endif()
set( FOO "OK" )
if( ${FOO} STREQUAL "OK" )
message("string STREQUAL string works" )
else ()
message("string STREQUAL string FAILED" )
endif()
set( FOO "OK" )
set( BAR "OK" )
if( FOO STREQUAL BAR )
message("variable STREQUAL variable works" )
else ()
message("variable STREQUAL variable FAILED" )
endif()
set( FOO "OK" )
if( FOO STREQUAL "OK" )
message("variable STREQUAL string works" )
else ()
message("variable STREQUAL string FAILED" )
endif()
Run Code Online (Sandbox Code Playgroud)
给出输出:
FUBARTEST Worked
string STREQUAL string works
variable STREQUAL variable works
variable STREQUAL string works
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25272 次 |
最近记录: |