The following issue has been SUBMITTED. ====================================================================== http://public.kitware.com/Bug/view.php?id=14561 ====================================================================== Reported By: Kiron Assigned To: ====================================================================== Project: CMake Issue ID: 14561 Category: CMake Reproducibility: always Severity: minor Priority: normal Status: new ====================================================================== Date Submitted: 2013-11-12 03:22 EST Last Modified: 2013-11-12 03:22 EST ====================================================================== Summary: Errors with add_libaray(name INTERFACE) when TARGET_SUPPORTS_SHARED_LIBS is false Description: cmake version 2.8.12.20131111-g13da
When using add_libaray(name INTERFACE) command the following warnings/errors are reported by cmake when TARGET_SUPPORTS_SHARED_LIBS is FALSE. Embedded cross compile targets usually do not support shared libs. (see also Steps To Preproduce) > cmake -H. -Bbuild -- Building for: Visual Studio 11 2012 -- The C compiler identification is MSVC 17.0.60610.1 -- The CXX compiler identification is MSVC 17.0.60610.1 -- Check for working C compiler using: Visual Studio 11 2012 -- Check for working C compiler using: Visual Studio 11 2012 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler using: Visual Studio 11 2012 -- Check for working CXX compiler using: Visual Studio 11 2012 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMake Warning (dev) at CMakeLists.txt:6 (add_library): ADD_LIBRARY called with MODULE option but the target platform does not support dynamic linking. Building a STATIC library instead. This may lead to problems. This warning is for project developers. Use -Wno-dev to suppress it. You have called ADD_LIBRARY for library foo without any source files. This typically indicates a problem with your CMake Lists.txt file -- Configuring done CMake Error: CMake can not determine linker language for target: foo -- Generating done -- Build files have been written to: C:/xxx/build > echo %ErrorLevel% 1 Steps to Reproduce: Create CMakeLists.txt with following content: cmake_minimum_required(VERSION 2.8.12.20131009) set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE) add_library(foo INTERFACE) run following command: cmake -H. -Bbuild echo %ErrorLevel% ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2013-11-12 03:22 Kiron New Issue ====================================================================== -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
