[cmake-developers] [CMake 0014634]: Setting CMAKE_BUILD_TYPE in a subdirectory breaks installation of exported targets.

Mantis Bug Tracker mantis at public.kitware.com
Fri Dec 6 07:30:12 EST 2013


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=14634 
====================================================================== 
Reported By:                Stephen Kelly
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14634
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-12-06 07:30 EST
Last Modified:              2013-12-06 07:30 EST
====================================================================== 
Summary:                    Setting CMAKE_BUILD_TYPE in a subdirectory breaks
installation of exported targets.
Description: 
stephen at hal:~/dev/src/kf5/tier1/build{frameworks}$ cat ../CMakeLists.txt 
cmake_minimum_required(VERSION 2.8.12)

project(myproj)

add_subdirectory(src)
Qt( base ) KDE ( ) 
stephen at hal:~/dev/src/kf5/tier1/build{frameworks}$ cat ../src/CMakeLists.txt 

set(CMAKE_BUILD_TYPE RelWithDebInfo)

add_library(Foo SHARED foo.cpp)

install(TARGETS Foo EXPORT FooTargets DESTINATION lib)

install(EXPORT FooTargets DESTINATION "lib/cmake/Foo" FILE FooTargets.cmake
NAMESPACE KF5:: )
Qt( base ) KDE ( ) 
stephen at hal:~/dev/src/kf5/tier1/build{frameworks}$ rm -rf *
Qt( base ) KDE ( ) 
stephen at hal:~/dev/src/kf5/tier1/build{frameworks}$ cmake ..
-DCMAKE_INSTALL_PREFIX=prefix
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/lib/icecc/bin/cc
-- Check for working C compiler: /usr/lib/icecc/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/icecc/bin/c++
-- Check for working CXX compiler: /usr/lib/icecc/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/stephen/dev/src/kf5/tier1/build
Qt( base ) KDE ( ) 
stephen at hal:~/dev/src/kf5/tier1/build{frameworks}$ make
makeobj[0]: Entering directory `/home/stephen/dev/src/kf5/tier1/build'
Scanning dependencies of target Foo
[100%] Building CXX object src/CMakeFiles/Foo.dir/foo.cpp.o
Linking CXX shared library libFoo.so
[100%] Built target Foo
makeobj[0]: Leaving directory `/home/stephen/dev/src/kf5/tier1/build'
Qt( base ) KDE ( ) 
stephen at hal:~/dev/src/kf5/tier1/build{frameworks}$ mi
makeobj[0]: Entering directory `/home/stephen/dev/src/kf5/tier1/build'
[100%] Built target Foo
Install the project...
-- Install configuration: ""
-- Installing: /home/stephen/dev/src/kf5/tier1/build/prefix/lib/libFoo.so
-- Installing:
/home/stephen/dev/src/kf5/tier1/build/prefix/lib/cmake/Foo/FooTargets.cmake
makeobj[0]: Leaving directory `/home/stephen/dev/src/kf5/tier1/build'


No config-specific FooTargets-*.cmake file is installed, so the installation is
not usable.

====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-12-06 07:30 Stephen Kelly  New Issue                                    
======================================================================




More information about the cmake-developers mailing list