Skip to content

Commit 05ce9d8

Browse files
author
clifford
committed
Clifford Wolf: Improved handling of examplesdir on linux Updated scripts/release-linux.sh git-svn-id: http://svn.clifford.at/openscad/trunk@441 b57f626f-c46c-0410-a088-ec61d464b74c
1 parent 48ca7d1 commit 05ce9d8

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

scripts/release-linux.sh

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22
# WARNING: This script might only work with the authors setup...
33

4-
VERSION=2010.01
4+
VERSION=2010.02
55

66
set -ex
77

@@ -25,7 +25,7 @@ exec $libdir/openscad "$@"
2525
EOT
2626

2727
cp openscad release/lib/openscad/
28-
gcc -o chrpath_linux chrpath_linux.c
28+
gcc -o chrpath_linux scripts/chrpath_linux.c
2929
./chrpath_linux -d release/lib/openscad/openscad
3030

3131
ldd openscad | sed -re 's,.* => ,,; s,[\t ].*,,;' -e '/Qt|boost/ { p; d; };' \
@@ -58,9 +58,9 @@ if [ ! -d "$prefix" ]; then
5858
read -p "press enter to continue> "
5959
fi
6060
61-
mkdir -p "$prefix"/{bin,lib/openscad}
61+
mkdir -p "$prefix"/{bin,lib/openscad,share/openscad/examples}
6262
63-
if ! [ -w "$prefix"/bin/ -a -w "$prefix"/lib/ ]; then
63+
if ! [ -w "$prefix"/bin/ -a -w "$prefix"/lib/openscad -a -w "$prefix"/share/openscad ]; then
6464
echo "You does not seam to have write permissions for prefix \`$prefix'!" >&2
6565
echo "Maybe you should have run this install script using \`sudo'?" >&2
6666
exit 1
@@ -72,6 +72,9 @@ cp -rv bin/. "$prefix"/bin/
7272
echo "Copying application and libraries..."
7373
cp -rv lib/. "$prefix"/lib/
7474
75+
echo "Copying examples..."
76+
cp -rv examples/. "$prefix"/share/openscad/examples/
77+
7578
echo "Installation finished. Have a nice day."
7679
EOT
7780

src/mainwin.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,11 +198,20 @@ MainWindow::MainWindow(const char *filename)
198198
this, SLOT(clearRecentFiles()));
199199

200200
if (!examplesdir.isEmpty()) {
201+
bool found_example = false;
201202
QStringList examples = QDir(examplesdir).entryList(QStringList("*.scad"),
202203
QDir::Files | QDir::Readable, QDir::Name);
203204
foreach (const QString &ex, examples) {
204205
this->menuExamples->addAction(ex, this, SLOT(actionOpenExample()));
206+
found_example = true;
205207
}
208+
if (!found_example) {
209+
delete this->menuExamples;
210+
this->menuExamples = NULL;
211+
}
212+
} else {
213+
delete this->menuExamples;
214+
this->menuExamples = NULL;
206215
}
207216

208217
// Edit menu

src/openscad.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,14 @@ int main(int argc, char **argv)
165165
#ifdef Q_WS_MAC
166166
exdir.cd("../Resources"); // Examples can be bundled
167167
if (!exdir.exists("examples")) exdir.cd("../../..");
168+
#endif
169+
#ifdef linux
170+
if (exdir.cd("../../examples")) {
171+
examplesdir = exdir.path();
172+
} else
173+
if (exdir.cd("../../share/openscad/examples")) {
174+
examplesdir = exdir.path();
175+
} else
168176
#endif
169177
if (exdir.cd("examples")) {
170178
examplesdir = exdir.path();

0 commit comments

Comments
 (0)