`if(${LINUX64})` will expand to `if()` if LINUX64 is either not defined, or
holds an empty string. In both cases, it's a syntax error. If you want to
check whether LINUX64 is set to a truthy value, either quote it, or don't
dereference it:

if((CMAKE_SYSTEM_NAME MATCHES "SunOS") OR LINUX64)

Note that you don't have to dereference the left-hand argument of MATCHES
either. In fact, it's safer to either not dereference it, or put quotes
around the dereference.

Petr

On Fri, May 15, 2015 at 8:07 PM, Tom Kacvinsky <[email protected]
> wrote:

>
>
> On Fri, May 15, 2015 at 1:05 PM, Tom Kacvinsky <
> [email protected]> wrote:
>
>> On Fri, May 15, 2015 at 12:12 PM, Domen Vrankar <[email protected]>
>> 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"
>
>
>
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to