Hey there.

I'm trying to make a plugin system for my application, and thus each plugin 
will need to link with my main application. This is fine on Linux and macOS, as 
I can just set the ENABLE_EXPORTS property of my executable target 
(set_target_properties(${PROJECT_NAME} PROPERTIES ENABLE_EXPORTS 1), and 
plugins will link just fine. On Windows however, clang++ yells at me that it 
can't find libws2editor.dll.a.

clang++.exe: error: no such file or directory: 'ws2editor/libws2editor.dll.a'

Upon looking over the CMake docs, it says "For DLL platforms an import library 
will be created for the exported symbols and then used for linking." - This 
import library file (presumably the .dll.a) never seems to be created though.


After a bit more digging around I came across 
<https://github.com/Kitware/CMake/blob/master/Tests/Plugin/CMakeLists.txt> 
https://github.com/Kitware/CMake/blob/master/Tests/Plugin/CMakeLists.txt - When 
I clone the CMake repo and try and compile that test myself, it also fails with 
the same error when using clang + ninja! When building with MSVC/msbuild 
however it compiles just fine (My project fails to configure when generating 
files for MSVC however, and ideally I'd like to use the same build config 
across Win/Mac/Linux).

So how can I get the CMake build on Windows to create this file, or otherwise 
link with an executable?
Thanks.

If you want the full CMake scripts, they're available on GitHub.
The main executable: 
<https://github.com/CraftedCart/smblevelworkshop2/blob/master/ws2editor/CMakeLists.txt>
 
https://github.com/CraftedCart/smblevelworkshop2/blob/e85c2a0f6f9eb9a00f22b94aa79426b0874ca8e1/ws2editor/CMakeLists.txt
The plugin: 
https://github.com/CraftedCart/smblevelworkshop2/blob/e85c2a0f6f9eb9a00f22b94aa79426b0874ca8e1/ws2editorplugins/ws2editorexampleplugin/CMakeLists.txt


-- 

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