Line 1: |
Line 1: |
− | Welcome to Simone Giustetti's wiki pages.
| + | {{header_en|title=Building a SDK for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working SDK package for TDE and Slackware Linux | link_page=TDE_tdesdk}} |
− | | |
− | | |
− | Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdesdk Italiano]
| |
− | | |
− | ----
| |
| | | |
| == TDESDK == | | == TDESDK == |
− | [[En/trinity_desktop_environment#Base_Packages]] | + | [[En/trinity_desktop_environment#Base_Packages | TDE - Base Packages]] |
| | | |
| '''Tdesdk''' is a software package for the '''Trinity Desktop Environment''' aiming to provide a SDK ('''S'''oftware '''D'''evelopment '''K'''it): a bundle of libraries and tools to ease '''development of TDE integrated applications'''. The package is meant for developers and includes many tools to perform such tasks as: program localization, bug management and application profiling. Some included tools are: | | '''Tdesdk''' is a software package for the '''Trinity Desktop Environment''' aiming to provide a SDK ('''S'''oftware '''D'''evelopment '''K'''it): a bundle of libraries and tools to ease '''development of TDE integrated applications'''. The package is meant for developers and includes many tools to perform such tasks as: program localization, bug management and application profiling. Some included tools are: |
Line 22: |
Line 17: |
| === Tdesdk and Slackware === | | === Tdesdk and Slackware === |
| | | |
− | The '''tdesdk''' package replaces and updates the corresponding '''kdesdk''' distributed with KDE release 3.5. As a consequence it inherits a build script that can be used as reference to build a Slackware 14.0 installable binary package. The source code includes many '''autotools''' configuration files, but they are just remains and can be ignored: the package was '''ported to [http://www.cmake.org cmake]''' which is now the default build system. The SlackBuild script is in need of heavy rewriting to adapt to the new build system. The project guidelines were strictly followed: '''/opt/trinity''' was configured as the root directory for the package ensuring TDE coexistence with KDE 4. The [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE building how-to] suggests to enable the '''--enable-closure''' build option, but it is again remains from the '''automake''' days and as such can be safely ignored. The package was built after installing '''tdepim''' in order to enable some application requested features bond to the '''libkcal''' library and to the shared calendar. Some script lines of code and related comments follow. | + | The '''tdesdk''' package replaces and updates the corresponding '''kdesdk''' distributed with KDE release 3.5. As a consequence it inherits a build script that can be used as reference to build a Slackware 14.0 installable binary package. The source code includes many '''autotools''' configuration files, but they are just remains and can be ignored: the package was '''ported to [http://www.cmake.org cmake]''' which is now the default build system. The SlackBuild script is in need of heavy rewriting to adapt to the new build system. The project guidelines were strictly followed: ''/opt/trinity'' was configured as the root directory for the package ensuring TDE coexistence with KDE 4. The [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE building how-to] suggests to enable the '''--enable-closure''' build option, but it is again remains from the '''automake''' days and as such can be safely ignored. The package was built after installing '''tdepim''' in order to enable some application requested features bond to the '''libkcal''' library and to the shared calendar. Some script lines of code and related comments follow. |
| | | |
| First thing the build script '''has to clean the cmake cache''': | | First thing the build script '''has to clean the cmake cache''': |
| + | <syntaxhighlight lang="bash"> |
| # Clean cmake cache | | # Clean cmake cache |
| find . -name CMakeCache.txt -exec rm {} \; | | find . -name CMakeCache.txt -exec rm {} \; |
| + | </syntaxhighlight> |
| Then it '''creates a directory''' where to build software and store output binaries. As for previously built packages ''the directory was named '''build''' in order for cmake to find it'': | | Then it '''creates a directory''' where to build software and store output binaries. As for previously built packages ''the directory was named '''build''' in order for cmake to find it'': |
| + | <syntaxhighlight lang="bash"> |
| # Create a directory where to build source (cmake wants the name to be build). | | # Create a directory where to build source (cmake wants the name to be build). |
| cd ${TMP}/tmp-${PRGNAM} | | cd ${TMP}/tmp-${PRGNAM} |
| mkdir build | | mkdir build |
| cd build | | cd build |
| + | </syntaxhighlight> |
| '''Specifically set Qt libraries paths''' in order for build scripts to find them at build time: | | '''Specifically set Qt libraries paths''' in order for build scripts to find them at build time: |
| + | <syntaxhighlight lang="bash"> |
| # Add temporary paths to handle new libraries during build | | # Add temporary paths to handle new libraries during build |
| export QTDIR=/opt/trinity | | export QTDIR=/opt/trinity |
Line 39: |
Line 39: |
| export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX} | | export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX} |
| export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH | | export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH |
| + | </syntaxhighlight> |
| Last the script runs the cmake command with the proper options: | | Last the script runs the cmake command with the proper options: |
− | # Configure the package
| + | <syntaxhighlight lang="bash"> |
| + | # Configure the package |
| cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \ | | cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \ |
| -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \ | | -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \ |
Line 56: |
Line 58: |
| -DBUILD_ALL=ON \ | | -DBUILD_ALL=ON \ |
| 2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log | | 2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log |
| + | </syntaxhighlight> |
| Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software. | | Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software. |
| | | |
Line 65: |
Line 68: |
| | | |
| External Links | | External Links |
| + | |
| ---- | | ---- |
| + | |
| * [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide] | | * [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide] |
| * [http://docs.kde.org/stable/en/kdesdk/ kdesdk official page] | | * [http://docs.kde.org/stable/en/kdesdk/ kdesdk official page] |
Line 72: |
Line 77: |
| ---- | | ---- |
| | | |
− | Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdesdk Italiano]
| + | {{footer_en | link_page=TDE_tdesdk}} |