Add Clang support to KDECompilerSettings.cmake

Review Request #111661 - Created July 23, 2013 and submitted

Information
Milian Wolff
extra-cmake-modules
master
Reviewers
buildsystem
apaku, neundorf
Add support for Clang in KDECompilerSettings.cmake.

This more or less copies what was done for KDE4 in https://git.reviewboard.kde.org/r/111612/ .
With the changes applied I successfully installed a hello world application. The linker and compiler command lines seem to be correct and include all extended features.
I also checked and debugfull also works as expected (-g3 is added).

milian@minime:~/projects/kde4/test-ecm/build$ cmake ..
-- The C compiler identification is Clang 3.3.0
-- The CXX compiler identification is Clang 3.3.0
-- Check for working C compiler: /usr/bin/ccache
-- Check for working C compiler: /usr/bin/ccache -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/ccache
-- Check for working CXX compiler: /usr/bin/ccache -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/milian/projects/kde4/test-ecm/build

milian@minime:~/projects/kde4/test-ecm/build$ make VERBOSE=1
makeobj[0]: Entering directory `/home/milian/projects/kde4/test-ecm/build'
/usr/bin/cmake -H/home/milian/projects/kde4/test-ecm -B/home/milian/projects/kde4/test-ecm/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/milian/projects/kde4/test-ecm/build/CMakeFiles /home/milian/projects/kde4/test-ecm/build/CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/milian/projects/kde4/test-ecm/build'
/usr/bin/make -f CMakeFiles/hello.dir/build.make CMakeFiles/hello.dir/depend
make[2]: Entering directory `/home/milian/projects/kde4/test-ecm/build'
cd /home/milian/projects/kde4/test-ecm/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/milian/projects/kde4/test-ecm /home/milian/projects/kde4/test-ecm /home/milian/projects/kde4/test-ecm/build /home/milian/projects/kde4/test-ecm/build /home/milian/projects/kde4/test-ecm/build/CMakeFiles/hello.dir/DependInfo.cmake --color=
Dependee "/home/milian/projects/kde4/test-ecm/build/CMakeFiles/hello.dir/DependInfo.cmake" is newer than depender "/home/milian/projects/kde4/test-ecm/build/CMakeFiles/hello.dir/depend.internal".
Dependee "/home/milian/projects/kde4/test-ecm/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/milian/projects/kde4/test-ecm/build/CMakeFiles/hello.dir/depend.internal".
Scanning dependencies of target hello
make[2]: Leaving directory `/home/milian/projects/kde4/test-ecm/build'
/usr/bin/make -f CMakeFiles/hello.dir/build.make CMakeFiles/hello.dir/build
make[2]: Entering directory `/home/milian/projects/kde4/test-ecm/build'
/usr/bin/cmake -E cmake_progress_report /home/milian/projects/kde4/test-ecm/build/CMakeFiles 1
[100%] Building CXX object CMakeFiles/hello.dir/main.cpp.o
/usr/bin/ccache  /usr/bin/clang++ -Qunused-arguments  -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_STRICT_ITERATORS -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -D_BSD_SOURCE -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=500 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -Werror=return-type -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -DNDEBUG -DQT_NO_DEBUG   -o CMakeFiles/hello.dir/main.cpp.o -c /home/milian/projects/kde4/test-ecm/main.cpp
Linking CXX executable hello
/usr/bin/cmake -E cmake_link_script CMakeFiles/hello.dir/link.txt --verbose=1
/usr/bin/ccache  /usr/bin/clang++ -Qunused-arguments   -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -Werror=return-type -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -DNDEBUG -DQT_NO_DEBUG  -Wl,--enable-new-dtags   CMakeFiles/hello.dir/main.cpp.o  -o hello -rdynamic 
make[2]: Leaving directory `/home/milian/projects/kde4/test-ecm/build'
/usr/bin/cmake -E cmake_progress_report /home/milian/projects/kde4/test-ecm/build/CMakeFiles  1
[100%] Built target hello
make[1]: Leaving directory `/home/milian/projects/kde4/test-ecm/build'
/usr/bin/cmake -E cmake_progress_start /home/milian/projects/kde4/test-ecm/build/CMakeFiles 0
makeobj[0]: Leaving directory `/home/milian/projects/kde4/test-ecm/build'

Issues

  • 1
  • 0
  • 0
  • 1
Description From Last Updated
Is this patch complete ? This part looks wrong. This is for the lines where the version is checked, right ... Alexander Neundorf Alexander Neundorf
Alexander Neundorf
Alexander Neundorf
Commit Hook
Milian Wolff
Review request changed

Status: Closed (submitted)

Loading...