[cmake-developers] Assertion hit in CMake for KDevelop on Ubuntu

Robert Dailey rcdailey.lists at gmail.com
Wed Jan 13 11:16:23 EST 2016


Running version 3.2.2 on Ubuntu 15. I run the following command:

$ cmake .. -G"KDevelop3" -DCMAKE_C_COMPILER=gcc-4.9
-DCMAKE_CXX_COMPILER=g++-4.9 -DCMAKE_BUILD_TYPE=$config
-DCMAKE_TOOLCHAIN_FILE="../toolchains/linux_i686.toolchain.cmake"



My toolchain file is specified as follows:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR "i686")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags")
set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags")



I get the following output when I generate for KDevelop. Why is CMake
not properly generating my projects? Based on what the assertion says,
I do actually define some interface libraries, mostly to create
"dummy" targets for my third party libraries. If I have a library with
only headers and no binaries or libs, I will make them as interface
libraries. I will post a sample of this below the output below.

-- The C compiler identification is GNU 4.9.3
-- The CXX compiler identification is GNU 4.9.3
-- Check for working C compiler: /usr/bin/gcc-4.9
-- Check for working C compiler: /usr/bin/gcc-4.9 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++-4.9
-- Check for working CXX compiler: /usr/bin/g++-4.9 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Generating copy_dlls for configurations: Debug
-- + UI                            > Core/UI/CMakeLists.txt
-- + WebServices                   > Core/WebServices/CMakeLists.txt
-- + Barcode                       > Core/Barcode/CMakeLists.txt
-- + TestUtils                     > Core/UI/TestUtils/CMakeLists.txt
-- + DynamicUI                     > Applications/DynamicUI/CMakeLists.txt
-- + OrderEntry                    > Applications/OrderEntry/CMakeLists.txt
-- + PATT                          > Applications/PATT/CMakeLists.txt
-- + EmailClub                     > Applications/EmailClub/CMakeLists.txt
-- + Survey                        > Applications/Survey/CMakeLists.txt
-- + SettingsManager               > Applications/SettingsManager/CMakeLists.txt
-- + zFacebook                     > Applications/zFacebook/CMakeLists.txt
-- + Loyalty                       > Applications/Loyalty/CMakeLists.txt
-- + MessagingModule               > Applications/MessagingModule/CMakeLists.txt
-- + zApp                          > Applications/zApp/CMakeLists.txt
-- + zApp_Library                  > Applications/zApp/CMakeLists.txt
-- Configuring done
cmake: ../../Source/cmTarget.cxx:722: void
cmTarget::GetSourceFiles(std::vector<std::__cxx11::basic_string<char>
>&, const string&) const: Assertion `this->GetType() !=
INTERFACE_LIBRARY' failed.
../frontend/Core/CMake/helper-scripts/kdevelop-linux.sh: line 13:
21545 Aborted                 (core dumped) cmake "$DIR/../../.."
-G"KDevelop3" -DCMAKE_C_COMPILER=gcc-4.9 -DCMAKE_CXX_COMPILER=g++-4.9
-DCMAKE_BUILD_TYPE=$config
-DCMAKE_TOOLCHAIN_FILE="$DIR/../toolchains/linux_i686.toolchain.cmake"



Sample of how I define interface libraries (contents of one of my
CMakeLists.txt):

set( project_name Catch )
add_library( ${project_name} INTERFACE )
target_include_directories( ${project_name} INTERFACE include )


More information about the cmake-developers mailing list