I'm using CMake 3.12-rc1 on Windows 10. I have the following
`CMakeLists.txt`:

cmake_minimum_required(VERSION 3.8)
project(cmake_test)
unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
add_library(main MODULE "main.c")

The generator is Visual Studio 15 2017.

I would like to suppress the "/IMPLIB" argument created for the "main"
library. In my real project, I have static and shared libraries named the
same. This works fine, because they have different extensions (lib vs dll),
but a problem arises when the linker tries to create an import library for
"something.dll" named "something.lib", while also trying to link against a
static library named "something.lib".

The import library is not needed though; in CMake terminology the DLL is a
"module" ie. loaded via DllOpen(). The documentation suggested that calling
"add_library()" with "MODULE" was what I needed here. Unfortunately the
resulting VS project still contains an import library flag for the linker.

A Stackoverflow answer[1] suggested unsetting "CMAKE_IMPORT_LIBRARY_SUFFIX"
because the source indicates[2] this will stop the flag from appearing. But
all this seems to do is drop the filename from the generated project; it
still contains this now-incorrect flag that references a directory instead
of a full path:

<ImportLibrary>C:/Users/heerij/Code/cmake-ex-2/build/Debug/</ImportLibrary>

How do I prevent the import library creation?

- Jason

  [1]
https://stackoverflow.com/questions/34575066/how-to-prevent-cmake-from-issuing-implib
  [2]
https://gitlab.kitware.com/cmake/cmake/blob/master/Source/cmComputeLinkInformation.cxx#L271
-- 

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