Quantcast

How to have a static/shared option in a Find script ?

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

How to have a static/shared option in a Find script ?

Barth
Hello,

I am trying to write a Find script for a library called DIM. It is something basic but I have a problem with caching. I have an option to force choosing the static library over the shared one :
option(DIM_USE_STATIC "Turn on to choose the static library instead of the shared one" OFF)
Then, I decide what is the name of the library to search depending on DIM_USE_STATIC and I find it with find_library :
IF (${DIM_USE_STATIC} STREQUAL "OFF") 
    SET(DIM_LIB_NAME "dim") 
ELSE (${DIM_USE_STATIC} STREQUAL "OFF")  
    SET(DIM_LIB_NAME "libdim.a")         
ENDIF (${DIM_USE_STATIC} STREQUAL "OFF") 
find_library(DIM_LIBRARY NAMES ${DIM_LIB_NAME} PATHS $ENV{DIMDIR} PATH_SUFFIXES linux)
set(DIM_LIBRARIES ${DIM_LIBRARY} )

The problem is that modifying DIM_USE_STATIC in ccmake doesn't work even though DIM_LIB_NAME is correct (ie. libdim.a). DIM_LIBRARY sticks to the previous value (the shared library).
I know that find_library will not run again if it has already found the library in the past, thus how should I do ?

Thank you in advance for your help,
Barth

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to have a static/shared option in a Find script ?

Michael Hertling
On 02/15/2012 03:48 PM, Barth wrote:

> Hello,
>
> I am trying to write a Find script for a library called DIM. It is something
> basic but I have a problem with caching. I have an option to force choosing
> the static library over the shared one :
>
> Then, I decide what is the name of the library to search depending on
> DIM_USE_STATIC and I find it with find_library :
>
>
> The problem is that modifying DIM_USE_STATIC in ccmake doesn't work even
> though DIM_LIB_NAME is correct (ie. libdim.a). DIM_LIBRARY sticks to the
> previous value (the shared library).
> I know that find_library will not run again if it has already found the
> library in the past, thus how should I do ?
>
> Thank you in advance for your help,
> Barth

Probably, you just need to reset DIM_LIBRARY to an empty string in
ccmake each time you change DIM_USE_STATIC; see the FIND_LIBRARY()
documentation for more information: "If the library is found the
result is stored in the variable and the search will not be
repeated *unless the variable is cleared*."

However, a conceptually cleaner approach is to consider the shared and
the static version of a library as two components of a multi-component
package, and write the find module / configuration file accordingly:

(1) Use FIND_LIBRARY() to look for the shared and the static library
    and define DIM_SHARED_LIBRARY and DIM_STATIC_LIBRARY in the cache.
(2) Inspect DIM_FIND_COMPONENTS to see which flavor has been requested,
    defaulting to "shared" if no components have been requested at all.
(3) Warn or bail out if "shared" and "static" have both been requested
    unless they can be used together - rare but not impossible a priori.
(4) DIM_USE_STATIC decides if DIM_LIBRARIES receives DIM_STATIC_LIBRARY
    or DIM_SHARED_LIBRARY, and because DIM_LIBRARIES is not cached, it
    can be set anew each time FIND_PACKAGE(DIM ...) is called, so the
    issue you report on will go away.

IMO, most packages providing a library with shared and static versions
should be considered in this manner, as this would be a robust mean to
specifically select one or the other without the need to reset cache
entries or bother with CMAKE_FIND_LIBRARY_SUFFIXES or the like.

BTW, this approach would also account for the long-standing annoyance
how to have FIND_LIBRARY() differentiate between a static library and
an import library on Windows; each library type would simply have its
own FIND_LIBRARY() call, and this would make things much easier.

Regards,

Michael
--

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://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to have a static/shared option in a Find script ?

Barth
Hello,

A great thanks for your extensive reply !
I am going to implement the "clean" approach following your advices.

Best regards,
Barth

On 02/16/2012 12:47 AM, Michael Hertling [via CMake] wrote:
On 02/15/2012 03:48 PM, Barth wrote:

> Hello,
>
> I am trying to write a Find script for a library called DIM. It is something
> basic but I have a problem with caching. I have an option to force choosing
> the static library over the shared one :
>
> Then, I decide what is the name of the library to search depending on
> DIM_USE_STATIC and I find it with find_library :
>
>
> The problem is that modifying DIM_USE_STATIC in ccmake doesn't work even
> though DIM_LIB_NAME is correct (ie. libdim.a). DIM_LIBRARY sticks to the
> previous value (the shared library).
> I know that find_library will not run again if it has already found the
> library in the past, thus how should I do ?
>
> Thank you in advance for your help,
> Barth

Probably, you just need to reset DIM_LIBRARY to an empty string in
ccmake each time you change DIM_USE_STATIC; see the FIND_LIBRARY()
documentation for more information: "If the library is found the
result is stored in the variable and the search will not be
repeated *unless the variable is cleared*."

However, a conceptually cleaner approach is to consider the shared and
the static version of a library as two components of a multi-component
package, and write the find module / configuration file accordingly:

(1) Use FIND_LIBRARY() to look for the shared and the static library
    and define DIM_SHARED_LIBRARY and DIM_STATIC_LIBRARY in the cache.
(2) Inspect DIM_FIND_COMPONENTS to see which flavor has been requested,
    defaulting to "shared" if no components have been requested at all.
(3) Warn or bail out if "shared" and "static" have both been requested
    unless they can be used together - rare but not impossible a priori.
(4) DIM_USE_STATIC decides if DIM_LIBRARIES receives DIM_STATIC_LIBRARY
    or DIM_SHARED_LIBRARY, and because DIM_LIBRARIES is not cached, it
    can be set anew each time FIND_PACKAGE(DIM ...) is called, so the
    issue you report on will go away.

IMO, most packages providing a library with shared and static versions
should be considered in this manner, as this would be a robust mean to
specifically select one or the other without the need to reset cache
entries or bother with CMAKE_FIND_LIBRARY_SUFFIXES or the like.

BTW, this approach would also account for the long-standing annoyance
how to have FIND_LIBRARY() differentiate between a static library and
an import library on Windows; each library type would simply have its
own FIND_LIBRARY() call, and this would make things much easier.

Regards,

Michael
--

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://www.cmake.org/mailman/listinfo/cmake



If you reply to this email, your message will be added to the discussion below:
http://cmake.3232098.n2.nabble.com/How-to-have-a-static-shared-option-in-a-Find-script-tp7287655p7289496.html
To unsubscribe from How to have a static/shared option in a Find script ?, click here.
NAML
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to have a static/shared option in a Find script ?

Barth
In reply to this post by Michael Hertling
Hello again,

A short question about your proposal :
Michael Hertling wrote
(4) DIM_USE_STATIC decides if DIM_LIBRARIES receives DIM_STATIC_LIBRARY
    or DIM_SHARED_LIBRARY, and because DIM_LIBRARIES is not cached, it
    can be set anew each time FIND_PACKAGE(DIM ...) is called, so the
    issue you report on will go away.
Why use DIM_USE_STATIC here, and not DIM_FIND_COMPONENTS ?
I would think that we get rid of DIM_USE_STATIC if we use components.

Cheers,
Barth
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to have a static/shared option in a Find script ?

Barth
Hi again,

I have understood what you meant :)

For records here is what I did :

# (1) Use FIND_LIBRARY() to look for the shared and the static library
#     and define DIM_SHARED_LIBRARY and DIM_STATIC_LIBRARY in the cache.
find_library(DIM_STATIC_LIBRARY NAMES libdim.a PATHS $ENV{DIMDIR} PATH_SUFFIXES linux)
find_library(DIM_SHARED_LIBRARY NAMES dim PATHS $ENV{DIMDIR} PATH_SUFFIXES linux)

# (2) Inspect DIM_FIND_COMPONENTS to see which flavor has been requested,
#     defaulting to "shared" if no components have been requested at all.
LIST(FIND DIM_FIND_COMPONENTS static ASK_STATIC_COMP)
LIST(FIND DIM_FIND_COMPONENTS shared ASK_SHARED_COMP)

# (3) Warn or bail out if "shared" and "static" have both been requested
if ( ${ASK_STATIC_COMP} GREATER -1 AND ${ASK_SHARED_COMP} GREATER -1)
    message(WARNING "Two incompatible components specified : static and shared. We are going to ignore the static component.")
endif ( ${ASK_STATIC_COMP} GREATER -1 AND ${ASK_SHARED_COMP} GREATER -1)

# (4) DIM_USE_STATIC decides if DIM_LIBRARIES receives DIM_STATIC_LIBRARY
#     or DIM_SHARED_LIBRARY
option(DIM_FORCE_STATIC "Turn on to force the use of the static library" OFF)
if( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)
    set(DIM_LIBRARIES ${DIM_STATIC_LIBRARY} )
else ( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)
    set(DIM_LIBRARIES ${DIM_SHARED_LIBRARY} )
endif( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)


Thank you again for your supprot,
Best regards,
Barth
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to have a static/shared option in a Find script ?

Michael Hertling
In reply to this post by Barth
On 02/16/2012 11:10 AM, Barth wrote:

> Hello again,
>
> A short question about your proposal :
>
> Michael Hertling wrote
>>
>> (4) DIM_USE_STATIC decides if DIM_LIBRARIES receives DIM_STATIC_LIBRARY
>>     or DIM_SHARED_LIBRARY, and because DIM_LIBRARIES is not cached, it
>>     can be set anew each time FIND_PACKAGE(DIM ...) is called, so the
>>     issue you report on will go away.
>>
> Why use DIM_USE_STATIC here, and not DIM_FIND_COMPONENTS ?
> I would think that we get rid of DIM_USE_STATIC if we use components.

Uhhh, yes, you're absolutely right. Of course, with a component-
aware find module, one would request the static library via

FIND_PACKAGE(DIM COMPONENTS static)

instead of DIM_USE_STATIC. In fact, the latter becomes obsolete
and can be dropped. Thanks for the hint, and sorry for not re-
reading my own reply carefully before hitting "Send"... ;-)

Regards,

Michael
--

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://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to have a static/shared option in a Find script ?

Michael Hertling
In reply to this post by Barth
On 02/16/2012 03:14 PM, Barth wrote:
> Hi again,
>
> I have understood what you meant :)

Hhm, actually, I talked nonsense w.r.t. DIM_USE_STATIC. ;)

> For records here is what I did :
>
> # (1) Use FIND_LIBRARY() to look for the shared and the static library
> #     and define DIM_SHARED_LIBRARY and DIM_STATIC_LIBRARY in the cache.
> find_library(DIM_STATIC_LIBRARY NAMES libdim.a PATHS $ENV{DIMDIR}
> PATH_SUFFIXES linux)
> find_library(DIM_SHARED_LIBRARY NAMES dim PATHS $ENV{DIMDIR} PATH_SUFFIXES
> linux)

If libdim.so doesn't exist, but libdim.a does, the last FIND_LIBRARY()
call would return libdim.a, too, which is probably not desired. Here,
one should consider to narrow the search for the respective library
type, e.g. by manipulating CMAKE_FIND_LIBRARY_SUFFIXES; see also
CMAKE_{SHARED,STATIC}_LIBRARY_{PREFIX,SUFFIX} in this regard.

> # (2) Inspect DIM_FIND_COMPONENTS to see which flavor has been requested,
> #     defaulting to "shared" if no components have been requested at all.
> LIST(FIND DIM_FIND_COMPONENTS static ASK_STATIC_COMP)
> LIST(FIND DIM_FIND_COMPONENTS shared ASK_SHARED_COMP)

No need for them; use DIM_FIND_REQUIRED_{STATIC,SHARED} - predefined
by FIND_PACKAGE(). Refer to Modules/readme.txt for more information.

> # (3) Warn or bail out if "shared" and "static" have both been requested
> if ( ${ASK_STATIC_COMP} GREATER -1 AND ${ASK_SHARED_COMP} GREATER -1)
>     message(WARNING "Two incompatible components specified : static and
> shared. We are going to ignore the static component.")
> endif ( ${ASK_STATIC_COMP} GREATER -1 AND ${ASK_SHARED_COMP} GREATER -1)

IF(DIM_FIND_REQUIRED_SHARED AND DIM_FIND_REQUIRED_STATIC)
    MESSAGE(WARNING ...)
    LIST(REMOVE_ITEM DIM_FIND_COMPONENTS static)
    UNSET(DIM_FIND_REQUIRED_STATIC)
ENDIF()

Do something to the contrary if DIM_FIND_COMPONENTS is empty:

IF(NOT DIM_FIND_COMPONENTS)
    LIST(APPEND DIM_FIND_COMPONENTS shared)
    SET(DIM_FIND_REQUIRED_SHARED TRUE)
ENDIF()

The point is that DIM_FIND_COMPONENTS and DIM_FIND_REQUIRED_* are set
up properly *before* you are going to actually enable the components.

> # (4) DIM_USE_STATIC decides if DIM_LIBRARIES receives DIM_STATIC_LIBRARY
> #     or DIM_SHARED_LIBRARY
> option(DIM_FORCE_STATIC "Turn on to force the use of the static library"
> OFF)
> if( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)
>     set(DIM_LIBRARIES ${DIM_STATIC_LIBRARY} )
> else ( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)
>     set(DIM_LIBRARIES ${DIM_SHARED_LIBRARY} )
> endif( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)

UNSET(DIM_INCLUDE_DIRS)
UNSET(DIM_LIBRARIES)

SET(DIM_FOUND FALSE)

FIND_PATH(DIM_INCLUDE_DIR ...)

IF(DIM_INCLUDE_DIR)
    SET(DIM_FOUND TRUE)
ENDIF

IF(DIM_FIND_REQUIRED_SHARED)
    FIND_LIBRARY(DIM_SHARED_LIBRARY ...)
    FIND_PACKAGE_HANDLE_STANDARD_ARGS(
        DIM_SHARED
        DEFAULT_MSG
        DIM_INCLUDE_DIR
        DIM_SHARED_LIBRARY)
    IF(DIM_SHARED_FOUND)
        LIST(APPEND DIM_INCLUDE_DIRS ${DIM_INCLUDE_DIR} ...)
        LIST(APPEND DIM_LIBRARIES ${DIM_SHARED_LIBRARY} ...)
   ENDIF()
   LIST(REMOVE DIM_FIND_COMPONENTS shared)
   UNSET(DIM_FIND_REQUIRED_SHARED)
ENDIF()

IF(DIM_FIND_REQUIRED_STATIC)
    FIND_LIBRARY(DIM_STATIC_LIBRARY ...)
    FIND_PACKAGE_HANDLE_STANDARD_ARGS(
        DIM_STATIC
        DEFAULT_MSG
        DIM_INCLUDE_DIR
        DIM_STATIC_LIBRARY)
    IF(DIM_STATIC_FOUND)
        LIST(APPEND DIM_INCLUDE_DIRS ${DIM_INCLUDE_DIR} ...)
        LIST(APPEND DIM_LIBRARIES ${DIM_STATIC_LIBRARY} ...)
   ENDIF()
   LIST(REMOVE DIM_FIND_COMPONENTS static)
   UNSET(DIM_FIND_REQUIRED_STATIC)
ENDIF()

# Consider to handle remaining components in DIM_FIND_COMPONENTS.

Note that due to the preparatory work on DIM_FIND_COMPONENTS and the
DIM_FIND_REQUIRED_* variables, the blocks for enabling the shared and
static component have a straight forward structure. Note further that
this can be achieved only with a quite simple package like yours with
two mutually exclusive libraries; with packages providing more subtly
related components - e.g. with inter-component dependencies - things
can be much more complicated. Note finally that the user must issue

IF(DIM_FOUND AND DIM_SHARED_FOUND)

e.g., in order to check for the library's availability unless the
REQUIRED flag was given to FIND_PACKAGE(). Checking for DIM_FOUND
or DIM_SHARED_FOUND alone is *not* reliable, just as referring to
a component that hasn't been requested explicitly - or enabled by
default which, in turn, should be documented explicitly.

Regards,

Michael
--

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://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to have a static/shared option in a Find script ?

Barth
Hello,

Thank you very much for your message. You have been very helpful.

Best regards,
Barth

On 02/16/2012 05:18 PM, Michael Hertling [via CMake] wrote:
On 02/16/2012 03:14 PM, Barth wrote:
> Hi again,
>
> I have understood what you meant :)

Hhm, actually, I talked nonsense w.r.t. DIM_USE_STATIC. ;)

> For records here is what I did :
>
> # (1) Use FIND_LIBRARY() to look for the shared and the static library
> #     and define DIM_SHARED_LIBRARY and DIM_STATIC_LIBRARY in the cache.
> find_library(DIM_STATIC_LIBRARY NAMES libdim.a PATHS $ENV{DIMDIR}
> PATH_SUFFIXES linux)
> find_library(DIM_SHARED_LIBRARY NAMES dim PATHS $ENV{DIMDIR} PATH_SUFFIXES
> linux)

If libdim.so doesn't exist, but libdim.a does, the last FIND_LIBRARY()
call would return libdim.a, too, which is probably not desired. Here,
one should consider to narrow the search for the respective library
type, e.g. by manipulating CMAKE_FIND_LIBRARY_SUFFIXES; see also
CMAKE_{SHARED,STATIC}_LIBRARY_{PREFIX,SUFFIX} in this regard.

> # (2) Inspect DIM_FIND_COMPONENTS to see which flavor has been requested,
> #     defaulting to "shared" if no components have been requested at all.
> LIST(FIND DIM_FIND_COMPONENTS static ASK_STATIC_COMP)
> LIST(FIND DIM_FIND_COMPONENTS shared ASK_SHARED_COMP)

No need for them; use DIM_FIND_REQUIRED_{STATIC,SHARED} - predefined
by FIND_PACKAGE(). Refer to Modules/readme.txt for more information.

> # (3) Warn or bail out if "shared" and "static" have both been requested
> if ( ${ASK_STATIC_COMP} GREATER -1 AND ${ASK_SHARED_COMP} GREATER -1)
>     message(WARNING "Two incompatible components specified : static and
> shared. We are going to ignore the static component.")
> endif ( ${ASK_STATIC_COMP} GREATER -1 AND ${ASK_SHARED_COMP} GREATER -1)

IF(DIM_FIND_REQUIRED_SHARED AND DIM_FIND_REQUIRED_STATIC)
    MESSAGE(WARNING ...)
    LIST(REMOVE_ITEM DIM_FIND_COMPONENTS static)
    UNSET(DIM_FIND_REQUIRED_STATIC)
ENDIF()

Do something to the contrary if DIM_FIND_COMPONENTS is empty:

IF(NOT DIM_FIND_COMPONENTS)
    LIST(APPEND DIM_FIND_COMPONENTS shared)
    SET(DIM_FIND_REQUIRED_SHARED TRUE)
ENDIF()

The point is that DIM_FIND_COMPONENTS and DIM_FIND_REQUIRED_* are set
up properly *before* you are going to actually enable the components.

> # (4) DIM_USE_STATIC decides if DIM_LIBRARIES receives DIM_STATIC_LIBRARY
> #     or DIM_SHARED_LIBRARY
> option(DIM_FORCE_STATIC "Turn on to force the use of the static library"
> OFF)
> if( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)
>     set(DIM_LIBRARIES ${DIM_STATIC_LIBRARY} )
> else ( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)
>     set(DIM_LIBRARIES ${DIM_SHARED_LIBRARY} )
> endif( ${DIM_FORCE_STATIC} OR ${ASK_STATIC_COMP} GREATER -1)

UNSET(DIM_INCLUDE_DIRS)
UNSET(DIM_LIBRARIES)

SET(DIM_FOUND FALSE)

FIND_PATH(DIM_INCLUDE_DIR ...)

IF(DIM_INCLUDE_DIR)
    SET(DIM_FOUND TRUE)
ENDIF

IF(DIM_FIND_REQUIRED_SHARED)
    FIND_LIBRARY(DIM_SHARED_LIBRARY ...)
    FIND_PACKAGE_HANDLE_STANDARD_ARGS(
        DIM_SHARED
        DEFAULT_MSG
        DIM_INCLUDE_DIR
        DIM_SHARED_LIBRARY)
    IF(DIM_SHARED_FOUND)
        LIST(APPEND DIM_INCLUDE_DIRS ${DIM_INCLUDE_DIR} ...)
        LIST(APPEND DIM_LIBRARIES ${DIM_SHARED_LIBRARY} ...)
   ENDIF()
   LIST(REMOVE DIM_FIND_COMPONENTS shared)
   UNSET(DIM_FIND_REQUIRED_SHARED)
ENDIF()

IF(DIM_FIND_REQUIRED_STATIC)
    FIND_LIBRARY(DIM_STATIC_LIBRARY ...)
    FIND_PACKAGE_HANDLE_STANDARD_ARGS(
        DIM_STATIC
        DEFAULT_MSG
        DIM_INCLUDE_DIR
        DIM_STATIC_LIBRARY)
    IF(DIM_STATIC_FOUND)
        LIST(APPEND DIM_INCLUDE_DIRS ${DIM_INCLUDE_DIR} ...)
        LIST(APPEND DIM_LIBRARIES ${DIM_STATIC_LIBRARY} ...)
   ENDIF()
   LIST(REMOVE DIM_FIND_COMPONENTS static)
   UNSET(DIM_FIND_REQUIRED_STATIC)
ENDIF()

# Consider to handle remaining components in DIM_FIND_COMPONENTS.

Note that due to the preparatory work on DIM_FIND_COMPONENTS and the
DIM_FIND_REQUIRED_* variables, the blocks for enabling the shared and
static component have a straight forward structure. Note further that
this can be achieved only with a quite simple package like yours with
two mutually exclusive libraries; with packages providing more subtly
related components - e.g. with inter-component dependencies - things
can be much more complicated. Note finally that the user must issue

IF(DIM_FOUND AND DIM_SHARED_FOUND)

e.g., in order to check for the library's availability unless the
REQUIRED flag was given to FIND_PACKAGE(). Checking for DIM_FOUND
or DIM_SHARED_FOUND alone is *not* reliable, just as referring to
a component that hasn't been requested explicitly - or enabled by
default which, in turn, should be documented explicitly.

Regards,

Michael
--

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://www.cmake.org/mailman/listinfo/cmake



If you reply to this email, your message will be added to the discussion below:
http://cmake.3232098.n2.nabble.com/How-to-have-a-static-shared-option-in-a-Find-script-tp7287655p7291471.html
To unsubscribe from How to have a static/shared option in a Find script ?, click here.
NAML
Loading...