[CMake] CPack not packaging DLL, only the import library.

Mike Jackson mike.jackson at bluequartz.net
Fri Nov 13 17:28:38 EST 2009


So here what I have now:
INSTALL(TARGETS ${MXADATAMODEL_LIB_NAME}
        DESTINATION bin
        ARCHIVE DESTINATION lib
        COMPONENT SDKLibrary)
INSTALL (TARGETS ${MXADATAMODEL_LIB_NAME}
    DESTINATION bin
    RUNTIME DESTINATION bin
    COMPONENT SDKLibrary)
INSTALL (TARGETS ${MXADATAMODEL_LIB_NAME}
    DESTINATION bin
    LIBRARY DESTINATION bin
    COMPONENT SDKLibrary)

And that _seems_ to work correctly for both the Shared and Static
cases. I just thought I could wrap all that into a single "install"
command but I guess not.
_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio

On Fri, Nov 13, 2009 at 5:21 PM, Mike Jackson
<mike.jackson at bluequartz.net> wrote:
> I have the following:
>
> INSTALL(TARGETS ${MXADATAMODEL_LIB_NAME}
>        RUNTIME DESTINATION bin
>        LIBRARY DESTINATION lib
>        ARCHIVE DESTINATION lib
>        COMPONENT SDKLibrary)
> if (BUILD_SHARED_LIBS AND MSVC)
>   INSTALL (TARGETS ${MXADATAMODEL_LIB_NAME}
>        DESTINATION bin
>        ARCHIVE DESTINATION lib
> #        RUNTIME DESTINATION bin
>        COMPONENT SDKLibrary)
> endif()
>
> So both of those are "hit" during cmake time when building a shared
> library but I will not get the .dll installed unless I comment out the
> lone commented line above. Then I get the .dll installed into the bin
> directory. Odd. In my mind those 2 install commands are the same. So
> where am I mis-interpreting what is going on?
>
> Mike Jackson
> _________________________________________________________
> Mike Jackson                  mike.jackson at bluequartz.net
> BlueQuartz Software                    www.bluequartz.net
> Principal Software Engineer                  Dayton, Ohio
>
>
>
>
> On Fri, Nov 13, 2009 at 5:04 PM, Dixon, Shane <Shane.Dixon at atmel.com> wrote:
>> Make sure that you're including the "RUNTIME DESTINATION" variable set on your install command.  In windows, the .dll is considered a runtime object just like the .exe.  If you're only setting "LIBRARY DESTINATION", then you'll only be installing the .lib file.
>>
>>
>> --
>> Shane Dixon
>> Linux Engineer
>> Atmel Corporation
>>
>>
>> -----Original Message-----
>> From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of Michael Jackson
>> Sent: Friday, November 13, 2009 2:39 PM
>> To: cmake Mailing List
>> Subject: [CMake] CPack not packaging DLL, only the import library.
>>
>> Another dumb friday question:
>>
>>    I have the packaging mostly working except that when I generate a windows DLL project only the import library is packaged up, leaving the actual DLL library behind. What might be causing this?
>> _________________________________________________________
>> Mike Jackson                  mike.jackson at bluequartz.net
>> BlueQuartz Software                    www.bluequartz.net
>> Principal Software Engineer                  Dayton, Ohio
>>
>> _______________________________________________
>> 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
>>
>


More information about the CMake mailing list