AW: AW: [CMake] CMake 2.4.7: Generator "Visual Studio 7 .NET 2003" seems to ignore certain LINK_FLAGS properties (worked in 2.4.6)

Gerhard Grimm ggrimm at detec.de
Tue Jul 31 12:01:59 EDT 2007


Hi Bill,

thanks for your hints. The /DEF problem is fixed now.

However, changing the resource container's target type from executable
to library (to avoid passing the /DLL flag explicitly) raised another
problem:
The resource container (which BTW is not the target from my previous
example, it only contains resources and has no exports) is added as
dependency to another library target using

add_dependencies(OtherLibrary ResourceContainer)

[The reason for this is the creation of a header file by a custom command
when building the resource container. This header file contains resource
IDs and is needed when building the OtherLibrary.]

Since the ResourceContainer is now considered a library by Visual Studio,
it attempts to link the OtherLibrary with it by adding a non-existing
import library to the OtherLibrary's linker command line, although this
is mentioned nowhere in the generated project file.

I'll try to build a dummy import library for the ResourceContainer...

Best regards,

Gerhard

-----Ursprüngliche Nachricht-----
Von: Bill Hoffman [mailto:bill.hoffman at kitware.com]
Gesendet: Dienstag, 31. Juli 2007 16:33
An: Gerhard Grimm
Cc: cmake at cmake.org
Betreff: Re: AW: [CMake] CMake 2.4.7: Generator "Visual Studio 7 .NET
2003" seems to ignore certain LINK_FLAGS properties (worked in 2.4.6)


OK, so I can reproduce the problem, and I will fix it.  However, the 
reason you are alone here is that you are not really using cmake correctly.
You can just add the .def as one of your sources and cmake knows what to 
do with it.  As you stated before the /NOENTRY works.
So, the following should be what you want.  (The SHARED option will make 
sure that /DLL is used as a flag)

add_library(MyLib SHARED source.c source.def)
set_target_properties(MyLib PROPERTIES LINK_FLAGS "/NOENTRY")


-Bill





More information about the CMake mailing list