The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=12543 
====================================================================== 
Reported By:                Tony Bridges
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   12543
Category:                   CMake
Reproducibility:            always
Severity:                   feature
Priority:                   high
Status:                     new
====================================================================== 
Date Submitted:             2011-10-27 19:00 EDT
Last Modified:              2011-10-27 19:00 EDT
====================================================================== 
Summary:                    Cannot specify link_libraries per configuration when
using custom configurations
Description: 
Related to 0012124, added to refine the requirement.

In my project, I need to build a particular shared project a number of different
ways (Debug/Release Shared/Static MBCS/Unicode in all combinations).  These are
implemented as multiple configurations via CMAKE_CONFIGURATION_TYPES. (Debug,
Debug-Shared, Debug-Shared-Unicode for example) 

At the project level, I need to specify different support libraries by name,
based on the configuration. For example, for static debug I reference
cppunitd.lib, and for shared debug I reference cppunitd-sh.lib.  

The support for conditional libraries in the target_link_libraries command is
limited to the standard configurations, Debug, Release, Optimized.  Custom
configurations are not recognized here.  

What is needed is the ability to use custom configurations in the
target_link_libraries command to set library names per configuration.  

The same argument applies to setting the library path (and to a lesser extent,
the include path).  Currently, these can only be set per-configuration at the
solution level (via set(CMAKE_CXX_FLAGS_DEBUG_SHARED_UNICODE) ), which requires
that the conditional paths for all libraries in the solution be set globally. 
This results in a potentially dangerous superset of LIBPATHS being pushed into
every project in the solution, and loss of control over order and precedence.
  


Additional Information: 
to summarize, looking for features as follows :

target_link_libraries ( {MyCustomConfigName} {MyLibByConfigName} )

link_directories ( {MyCustomConfigName}  {MyLibPath} )

include_directories ( {MyCustomConfigName}  {MyIncPath} )

====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-10-27 19:00 Tony Bridges   New Issue                                    
======================================================================

--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to