View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0015328CMakeCMakepublic2014-12-27 14:412016-06-10 14:21
ReporterRené J.V. Bertin 
Assigned ToGregor Jasny 
PrioritynormalSeverityblockReproducibilityalways
StatusclosedResolutionfixed 
PlatformMacOSXOS Version10.9.5
Product VersionCMake 3.0.2 
Target VersionCMake 3.5Fixed in VersionCMake 3.5 
Summary0015328: cmake generates corrupt Xcode projects for KDE projects
DescriptionWhen using cmake to create an Xcode project for building KDE applications from MacPorts (that build fine with the Makefiles generator), the generation terminates fine, but Xcode fails to open the generated project because of a parsing error.
Steps To Reproduce1) Install MacPorts and the required dependencies for KDE apps
2) build a target project from source using MacPorts and retrieve the cmake command line from the build log
3) in a fresh build directory, execute the same cmake command but add -G Xcode to generate an XCode project.
For digikam, this is `cmake -DCMAKE_INSTALL_PREFIX=/opt/local -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_INSTALL_RPATH=/opt/local/lib -DCMAKE_INSTALL_NAME_DIR=/opt/local/lib -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_MODULE_PATH=/opt/local/share/cmake/Modules -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev -DBUILD_SHARED_LIBS=ON -DBUNDLE_INSTALL_DIR=/Applications/MacPorts/KDE4 -DKDE_DISTRIBUTION_TEXT="MacPorts/Mac OS X" -DQT_QT_INCLUDE_DIR=/opt/local/include -DQT_QMAKESPEC=macx-g++ -DQT_ZLIB_LIBRARY=/opt/local/lib/libz.dylib -DQT_PNG_LIBRARY=/opt/local/lib/libpng.dylib -DDOCBOOKXSL_DIR=/opt/local/share/xsl/docbook-xsl -DGETTEXT_INCLUDE_DIR=/opt/local/include -DGETTEXT_LIBRARY=/opt/local/lib/libgettextlib.dylib -DGIF_INCLUDE_DIR=/opt/local/include -DGIF_LIBRARY=/opt/local/lib/libgif.dylib -DJASPER_INCLUDE_DIR=/opt/local/include -DJASPER_LIBRARY=/opt/local/lib/libjasper.dylib -DJPEG_INCLUDE_DIR=/opt/local/include -DJPEG_LIBRARY=/opt/local/lib/libjpeg.dylib -DLBER_LIBRARIES=/opt/local/lib/liblber.dylib -DLDAP_INCLUDE_DIR=/opt/local/include -DLDAP_LIBRARIES=/opt/local/lib/libldap.dylib -DLIBEXSLT_INCLUDE_DIR=/opt/local/include -DLIBEXSLT_LIBRARIES=/opt/local/lib/libexslt.dylib -DLIBICALSS_LIBRARY=/opt/local/lib/libicalss.dylib -DLIBICAL_INCLUDE_DIRS=/opt/local/include -DLIBICAL_LIBRARY=/opt/local/lib/libical.dylib -DLIBINTL_INCLUDE_DIR=/opt/local/include -DLIBINTL_LIBRARY=/opt/local/lib/libintl.dylib -DLIBXML2_INCLUDE_DIR=/opt/local/include/libxml2 -DLIBXML2_LIBRARIES=/opt/local/lib/libxml2.dylib -DLIBXML2_XMLLINT_EXECUTABLE=/opt/local/bin/xmllint -DLIBXSLT_INCLUDE_DIR=/opt/local/include -DLIBXSLT_LIBRARIES=/opt/local/lib/libxslt.dylib -DMYSQLD_EXECUTABLE=/opt/local/libexec/mysqld -DMYSQL_INCLUDE_DIR=/opt/local/include/mysql5/mysql -DMYSQL_LIB_DIR=/opt/local/lib/mysql5/mysql -DMYSQLCONFIG_EXECUTABLE=/opt/local/bin/mysql_config5 -DOPENAL_INCLUDE_DIR=/System/Library/Frameworks/OpenAL.framework/Headers -DOPENAL_LIBRARY=/System/Library/Frameworks/OpenAL.framework -DPNG_INCLUDE_DIR=/opt/local/include -DPNG_PNG_INCLUDE_DIR=/opt/local/include -DPNG_LIBRARY=/opt/local/lib/libpng.dylib -DTIFF_INCLUDE_DIR=/opt/local/include -DTIFF_LIBRARY=/opt/local/lib/libtiff.dylib -DENABLE_KDEPIMLIBSSUPPORT:BOOL=ON -DOpenCV_DIR=/opt/local/lib/cmake -DDIGIKAMSC_COMPILE_LIBKGEOMAP:BOOL=ON -DDIGIKAMSC_COMPILE_LIBKVKONTAKTE:BOOL=ON -DDIGIKAMSC_COMPILE_LIBMEDIAWIKI:BOOL=ON -DDIGIKAMSC_COMPILE_LIBKFACE:BOOL=ON -Wno-dev ../digikam-4.6.0 -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_STRIP:FILEPATH=/bin/echo -DDIGIKAMSC_COMPILE_DOC=on -DDIGIKAMSC_COMPILE_PO=OFF -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=off -DENABLE_LCMS2=on -DENABLE_INTERNALMYSQL=off -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" -DCMAKE_OSX_ARCHITECTURES="x86_64" -G Xcode ../digikam-4.6.0`

4) Try to open the generated Xcode project file in Xcode (5.1)
Additional InformationThis hasn't been working for me on OS X 10.6.8 (Xcode 3.2.6) and now 10.9.5, neither with cmake 3.0.2 nor with older versions.

I'm attaching the generated CMakeCache.txt as well as the xml file inside the Xcode project bundle (if this bugtracker allows me to attach multiple files).
TagsNo tags attached.
Attached Filestxt file icon CMakeCache.txt [^] (152,974 bytes) 2014-12-27 14:41 [Show Content]
zip file icon project.pbxproj.zip [^] (301,959 bytes) 2014-12-27 14:42
zip file icon digikam-sc=project.pbxproj.zip [^] (628,343 bytes) 2014-12-27 14:44
txt file icon CMakeCache-cmake-3.3.1.txt [^] (46,718 bytes) 2015-09-14 16:53 [Show Content]
zip file icon Konsole.xcodeproj.zip [^] (53,954 bytes) 2015-09-14 16:53

 Relationships
related to 0015969closed String property broken in cmake 3.5.0-rc2 with XCode 

  Notes
(0037531)
René J.V. Bertin (reporter)
2014-12-27 14:46

digikam-sc=project.pbxproj.zip is the zipped file inside the generated toplevel digikam Xcode project (digikam-sc.xcodeproj/project.pbxproj); project.pbxproj.zip is the zipped file inside the Xcode project in the core dir (core/digikam.xcodeproj/project.pbxproj).
(0037631)
Brad King (manager)
2015-01-08 11:49

First, please test with CMake 3.1 just in case it happened to be fixed already.

Then, please try to strip down the project to a simpler case, preferably standalone.
(0039422)
Gregor Jasny (developer)
2015-09-14 16:07

Could you please re-try with CMake 3.3.1? I fixed some quoting bugs there. If it still fails I'll take a look at the file generated with 3.3.1.
(0039423)
René J.V. Bertin (reporter)
2015-09-14 16:51

Well, the issue remains the same. I tried with a somewhat simpler KDE project, "konsole":

- install MacPorts and pull in all depencies with

%> sudo port patch konsole +docs

pick a build directory

%>cmake -DCMAKE_INSTALL_PREFIX=/opt/local -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_INSTALL_RPATH=/opt/local/lib -DCMAKE_INSTALL_NAME_DIR=/opt/local/lib -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_MODULE_PATH=/opt/local/share/cmake/Modules -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev -DCMAKE_BUILD_TYPE:STRING=MacPorts -DCMAKE_STRIP:FILEPATH=/bin/echo -DBUILD_SHARED_LIBS=ON -DBUNDLE_INSTALL_DIR=/Applications/MacPorts/KDE4 -DKDE_DISTRIBUTION_TEXT="MacPorts/Mac OS X" -DQT_QT_INCLUDE_DIR=/opt/local/include/qt4 -DQT_QMAKESPEC=macx-g++ -DQT_ZLIB_LIBRARY=/opt/local/lib/libz.dylib -DQT_PNG_LIBRARY=/opt/local/lib/libpng.dylib -DDOCBOOKXSL_DIR=/opt/local/share/xsl/docbook-xsl -DGETTEXT_INCLUDE_DIR=/opt/local/include -DGETTEXT_LIBRARY=/opt/local/lib/libgettextlib.dylib -DGIF_INCLUDE_DIR=/opt/local/include -DGIF_LIBRARY=/opt/local/lib/libgif.dylib -DJASPER_INCLUDE_DIR=/opt/local/include -DJASPER_LIBRARY=/opt/local/lib/libjasper.dylib -DJPEG_INCLUDE_DIR=/opt/local/include -DJPEG_LIBRARY=/opt/local/lib/libjpeg.dylib -DLBER_LIBRARIES=/opt/local/lib/liblber.dylib -DLDAP_INCLUDE_DIR=/opt/local/include -DLDAP_LIBRARIES=/opt/local/lib/libldap.dylib -DLIBEXSLT_INCLUDE_DIR=/opt/local/include -DLIBEXSLT_LIBRARIES=/opt/local/lib/libexslt.dylib -DLIBICALSS_LIBRARY=/opt/local/lib/libicalss.dylib -DLIBICAL_INCLUDE_DIRS=/opt/local/include -DLIBICAL_LIBRARY=/opt/local/lib/libical.dylib -DLIBINTL_INCLUDE_DIR=/opt/local/include -DLIBINTL_LIBRARY=/opt/local/lib/libintl.dylib -DLIBXML2_INCLUDE_DIR=/opt/local/include/libxml2 -DLIBXML2_LIBRARIES=/opt/local/lib/libxml2.dylib -DLIBXML2_XMLLINT_EXECUTABLE=/opt/local/bin/xmllint -DLIBXSLT_INCLUDE_DIR=/opt/local/include -DLIBXSLT_LIBRARIES=/opt/local/lib/libxslt.dylib -DMYSQLD_EXECUTABLE=/opt/local/libexec/mysqld -DMYSQL_INCLUDE_DIR=/opt/local/include/mysql5/mysql -DMYSQL_LIB_DIR=/opt/local/lib/mysql5/mysql -DMYSQLCONFIG_EXECUTABLE=/opt/local/bin/mysql_config5 -DOPENAL_INCLUDE_DIR=/System/Library/Frameworks/OpenAL.framework/Headers -DOPENAL_LIBRARY=/System/Library/Frameworks/OpenAL.framework -DPNG_INCLUDE_DIR=/opt/local/include -DPNG_PNG_INCLUDE_DIR=/opt/local/include -DPNG_LIBRARY=/opt/local/lib/libpng.dylib -DTIFF_INCLUDE_DIR=/opt/local/include -DTIFF_LIBRARY=/opt/local/lib/libtiff.dylib -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" -DCMAKE_OSX_ARCHITECTURES="x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.9" -DCMAKE_OSX_SYSROOT="/" `port work konsole`/konsole-4.14.3 -G Xcode


I'll be attaching the generated CMakeCache.txt and XCode project.
(0040028)
Gregor Jasny (developer)
2015-12-27 05:07

The problem here is the line:
OTHER_CPLUSPLUSFLAGS = " -DKDESRCDIR=\"\\"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_konsole/konsole/work/konsole-4.14.3/src/tests/\\"\"  
";
(0040039)
Gregor Jasny (developer)
2016-01-02 11:03

Pushed xcode-escape-backslash topic into next
(0040144)
Brad King (manager)
2016-01-07 13:29

Re 0015328:0040039: Thanks. The change is:

 Xcode: Escape all backslashes in strings
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba39d7e9 [^]
(0041256)
Kitware Robot (administrator)
2016-06-10 14:21

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2014-12-27 14:41 René J.V. Bertin New Issue
2014-12-27 14:41 René J.V. Bertin File Added: CMakeCache.txt
2014-12-27 14:42 René J.V. Bertin File Added: project.pbxproj.zip
2014-12-27 14:44 René J.V. Bertin File Added: digikam-sc=project.pbxproj.zip
2014-12-27 14:46 René J.V. Bertin Note Added: 0037531
2015-01-08 11:49 Brad King Note Added: 0037631
2015-09-14 16:07 Gregor Jasny Note Added: 0039422
2015-09-14 16:51 René J.V. Bertin Note Added: 0039423
2015-09-14 16:53 René J.V. Bertin File Added: CMakeCache-cmake-3.3.1.txt
2015-09-14 16:53 René J.V. Bertin File Added: Konsole.xcodeproj.zip
2015-12-27 04:40 Gregor Jasny Assigned To => Gregor Jasny
2015-12-27 04:40 Gregor Jasny Status new => assigned
2015-12-27 05:07 Gregor Jasny Note Added: 0040028
2016-01-02 11:03 Gregor Jasny Note Added: 0040039
2016-01-07 13:29 Brad King Note Added: 0040144
2016-01-07 13:29 Brad King Status assigned => resolved
2016-01-07 13:29 Brad King Resolution open => fixed
2016-01-07 13:29 Brad King Fixed in Version => CMake 3.5
2016-01-07 13:29 Brad King Target Version => CMake 3.5
2016-02-11 08:25 Brad King Relationship added related to 0015969
2016-06-10 14:21 Kitware Robot Note Added: 0041256
2016-06-10 14:21 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team