Sounds like what you want is an object library,
http://www.cmake.org/Wiki/CMake/Tutorials/Object_Library:

set(FOO_SOURCES
  Foo1.cxx
  Bar2.cxx
  FooBar3.cxx
)
add_library(FooObjLib OBJECT ${FOO_SOURCES})

add_executable(A $<TARGET_OBJECTS:FooObjLib>)
set_target_properties(A PROPERTIES LINK_FLAGS "/Special /Flags /For /A")

add_executable(B $<TARGET_OBJECTS:FooObjLib>)
set_target_properties(B PROPERTIES LINK_FLAGS "/Special /Flags /For /B")


- Chuck

On Thu, Sep 11, 2014 at 2:09 PM, fungos <fun...@gmail.com> wrote:

> Ok, but will this _recompile_ the sources for each target? We must use the
> same generated object files for the two outputs, the only difference must
> be the linker flags.
>
> On Thu, Sep 11, 2014 at 1:20 PM, Robert Maynard <
> robert.mayn...@kitware.com> wrote:
>
>> Generally the easiest way is to have two targets that share the same
>> source files but have different linker flags.
>>
>> On Thu, Sep 11, 2014 at 12:53 PM, fungos <fun...@gmail.com> wrote:
>> > Yes, we can say that.. in reality I need two outputs for a single
>> target,
>> > but these outputs are generated almost exactly with just 2 different
>> linker
>> > flags removed.
>> >
>> >
>> > On Thu, Sep 11, 2014 at 11:31 AM, Robert Maynard
>> > <robert.mayn...@kitware.com> wrote:
>> >>
>> >> Are you trying to generate two different libraries from the same
>> target?
>> >>
>> >> On Thu, Sep 11, 2014 at 10:45 AM, fungos <fun...@gmail.com> wrote:
>> >> > Hi,
>> >> >
>> >> > How can I create two linker steps with different flags for the same
>> >> > target
>> >> > at the same build?
>> >> >
>> >> > Example:
>> >> >
>> >> >   target: X
>> >> >     link: linker.exe libs_for_a linker_flags_for_a -o A/X.bin
>> >> >     link: linker.exe libs_for_b linker_flags_for_b -o B/X.bin
>> >> >
>> >> > Thanks
>> >> >
>> >> >
>> >> > --
>> >> >
>> >> > Powered by www.kitware.com
>> >> >
>> >> > Please keep messages on-topic and check the CMake FAQ at:
>> >> > http://www.cmake.org/Wiki/CMake_FAQ
>> >> >
>> >> > Kitware offers various services to support the CMake community. For
>> more
>> >> > information on each offering, please visit:
>> >> >
>> >> > CMake Support: http://cmake.org/cmake/help/support.html
>> >> > CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> >> > CMake Training Courses: http://cmake.org/cmake/help/training.html
>> >> >
>> >> > Visit other Kitware open-source projects at
>> >> > http://www.kitware.com/opensource/opensource.html
>> >> >
>> >> > Follow this link to subscribe/unsubscribe:
>> >> > http://public.kitware.com/mailman/listinfo/cmake
>> >
>> >
>> >
>> >
>> > --
>> > Animal Liberation Front
>> > http://www.animal-liberation.com/
>>
>
>
>
> --
> Animal Liberation Front
> http://www.animal-liberation.com/
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
>
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to