> On Jan. 17, 2015, 11:49 p.m., Friedrich W. H. Kossebau wrote: > > cmake/modules/FindOpenJPEG.cmake, line 14 > > <https://git.reviewboard.kde.org/r/122114/diff/1/?file=342456#file342456line14> > > > > Hm, these // things at least need a comment, because this strange path > > will surprise any clueless reader of the code. > > > > But then I wonder if this is a standard approach to this problem. > > Adding a hack like this just for MacPorts opens the can for all distris to > > add hacks for some custom solutions. > > > > I propose we first look for a more cmake/usual solution for the problem > > of supporting non-standard installation paths of used libs.
I agree that this change is a weird one to propose "upstream" (i.e. here), and almost excluded it. Yes, it's a standard approach for MacPorts to use a patch file to insert a placeholder into files, that is replaced with the actual prefix path later on. It's my version of that approach to use a placeholder that evaluates to the default prefix path under standard path normalisation rules. Looking at the issue again, I realise that another approach is possible too here: using a variable that is already available to cmake. This is the cmake invocation is it current is generated through my Portfile; ${CMAKE_INSTALL_PREFIX} would be the obvious choice (i.e. //opt//local//include/openjpeg-1.5 would become something like ${CMAKE_INSTALL_PREFIX}/include/openjpeg-1.5?) : `cmake -DCMAKE_INSTALL_PREFIX=${prefix} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_INSTALL_RPATH=${prefix}/lib -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib -DCMAKE_SYSTEM_PREFIX_PATH="${prefix};/usr" -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev -DCMAKE_MODULE_PATH="${prefix}/share/cmake/Modules;${prefix}/share/cmake/Modules" -DBUILD_SHARED_LIBS=ON -DBUNDLE_INSTALL_DIR=/Applications/MacPorts/KDE4 -DKDE_DISTRIBUTION_TEXT="MacPorts/Mac OS X" -DQT_QT_INCLUDE_DIR=${prefix}/include/qt4 -DQT_QMAKESPEC=macx-g++ -DQT_ZLIB_LIBRARY=${prefix}/lib/libz.dylib -DQT_PNG_LIBRARY=${prefix}/lib/libpng.dylib -DDOCBOOKXSL_DIR=${prefix}/share/xsl/docbook-xsl -DGETTEXT_INCLUDE_DIR=${prefix}/include -DGETTEXT_LIBRARY=${prefix}/lib/libgettextlib.dylib -DGIF_INCLUDE_DIR=${prefix}/include -DGIF_LIBRARY=${prefix}/lib/libgif.dylib -DJASPER_INCLUDE_DIR=${prefix}/include -DJASPER_LIBRARY=${prefix}/lib/libjasper.dylib -DJPEG_INCLUDE_DIR= ${prefix}/include -DJPEG_LIBRARY=${prefix}/lib/libjpeg.dylib -DLBER_LIBRARIES=${prefix}/lib/liblber.dylib -DLDAP_INCLUDE_DIR=${prefix}/include -DLDAP_LIBRARIES=${prefix}/lib/libldap.dylib -DLIBEXSLT_INCLUDE_DIR=${prefix}/include -DLIBEXSLT_LIBRARIES=${prefix}/lib/libexslt.dylib -DLIBICALSS_LIBRARY=${prefix}/lib/libicalss.dylib -DLIBICAL_INCLUDE_DIRS=${prefix}/include -DLIBICAL_LIBRARY=${prefix}/lib/libical.dylib -DLIBINTL_INCLUDE_DIR=${prefix}/include -DLIBINTL_LIBRARY=${prefix}/lib/libintl.dylib -DLIBXML2_INCLUDE_DIR=${prefix}/include/libxml2 -DLIBXML2_LIBRARIES=${prefix}/lib/libxml2.dylib -DLIBXML2_XMLLINT_EXECUTABLE=${prefix}/bin/xmllint -DLIBXSLT_INCLUDE_DIR=${prefix}/include -DLIBXSLT_LIBRARIES=${prefix}/lib/libxslt.dylib -DMYSQLD_EXECUTABLE=${prefix}/libexec/mysqld -DMYSQL_INCLUDE_DIR=${prefix}/include/mysql5/mysql -DMYSQL_LIB_DIR=${prefix}/lib/mysql5/mysql -DMYSQLCONFIG_EXECUTABLE=${prefix}/bin/mysql_config5 -DOPENAL_INCLUDE_DIR=/System/Library/Frameworks/OpenAL.frame work/Headers -DOPENAL_LIBRARY=/System/Library/Frameworks/OpenAL.framework -DPNG_INCLUDE_DIR=${prefix}/include -DPNG_PNG_INCLUDE_DIR=${prefix}/include -DPNG_LIBRARY=${prefix}/lib/libpng.dylib -DTIFF_INCLUDE_DIR=${prefix}/include -DTIFF_LIBRARY=${prefix}/lib/libtiff.dylib -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_STRIP:FILEPATH=/bin/echo -DPhonon_DIR=${prefix}/share/cmake/modules/phonon -DICONV_INCLUDE_DIR=${prefix}/include -DICONV_LIBRARIES=${prefix}/lib/libiconv.dylib -DFreeTDS_INCLUDE_DIR=${prefix}/include/freetds -DFreeTDS_LIBRARIES=${prefix}/lib/libsybdb.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="/" ../${worksrcpath}` - René J.V. ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/122114/#review74205 ----------------------------------------------------------- On Jan. 17, 2015, 11:04 p.m., René J.V. Bertin wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/122114/ > ----------------------------------------------------------- > > (Updated Jan. 17, 2015, 11:04 p.m.) > > > Review request for Calligra and KDE Software on Mac OS X. > > > Repository: calligra > > > Description > ------- > > This patch adapts the build system to OS X with KDE4, Qt4 and other > dependencies installed through MacPorts. > > In order of appearance in the patch file: > - `-DQT_EXCEPTIONS`: this is for use with Qt built with its -no-exceptions > option, which MacPorts provides as an optional variant. > - Newer OS X variants only provide the clang compiler > - The default install location for MacPorts is `/opt/local`, but this can be > changed by the user. The header and library search paths required for > OpenJPEG, libpqxx and OpenVC are added using `//opt//local//` which is of > course equivalent to `/opt/local` but easier to search-and-replace with the > true install location in MacPorts' post-patch stage. > - the product set for OS X has been extended to all applications and features > that build and make sense. (Calligra Gemini builds, but does not function > properly.) > > A "Portfile" and accompanying patches that don't have the vocation to be > included "upstream" in calligra will be uploaded to MacPorts' trac system > soon. > > > Diffs > ----- > > CMakeLists.txt facb5f9 > cmake/modules/FindOpenJPEG.cmake 6bfd93c > cmake/modules/FindPqxx.cmake 3e24a0c > cmake/modules/FindVc.cmake bb9823f > cmake/productsets/osx.cmake 1fe8f1c > > Diff: https://git.reviewboard.kde.org/r/122114/diff/ > > > Testing > ------- > > On OS X 10.9.5 with kdelibs 4.14.4 and Qt 4.8.6 installed through MacPorts. > > > Thanks, > > René J.V. Bertin > >
_______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel