[CMake] linker library order

Jon W knowdat at gmail.com
Tue Aug 7 16:55:34 EDT 2007


On 8/7/07, Philip Lowman <philip at yhbt.com> wrote:
> Jon W wrote:
> > I need to have a specific library linked before all other libraries.
> > For example, I need foo.lib linked  before the defaults, "
> > kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
> > advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
> > odbccp32.lib".
> >
> > What would be the best way to accomplish this behavior?
>
> Why do you need to specify foo.lib before the standard Win32 libraries?
>  Unless this is an attempt to reimplement Microsoft's standard libraries
> with your own code I don't see what placing foo.lib before all of the
> standard win32 libraries would buy you.


Yes, I am reimplementing MS's standard libraries with foo.lib, and
therefore it needs to be first in linking order.

I am planning to reset CMAKE_CXX_STANDARD_LIBRARIES_INIT and
CMAKE_C_STANDARD_LIBRARIES_INIT to "".  Then set my own libraries
variable.

I was hoping that there was a way to get rid of the $(NOINHERIT)
property which should take the library defaults at the end of the link
line instead of the beginning.   But, there must be some reason why
this variable is being set rather than taking the visual studio
defaults.

Thank you for your help.
-Jon


More information about the CMake mailing list