MantisBT - CMake | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0015539 | CMake | CMake | public | 2015-04-29 06:27 | 2015-11-02 09:13 |
Reporter | Mathieu Malaterre | ||||
Assigned To | |||||
Priority | normal | Severity | text | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | OS | OS Version | |||
Product Version | CMake 3.1.2 | ||||
Target Version | CMake 3.3 | Fixed in Version | CMake 3.3 | ||
Summary | 0015539: Clarify documentation of LIBRARY_OUTPUT_DIRECTORY for MODULE | ||||
Description | As per documentation for LIBRARY_OUTPUT_DIRECTORY, we have: $ cmake --help-property LIBRARY_OUTPUT_DIRECTORY [...] For DLL platforms the DLL part of a shared library is treated as a runtime target and the corresponding import library is treated as an archive target. [...] And $ cmake --help-command add_library [...] ``MODULE`` libraries are plugins that are not linked into other targets but may be loaded dynamically at runtime using dlopen-like functionality. [...] However using the following simple demo project: $ cat foo.c __declspec( dllexport ) int foo() { return 42; } $ cat CMakeLists.txt project(demo) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/dll_part) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib_part) add_library(foo_shared SHARED foo.c) add_library(foo_module MODULE foo.c) After compilation leads to: $ find . -name \*.dll ./lib_part/foo_module.dll ./dll_part/foo_shared.dll Which means: 1. Either MODULE is not a library since it's dll part is generated in `LIBRARY_OUTPUT_DIRECTORY`, which imply the documentation is inaccurate 2. Or MODULE is indeed a library, but there is a bug in cmake where the dll part of the library is generated in the `LIBRARY_OUTPUT_DIRECTORY` path. | ||||
Steps To Reproduce | |||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2015-04-29 06:27 | Mathieu Malaterre | New Issue | |||
2015-04-29 08:53 | Brad King | Note Added: 0038630 | |||
2015-04-29 08:55 | Mathieu Malaterre | Note Added: 0038631 | |||
2015-04-29 09:52 | Brad King | Note Added: 0038632 | |||
2015-04-29 09:52 | Brad King | Severity | minor => text | ||
2015-04-29 09:52 | Brad King | Status | new => resolved | ||
2015-04-29 09:52 | Brad King | Resolution | open => fixed | ||
2015-04-29 09:52 | Brad King | Fixed in Version | => CMake 3.3 | ||
2015-04-29 09:52 | Brad King | Target Version | => CMake 3.3 | ||
2015-04-29 09:52 | Brad King | Summary | LIBRARY_OUTPUT_DIRECTORY for MODULE => Clarify documentation of LIBRARY_OUTPUT_DIRECTORY for MODULE | ||
2015-04-29 10:05 | Mathieu Malaterre | Note Added: 0038633 | |||
2015-04-29 10:10 | Brad King | Note Added: 0038634 | |||
2015-04-29 10:16 | Mathieu Malaterre | Note Added: 0038635 | |||
2015-04-29 10:23 | Brad King | Note Added: 0038636 | |||
2015-04-29 10:28 | Mathieu Malaterre | Note Added: 0038637 | |||
2015-04-29 11:18 | Brad King | Note Added: 0038638 | |||
2015-11-02 09:13 | Robert Maynard | Note Added: 0039794 | |||
2015-11-02 09:13 | Robert Maynard | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|