[CMake] find_library in Windows

Vyacheslav Karamov ubuntulist at yandex.ru
Tue Apr 17 05:13:31 EDT 2012


This code doesn't work also:

if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")

find_library(spinx
NAME sphinxbase
HINTS "${CMAKE_CURRENT_SOURCE_DIR}/../../Sphinx/sphinxbase/bin/Release"
DOC "SphinX release library"
)

find_library(spinx_debug
NAME sphinxbased
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Sphinx/sphinxbase/bin/Debug
DOC "SphinX debug library"
)
endif()

17.04.2012 11:47, Vyacheslav Karamov написал:
> Hi All!
>
> I have a problem with find_library in Windows. It does find static 
> library, but not import library.
> It's confusing to me.
>
> if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
>
> find_library(spinx
> NAMES sphinxbase
> ${CMAKE_CURRENT_SOURCE_DIR}/../../Sphinx/sphinxbase/bin/Release
> )
>
> find_library(spinx_debug
> NAMES sphinxbased
> ${CMAKE_CURRENT_SOURCE_DIR}/../../Sphinx/sphinxbase/bin/Debug
> )
> endif()
>
> if (NOT spinx)
> message(STATUS "SphinX library has not been found")
> endif()
>
> if (NOT spinx_debug)
> message(STATUS "Debug version of SphinX library has not been found")
> endif()
>
>
> Nor debug neither release versions have been found.
> This is strange, because I have
> ../../Sphinx/sphinxbase/bin/Debug/sphinxbased.dll
> ../../Sphinx/sphinxbase/bin/Debug/sphinxbase.lib
> and
> ../../Sphinx/sphinxbase/bin/Release/sphinxbase.dll
> ../../Sphinx/sphinxbase/bin/Release/sphinxbase.lib
>
>
> I also tried another approach:
>
> link_directories(
> ${CMAKE_CURRENT_SOURCE_DIR}/../../Sphinx/sphinxbase/bin/Release
> ${CMAKE_CURRENT_SOURCE_DIR}/../../Sphinx/sphinxbase/bin/Debug
> )
>
> target_link_libraries(${lib_name}
> debug ${do_scoring_debug} sphinxbased
> )
>
> target_link_libraries(${lib_name}
> optimized ${do_scoring} sphinxbase
> )
>
> but in this case both debug and release versions of sphinxbase are 
> linked with my target library.
>


More information about the CMake mailing list