Brad King schrieb:
Ralf Habacker wrote:
For my opinion the problem here is caused by the fact that cmake uses
the value of the OUPUT_NAME property for creating the import library
name and not the target name which is expected.
to be more specific - s/not the target/not only the target/g
- there are situations like this where a specific type of file created
by a target need to have a different name - In this case the import
library (= type ARCHIVE) can have the target name as basename while the
dll/exe(= type RUNTIME) target should be changeable.
May be the following (new) properties
OUTPUT_RUNTIME_NAME
OUTPUT_ARCHIVE_NAME
OUTPUT_LIBRARY_NAME
which enforce the developer to change individual types of generated
files would solve this problem in a generic way
For the given problem
set_target_properties(k3b_bin PROPERTIES OUTPUT_RUNTIME_NAME k3b)
would solve it completly.
You can tweak the name of the import library by setting the IMPORT_PREFIX
and/or IMPORT_SUFFIX properties on the target:
set_target_properties(k3b_bin PROPERTIES IMPORT_SUFFIX _bin)
Using this property removes the extension - The doc says
Properties that affect the name of a target's output file are as
follows. The PREFIX and SUFFIX properties override the default target
name prefix (such as "lib") and suffix (such as ".so"). IMPORT_PREFIX
and IMPORT_SUFFIX are the equivalent properties for the import library
corresponding to a DLL (for SHARED library targets).
A workaround would be
if (MSVC)
set_target_properties(k3b_bin PROPERTIES IMPORT_SUFFIX _bin.lib)
endif(MSVC)
if (MINGW OR CYGWIN)
set_target_properties(k3b_bin PROPERTIES IMPORT_SUFFIX _bin.dll.a)
endif(MINGW OR CYGWIN)
which is not very comfortable - a generic solution is mentioned above.
Regards
Ralf
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake