I resorted to turn off the flags for the complete directory. In this case, this was possible, because they were only intended to speed up C++-template instantiation. So for this one directory template instantiation is handled in the slower way, but I can live with that. However, I think there should be a way to override flags for a single target. The easiest way from my point of view would be to adjust the CMake-rules to contain the target-specific flags after the global flags, not before.
Regards, Martin David Cole wrote: > ADD_SUBDIRECTORY is the "right" thing to be using. SUBDIRS is > deprecated, but they process things subtly differently, so I just > wanted to rule out that you might be encountering a "SUBDIRS side > effect"... > > You've ruled it out. > > Could you re-organize such that libraries with different flags are in > different CMakeLists files? > > > On Mon, Sep 8, 2008 at 3:02 AM, Martin Apel <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > I am using ADD_SUBDIRECTORY. I did'nt know, that anything like SUBDIRS > exists and haven't found anything in the documentation about it. > > Martin > > > David Cole wrote: > > Are you using SUBDIRS or ADD_SUBDIRECTORY in your project...? > > > > > > On Thu, Sep 4, 2008 at 2:42 AM, Martin Apel > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> > wrote: > > > > Unfortunately this does not work. It seems that CMake > generates all > > libraries defined in one CMakeLists.txt with the setting of > > CMAKE_SHARED_LINKER_FLAGS at the end of the file. > > This causes this setting to be applied to all libraries in the > > CMakeLists.txt. As I have 4 libraries in this one > CMakeLists.txt, this > > doesn't help much. > > > > I tried to do something like the following: > > SET (CMAKE_SHARED_LINKER_FLAGS "${ORIG_SHARED_LINKER_FLAGS}") > > ADD_LIBRARY (FortranInterface ${OBJS}) > > SET (CMAKE_SHARED_LINKER_FLAGS > "${MODIFIED_SHARED_LINKER_FLAGS}") > > but the FortranInterface library gets built with > > MODIFIED_SHARED_LINKER_FLAGS in effect. > > > > I would suggest to change the order of items in the build > rules for a > > future CMake release, such that it's possible to override > general > > flags > > with a target specific property. Today the link > > rules look as follows: > > SET(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> ... > > <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> ....") > > >From my point of view it would be better to put LINK_FLAGS > to the > > end of > > the list (not only for shared libraries, but in general). > > > > Regards, > > > > Martin > > > > David Cole wrote: > > > Maybe save and restore the CMAKE_SHARED_LINKER_FLAGS > around your > > reset > > > of it in the sub-CMakeLists.txt...? > > > > > > > > > On Wed, Sep 3, 2008 at 10:41 AM, Martin Apel > > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>>> > > wrote: > > > > > > Hi, > > > > > > I have defined the following in a top-level > CMakeLists.txt: > > > SET (CMAKE_SHARED_LINKER_FLAGS > "${CMAKE_SHARED_LINKER_FLAGS} > > > -Wl,--unresolved-symbols=ignore-in-shared-libs") > > > > > > Now I'd like to reset this for one specific library in a > > subdirectory > > > (in a separate CMakeLists.txt added with > ADD_SUBDIRECTORY to > > the main > > > CMakeLists.txt). I tried to use > > > SET_TARGET_PROPERTIES (FortranInterface PROPERTIES > LINK_FLAGS > > > -Wl,--unresolved-symbols=ignore-in-object-files") > > > which reverses the effect of "ignore-in-shared-libs". > > > Unfortunately the > > > linker rule contains the LINK_FLAGS before > > > CMAKE_SHARED_LINKER_FLAGS, so > > > this cannot be used to override the setting. I have > also tried > > > resetting > > > CMAKE_SHARED_LINKER_FLAGS in the sub-CMakeLists.txt, > but then it > > > applies > > > to all other > > > libraries handled in this CMakeLists.txt as well. > > > > > > Any ideas, how I can solve this problem? > > > > > > Regards, > > > > > > Martin > > > > > > ____________ > > > Virus checked by G DATA AntiVirus > > > Version: AVF 19.21 from 03.09.2008 > > > > > > > > > _______________________________________________ > > > CMake mailing list > > > CMake@cmake.org <mailto:CMake@cmake.org> > <mailto:CMake@cmake.org <mailto:CMake@cmake.org>> > > <mailto:CMake@cmake.org <mailto:CMake@cmake.org> > <mailto:CMake@cmake.org <mailto:CMake@cmake.org>>> > > > http://www.cmake.org/mailman/listinfo/cmake > > > > > > > > > ____________ Virus checked by G DATA AntiVirus Version: AVF 19.32 from 12.09.2008 _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake