Re: [CMake] CMake target_link_libraries items should be quoted or not? Linux/Ubuntu 14.04 cmake 3.4.1

2015-12-10 Thread J Decker
On Thu, Dec 10, 2015 at 12:15 AM, Petr Kmoch  wrote:
> Hi,
>
> Side note: you probably shouldn't be using the -l prefix with arguments to
> target_link_libraries(). The arguments are normally supposed to be either
> CMake target names, or full paths to the libraries you want to link. No need
> to prefix them with linker command-line options, CMake does that for you
> accordingly.

CMake/build system will typically search the library path, so you
don't need full paths... typically just the name of the library...
should be more like ..

target_link_libraries(Debug ${VTK_LIBRARIES} sri-spatialfft
sri-spatial sri-memory)


>
> Petr
>
> On Wed, Dec 9, 2015 at 6:22 PM, Normand Robert
>  wrote:
>>
>> robert@kalymnos:~/Code/Debug/normandBuild$ cmake --version
>> cmake version 3.4.1
>>
>> Reading docs trying to understand why my build works when I write
>>
>> target_link_libraries(Debug ${VTK_LIBRARIES} -lsri-spatialfft
>> -lsri-spatial -lsri-memory)
>>
>> but not when everything is protected in quotes:
>>
>> target_link_libraries(Debug "${VTK_LIBRARIES} -lsri-spatialfft
>> -lsri-spatial -lsri-memory")
>>
>> which causes an extra library which does not exist to be passed to the
>> linker. Is this expected behaviour?
>>
>> --
>> Normand Robert PhD
>> Sunnybrook Health Sciences Centre
>> Room S632, 2075 Bayview Avenue, Toronto, ON M4N 3M5
>>
-- 

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


Re: [CMake] CMake target_link_libraries items should be quoted or not? Linux/Ubuntu 14.04 cmake 3.4.1

2015-12-10 Thread Petr Kmoch
Hi,

yes, that is indeed expected behaviour. target_link_libraries() takes a
CMake list of arguments - one library per argument. When you surround the
thing with quotes, it's a single argument (containing some spaces). So for
this call:

target_link_libraries(Debug "${VTK_LIBRARIES} -lsri-spatialfft
-lsri-spatial -lsri-memory")

CMake will instruct the linker to look for a library named " -sri-spatialfft -lsri-spatial -lsri-memory" (one file name
with spaces and semicolons in it). Since such a library does not exist,
that fails.

Without the quotes, each element of the list VTK_LIBRARIES will be a
separate argument to target_link_libraries, as will "-lsri-spatialfft",
"-lsri-spatial", and "-lsri-memory".

Side note: you probably shouldn't be using the -l prefix with arguments to
target_link_libraries(). The arguments are normally supposed to be either
CMake target names, or full paths to the libraries you want to link. No
need to prefix them with linker command-line options, CMake does that for
you accordingly.

Petr

On Wed, Dec 9, 2015 at 6:22 PM, Normand Robert <
normand.rob...@sri.utoronto.ca> wrote:

> robert@kalymnos:~/Code/Debug/normandBuild$ cmake --version
> cmake version 3.4.1
>
> Reading docs trying to understand why my build works when I write
>
> target_link_libraries(Debug ${VTK_LIBRARIES} -lsri-spatialfft
> -lsri-spatial -lsri-memory)
>
> but not when everything is protected in quotes:
>
> target_link_libraries(Debug "${VTK_LIBRARIES} -lsri-spatialfft
> -lsri-spatial -lsri-memory")
>
> which causes an extra library which does not exist to be passed to the
> linker. Is this expected behaviour?
>
> --
> Normand Robert PhD
> Sunnybrook Health Sciences Centre
> Room S632, 2075 Bayview Avenue, Toronto, ON M4N 3M5
>
> --
>
> 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

[CMake] CMake target_link_libraries() items should be quoted or not? Linux/Ubuntu 14.04 cmake 3.4.1

2015-12-09 Thread Normand Robert

Reading docs trying to understand why my build works when I write

target_link_libraries(Debug ${VTK_LIBRARIES} -lsri-spatialfft 
-lsri-spatial -lsri-memory)


but does not work when everything is protected in quotes:

target_link_libraries(Debug "${VTK_LIBRARIES} -lsri-spatialfft 
-lsri-spatial -lsri-memory")


which causes an extra library which does not exist to be passed to the 
linker. Is this expected behaviour?


robert@kalymnos:~/Code/Debug/normandBuild$ cmake --version
cmake version 3.4.1

--
Normand Robert PhD
Sunnybrook Health Sciences Centre
Room S632, 2075 Bayview Avenue, Toronto, ON M4N 3M5

--

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


[CMake] CMake target_link_libraries items should be quoted or not? Linux/Ubuntu 14.04 cmake 3.4.1

2015-12-09 Thread Normand Robert

robert@kalymnos:~/Code/Debug/normandBuild$ cmake --version
cmake version 3.4.1

Reading docs trying to understand why my build works when I write

target_link_libraries(Debug ${VTK_LIBRARIES} -lsri-spatialfft 
-lsri-spatial -lsri-memory)


but not when everything is protected in quotes:

target_link_libraries(Debug "${VTK_LIBRARIES} -lsri-spatialfft 
-lsri-spatial -lsri-memory")


which causes an extra library which does not exist to be passed to the 
linker. Is this expected behaviour?


--
Normand Robert PhD
Sunnybrook Health Sciences Centre
Room S632, 2075 Bayview Avenue, Toronto, ON M4N 3M5

--

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