80 lines · 3.2 KB · Text
RawDownload
# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying# file Copyright.txt or https://cmake.org/licensing for details. #[=======================================================================[.rst:SelectLibraryConfigurations--------------------------- .. code-block:: cmake   select_library_configurations(basename) This macro takes a library base name as an argument, and will choosegood values for the variables ::   basename_LIBRARY  basename_LIBRARIES  basename_LIBRARY_DEBUG  basename_LIBRARY_RELEASE depending on what has been found and set. If only ``basename_LIBRARY_RELEASE`` is defined, ``basename_LIBRARY`` willbe set to the release value, and ``basename_LIBRARY_DEBUG`` will be setto ``basename_LIBRARY_DEBUG-NOTFOUND``.  If only ``basename_LIBRARY_DEBUG``is defined, then ``basename_LIBRARY`` will take the debug value, and``basename_LIBRARY_RELEASE`` will be set to ``basename_LIBRARY_RELEASE-NOTFOUND``. If the generator supports configuration types, then ``basename_LIBRARY``and ``basename_LIBRARIES`` will be set with debug and optimized flagsspecifying the library to be used for the given configuration.  If nobuild type has been set or the generator in use does not supportconfiguration types, then ``basename_LIBRARY`` and ``basename_LIBRARIES``will take only the release value, or the debug value if the release oneis not set.#]=======================================================================] # This macro was adapted from the FindQt4 CMake module and is maintained by Will# Dicharry <wdicharry@stellarscience.com>. macro(select_library_configurations basename)    if(NOT ${basename}_LIBRARY_RELEASE)        set(${basename}_LIBRARY_RELEASE "${basename}_LIBRARY_RELEASE-NOTFOUND" CACHE FILEPATH "Path to a library.")    endif()    if(NOT ${basename}_LIBRARY_DEBUG)        set(${basename}_LIBRARY_DEBUG "${basename}_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "Path to a library.")    endif()     get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)    if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND           NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE AND           ( _isMultiConfig OR CMAKE_BUILD_TYPE ) )        # if the generator is multi-config or if CMAKE_BUILD_TYPE is set for        # single-config generators, set optimized and debug libraries        set( ${basename}_LIBRARY "" )        foreach( _libname IN LISTS ${basename}_LIBRARY_RELEASE )            list( APPEND ${basename}_LIBRARY optimized "${_libname}" )        endforeach()        foreach( _libname IN LISTS ${basename}_LIBRARY_DEBUG )            list( APPEND ${basename}_LIBRARY debug "${_libname}" )        endforeach()    elseif( ${basename}_LIBRARY_RELEASE )        set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )    elseif( ${basename}_LIBRARY_DEBUG )        set( ${basename}_LIBRARY ${${basename}_LIBRARY_DEBUG} )    else()        set( ${basename}_LIBRARY "${basename}_LIBRARY-NOTFOUND")    endif()     set( ${basename}_LIBRARIES "${${basename}_LIBRARY}" )     if( ${basename}_LIBRARY )        set( ${basename}_FOUND TRUE )    endif()     mark_as_advanced( ${basename}_LIBRARY_RELEASE        ${basename}_LIBRARY_DEBUG    )endmacro()

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t