On 11/11/2011 03:42 PM, Romain LEGUAY wrote:
> Ok thanks for your quick answers! It works perfectly now!
> 
> Why don't we have just one variables for the library?
> 
> With set_target_properties, we can define for each library the path.

Because

(1) ADD_LIBRARY() might lack the SHARED/STATIC keyword, and the user
can decide which type of library is built via the BUILD_SHARED_LIBS
variable, so an ADD_LIBRARY() command can be unalteredly used to
build a shared library as well as a static one, and

(2) on *nix, the outcome of ADD_LIBRARY(... SHARED ...) is a LIBRARY
target whereas on Windows, the DLL part is a RUNTIME target, and the
accompanying import library is an ARCHIVE target.

For these reasons, the same ADD_LIBRARY() command - i.e., the same
target - might generate different types of libraries, so there is
a need to specify the respective *_OUTPUT_DIRECTORY individually.

Regards,

Michael

> Le 11/11/2011 15:38, Andreas Pakulat a écrit :
>> On 11.11.11 15:18:05, Romain LEGUAY wrote:
>>> Hello everyone!
>>> First, I need to thank you all the CMake developers for their
>>> awesome work!!!
>>>
>>> I try to build a static and a shared libraries. I set the
>>> LIBRARY_OUTPUT_DIRECTORY for each library target like this:
>> See the documentation for the LIBRARY_OUTPUT_DIRECTORY, it only applies
>> to shared libraries on non-dll platforms (*nix usually). For a static
>> library you need to set ARCHIVE_OUTPUT_DIRECTORY.
>>
>> Andreas
--

Powered by www.kitware.com

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

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

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to