Greetings,

I'm building a project that depends on a Windows library -- Secur32.Lib --
that is included in the regular library search path but is not one of the
specific libraries that the compiler normally links to.  In *NIX
command-line terms, the "-L<path>" is OK, I only need to specify the
"-lSecur32" part.

If I put "#pragma comment (lib, "Secur32.Lib")" in the cpp file, the system
finds and links it.  If I omit that, then the build fails with an
unresolved external symbol.

I cannot find a way to accomplish this in the CMakeLists.txt file rather
than relying on the #pragma.  CMake complains that it doesn't know how to
build it, though I've (tried to) set the IMPORTED property.  I've tried
various combinations of:

find_library(SECUR32 Secur32)
add_library(Secur32 SHARED IMPORTED)
target_link_libraries(MyTarget
Secur32)

I have not tried to set IMPORTED_LOCATION, because libraries with that name
exist in several locations, and the compiler actually knows better than I
do which one to use -- e.g., one of them is in:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\x64\Secur32.Lib

We're building in VisualStudio 2017 as a CMake project.  We have not
generated and are not using VS ",proj" or ".sln" files.  We're aiming to
build this as a multi-platform application.  (The dependence on this
library is wrapped in the appropriate #if defined ... #endif directives.)

Any enlightenment would be greatly appreciated.  Thanks.

-- 

Ted Hall
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake

Reply via email to