[CMake] find_library in Windows

Vyacheslav Karamov ubuntulist at yandex.ru
Tue Apr 17 04:47:43 EDT 2012


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