Hi all,I tried to build cmake with ninja generator enabled and build cmake itself with ninja.
Nice, it works ;-))Only a view tests fails, but most of the problems are NOT caused by ninja.
It seems, that while testing, cmake on Darwin use options only valid for old native apple gcc?
But I use gcc47 installed with macports! Here is my test script: #!/bin/sh MAKECOMMAND=/opt/local/bin/ninja set -x set -e /usr/local/bin/cmake -G Ninja -DCMAKE_TEST_GENERATOR:STRING="Ninja" \-DCMAKE_TEST_MAKEPROGRAM:FILEPATH="${MAKECOMMAND}" - DCMAKE_ENABLE_NINJA:BOOL="ON" \
-DBUILD_CursesDialog:BOOL="OFF" -DBUILD_QtDialog:BOOL="OFF" \
-DMAKECOMMAND:STRING="${MAKECOMMAND} -d stats" \
../cmake
time ${MAKECOMMAND} clean
# Cleaning... 783 files.
time ${MAKECOMMAND} -d stats
# + /opt/local/bin/ninja -d stats
# ...
# [405/405] Generating ../Docs/cmake.txt
# metric count avg (us) total (ms)
# .ninja parse 2 5540.5 11.1
# canonicalize str 2986 0.3 1.0
# canonicalize path 2986 0.2 0.5
# lookup node 2986 0.1 0.4
# .ninja_log load 1 5449.0 5.4
# node stat 1014 5.2 5.3
# depfile load 378 7.8 2.9
#
# path->node hash load 0.73 (1131 entries / 1543 buckets)
#
# real 1m55.262s
# user 3m1.512s
# sys 0m26.803s
time ${MAKECOMMAND} -d stats -d explain
# + /opt/local/bin/ninja -d stats -d explain
# ninja: no work to do.
# metric count avg (us) total (ms)
# .ninja parse 2 5645.0 11.3
# canonicalize str 2986 0.3 1.0
# canonicalize path 10624 0.2 1.9
# lookup node 10624 0.2 2.1
# .ninja_log load 1 4944.0 4.9
# node stat 1565 6.9 10.8
# depfile load 378 52.4 19.8
#
# path->node hash load 0.55 (1682 entries / 3079 buckets)
#
# real 0m0.057s
# user 0m0.030s
# sys 0m0.023s
########
exit
########
${MAKECOMMAND} test
# Total Test time (real) = 860.22 sec
# The following tests FAILED:
# 54 - ExportImport (Failed)
# 59 - Architecture (Failed)
# 61 - Qt4Deploy (Failed)
# 83 - BuildDepends (Failed)
# 93 - CPackComponentsForAll-DragNDrop-IgnoreGroup (Failed)
# 94 - CPackComponentsForAll-DragNDrop-AllInOne (Failed)
# 96 - X11 (Failed)
# 128 - BundleTest (Failed)
# 129 - CFBundleTest (Failed)
# 130 - ObjC++ (Failed)
# 230 - CMake.CheckSourceTree (Failed)
# Errors while running CTest
# ninja: build stopped: subcommand failed.
I have prepared a small patch to fix the X11 test.
For the others, I need your help please.
I attach the logs of my manually started tests as info.
With regards
Claus
TestsX11HelloWorldX11.patch
Description: Binary data
############################################
# 54 - ExportImport (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport
claus-kleins-macbook-pro:ExportImport clausklein$ ninja
[2/5] Generating ExportProject
loading initial cache file
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/InitialCache.cmake
Internal cmake changing into directory:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Export
======== CMake output ======
Configuring
Configuring done
Generating
Generating done
Build files have been written to:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Export
======== End CMake output ======
Change Dir:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Export
Run Build Command:/opt/local/bin/ninja install
[1/1] Install the project...
-- Install configuration: ""
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/bin/testExe1-4
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/bin/testExe1
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib1.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib2.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/bin/testExe2
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib3lib.1.2.dylib
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib3lib.3.dylib
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Frameworks/testLib4.framework
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Frameworks/testLib4.framework/Versions
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Frameworks/testLib4.framework/Versions/A
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Frameworks/testLib4.framework/Versions/A/testLib4
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Applications/testExe3.app
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Applications/testExe3.app/Contents
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Applications/testExe3.app/Contents/MacOS
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Applications/testExe3.app/Contents/MacOS/testExe3
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestExe2lib.dylib
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib4lib.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib4libdbg.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib4libopt.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib6.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLibCycleA.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLibCycleB.a
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/impl/libtestExe2libImp.dylib
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/impl/libtestLib3Imp.dylib
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/impl/dep/libtestLib3ImpDep.dylib
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/libtestLib5.dylib
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/exp/exp.cmake
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/exp/exp-noconfig.cmake
[3/5] Generating ImportProject
FAILED: cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport &&
/Users/clausklein/Downloads/CmakeNinjaBuildDir/bin/ctest --build-and-test
/Users/clausklein/Downloads/cmake/Tests/ExportImport/Import
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Import
--build-noclean --build-project Import --build-generator Ninja
--build-makeprogram /opt/local/bin/ninja --build-options
-C/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/InitialCache.cmake
loading initial cache file
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/InitialCache.cmake
Internal cmake changing into directory:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Import
Error: cmake execution failed
Configuring
CMake Error at
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/exp/exp-noconfig.cmake:203
(MESSAGE):
The imported target "exp_testLib4" references the file
"/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/Frameworks/testLib4.framework/testLib4"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/exp/exp-noconfig.cmake"
but not all the files it references.
Call Stack (most recent call first):
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ExportImport/Root/lib/exp/exp.cmake:76
(INCLUDE)
A/CMakeLists.txt:5 (include)
Configuring
Configuring
Configuring incomplete, errors occurred!
ninja: build stopped: subcommand failed.
claus-kleins-macbook-pro:ExportImport clausklein$
############################################
# 59 - Architecture (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Architecture
claus-kleins-macbook-pro:Architecture clausklein$ ninja
[1/2] Building C object CMakeFiles/bar.dir/bar.c.o
FAILED: /opt/local/bin/gcc -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk
-MMD -MT CMakeFiles/bar.dir/bar.c.o -MF CMakeFiles/bar.dir/bar.c.o.d -o
CMakeFiles/bar.dir/bar.c.o -c
/Users/clausklein/Downloads/cmake/Tests/Architecture/bar.c
gcc: error: unrecognized option '-arch'
ninja: build stopped: subcommand failed.
claus-kleins-macbook-pro:Architecture clausklein$
############################################
# 61 - Qt4Deploy (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy
claus-kleins-macbook-pro:Qt4Deploy clausklein$ ninja
[1/1]
/Users/clausklein/Downloads/CmakeNinjaBuildDir/bin/cmake...wnloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/cmake_install.cmake
FAILED: cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy &&
/Users/clausklein/Downloads/CmakeNinjaBuildDir/bin/cmake -P
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/cmake_install.cmake
-- Install configuration: ""
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/./testdeploy.app
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/./testdeploy.app/Contents
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/./testdeploy.app/Contents/MacOS
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/./testdeploy.app/Contents/MacOS/testdeploy
-- Installing:
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/testdeploy.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib
-- fixup_qt4_executable
--
executable='/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/testdeploy.app'
-- qtplugins=''
--
libs='/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/testdeploy.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib'
-- dirs='/opt/local/lib;/opt/local/bin'
-- plugins_dir=''
-- request_qt_conf=''
-- Writing
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/testdeploy.app/Contents/Resources/qt.conf
-- fixup_bundle
--
app='/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/testdeploy.app'
--
libs='/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/Qt4Deploy/install/testdeploy.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib'
-- dirs='/opt/local/lib;/opt/local/bin'
-- warning: *NOT* handled - .app directory case...
CMake Error at
/Users/clausklein/Downloads/cmake/Modules/BundleUtilities.cmake:668 (message):
error: fixup_bundle: not a valid bundle
Call Stack (most recent call first):
/Users/clausklein/Downloads/cmake/Modules/DeployQt4.cmake:168 (fixup_bundle)
cmake_install.cmake:45 (FIXUP_QT4_EXECUTABLE)
ninja: build stopped: subcommand failed.
claus-kleins-macbook-pro:Qt4Deploy clausklein$
############################################
# 83 - BuildDepends (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/BuildDepends/Project
claus-kleins-macbook-pro:Project clausklein$ ninja
[3/12] Building CXX object CMakeFiles/zot.dir/zot.cxx.o
FAILED: /opt/local/bin/c++ -arch ppc -arch i386 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -I. -MMD -MT CMakeFiles/zot.dir/zot.cxx.o -MF
CMakeFiles/zot.dir/zot.cxx.o.d -o CMakeFiles/zot.dir/zot.cxx.o -c
/Users/clausklein/Downloads/cmake/Tests/BuildDepends/Project/zot.cxx
c++: error: unrecognized option '-arch'
[3/12] Building CXX object CMakeFiles/zot.dir/zot_macro_dir.cxx.o
FAILED: /opt/local/bin/c++ -arch ppc -arch i386 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -I. -MMD -MT
CMakeFiles/zot.dir/zot_macro_dir.cxx.o -MF
CMakeFiles/zot.dir/zot_macro_dir.cxx.o.d -o
CMakeFiles/zot.dir/zot_macro_dir.cxx.o -c
/Users/clausklein/Downloads/cmake/Tests/BuildDepends/Project/zot_macro_dir.cxx
c++: error: unrecognized option '-arch'
[3/12] Building CXX object CMakeFiles/foo.dir/foo.cxx.o
FAILED: /opt/local/bin/c++ -arch ppc -arch i386 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -I. -MMD -MT CMakeFiles/foo.dir/foo.cxx.o -MF
CMakeFiles/foo.dir/foo.cxx.o.d -o CMakeFiles/foo.dir/foo.cxx.o -c foo.cxx
c++: error: unrecognized option '-arch'
ninja: build stopped: subcommand failed.
claus-kleins-macbook-pro:Project clausklein$
############################################
# 93 - CPackComponentsForAll-DragNDrop-IgnoreGroup (Failed)
############################################
cd
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/CPackComponentsForAll/buildDragNDrop-IgnoreGroup
ninja
ninja package
#FIXME ? all OK
############################################
# 94 - CPackComponentsForAll-DragNDrop-AllInOne (Failed)
############################################
cd
/Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/CPackComponentsForAll/buildDragNDrop-AllInOne
ninja
ninja package
#FIXME ? all OK
############################################
# 96 - X11 (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/X11
claus-kleins-macbook-pro:X11 clausklein$ ninja
[1/2] Building CXX object CMakeFiles/HelloWorldX11.dir/HelloWorldX11.cxx.o
FAILED: /opt/local/bin/c++ -DCMAKE_HAS_X -MMD -MT
CMakeFiles/HelloWorldX11.dir/HelloWorldX11.cxx.o -MF
CMakeFiles/HelloWorldX11.dir/HelloWorldX11.cxx.o.d -o
CMakeFiles/HelloWorldX11.dir/HelloWorldX11.cxx.o -c
/Users/clausklein/Downloads/cmake/Tests/X11/HelloWorldX11.cxx
/Users/clausklein/Downloads/cmake/Tests/X11/HelloWorldX11.cxx: In constructor
'Main::Main(int, char* const*)':
/Users/clausklein/Downloads/cmake/Tests/X11/HelloWorldX11.cxx:107:32: error:
'rand' was not declared in this scope
/Users/clausklein/Downloads/cmake/Tests/X11/HelloWorldX11.cxx: In member
function 'void Main::close_x()':
/Users/clausklein/Downloads/cmake/Tests/X11/HelloWorldX11.cxx:140:9: error:
'exit' was not declared in this scope
ninja: build stopped: subcommand failed.
claus-kleins-macbook-pro:X11 clausklein$
############################################
# 128 - BundleTest (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/BundleTest
ninja
ninja BundleTest
#FIXME ? all OK
############################################
# 129 - CFBundleTest (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/CFBundleTest
ninja
ninja CFBundleTest
#FIXME ? all OK
############################################
# 130 - ObjC++ (Failed)
############################################
cd /Users/clausklein/Downloads/CmakeNinjaBuildDir/Tests/ObjC++
claus-kleins-macbook-pro:ObjC++ clausklein$ ninja
[1/2] Building CXX object CMakeFiles/ObjC++.dir/objc++.mm.o
FAILED: /opt/local/bin/c++ -MMD -MT CMakeFiles/ObjC++.dir/objc++.mm.o -MF
CMakeFiles/ObjC++.dir/objc++.mm.o.d -o CMakeFiles/ObjC++.dir/objc++.mm.o -c
/Users/clausklein/Downloads/cmake/Tests/ObjC++/objc++.mm
/Users/clausklein/Downloads/cmake/Tests/ObjC++/objc++.mm:1:21: fatal error:
iostream.h: No such file or directory
compilation terminated.
ninja: build stopped: subcommand failed.
claus-kleins-macbook-pro:ObjC++ clausklein$
############################################
# 230 - CMake.CheckSourceTree (Failed)
############################################
# FIXME ! how to dit manual?
-- 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
