[CMake] Problem with multiple expressions with if()
Tom Kacvinsky
tom.kacvinsky at vectorcast.com
Fri May 15 14:07:01 EDT 2015
On Fri, May 15, 2015 at 1:05 PM, Tom Kacvinsky <tom.kacvinsky at vectorcast.com
> wrote:
> On Fri, May 15, 2015 at 12:12 PM, Domen Vrankar <domen.vrankar at gmail.com>
> wrote:
>
>> > if ((${CMAKE_SYSTEM_NAME} MATCHES "SunOS") or (DEFINED LINUX64))
>> > message(STATUS "On Solaris or 64 bit Linux")
>> > endif()
>> > # ====================================================[
>> >
>> > I'm using cmake version 2.8.11.2 built from source on
>> >
>> > Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Thu Mar 15 19:46:53 EDT
>> 2007
>> > x86_64 x86_64 x86_64 GNU/Linux
>> >
>> > This doesn't work. I get this error message is:
>> >
>> > CMake Error at CMakeLists.txt:12 (if):
>> > if given arguments:
>> >
>> > "(" "Linux" "MATCHES" "SunOS" ")" "or" "(" "DEFINED" "LINUX64" ")"
>> >
>> > Unknown arguments specified
>> >
>> >
>> > What am I doing wrong? Is this syntax not supported until the 3.x
>> series?
>>
>> Commands are case sensitive so OR should be upper cased.
>> Also I would recommand you either use "${var_name}" or var_name as the
>> command expects either a string or a variable.
>>
>> Regards,
>> Domen
>>
>
> Ah, that did it. Changing to uppercase OR fixed the issue. Many thanks.
>
>
Well, shoot. I had made a typeo that fooled cmake into thinking what I had
done is OK. Here is what I have now:
if ((${CMAKE_SYSTEM_NAME} MATCHES "SunOS") OR ${LINUX64})
and I still get a complaint:
CMake Error at CMakeLists.txt:164 (if):
if given arguments:
"(" "Linux" "MATCHES" "SunOS" ")" "OR"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20150515/5e95596f/attachment.html>
More information about the CMake
mailing list