aboutsummaryrefslogtreecommitdiff
path: root/compiler/app/ViewerDist.hs
diff options
context:
space:
mode:
authorpacien2021-06-29 13:14:14 +0200
committerpacien2021-06-29 13:14:14 +0200
commit671a372d87ff8311956f9158e8885ffc254fe1bc (patch)
tree67283cf21bc4e1264587633199d523ff372cbe4f /compiler/app/ViewerDist.hs
parent622af23bb3ce8d6dc8dc1d658cb7f01bc905ef2c (diff)
downloadldgallery-671a372d87ff8311956f9158e8885ffc254fe1bc.tar.gz
compiler: add "portable" target
This adds a build flag for generating a portable version of the compiler binary which make it look in its own runtime directory for its assets. This is useful in particular for the portable release tarballs which contain the web viewer at the same location instead of a pre-defined one in the FHS. GitHub: closes #286
Diffstat (limited to 'compiler/app/ViewerDist.hs')
-rw-r--r--compiler/app/ViewerDist.hs39
1 files changed, 39 insertions, 0 deletions
diff --git a/compiler/app/ViewerDist.hs b/compiler/app/ViewerDist.hs
new file mode 100644
index 0000000..2b80ffc
--- /dev/null
+++ b/compiler/app/ViewerDist.hs
@@ -0,0 +1,39 @@
1-- ldgallery - A static generator which turns a collection of tagged
2-- pictures into a searchable web gallery.
3--
4-- Copyright (C) 2021 Pacien TRAN-GIRARD
5--
6-- This program is free software: you can redistribute it and/or modify
7-- it under the terms of the GNU Affero General Public License as
8-- published by the Free Software Foundation, either version 3 of the
9-- License, or (at your option) any later version.
10--
11-- This program is distributed in the hope that it will be useful,
12-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14-- GNU Affero General Public License for more details.
15--
16-- You should have received a copy of the GNU Affero General Public License
17-- along with this program. If not, see <https://www.gnu.org/licenses/>.
18
19{-# LANGUAGE CPP #-}
20
21module ViewerDist where
22
23#ifndef FLAG_PORTABLE
24
25import Paths_ldgallery_compiler (getDataFileName)
26
27viewerDistPath = getDataFileName "viewer"
28
29#else
30
31import Data.Functor ((<&>))
32import System.FilePath (takeDirectory, (</>))
33import System.Environment (getExecutablePath)
34
35viewerDistPath = fmap takeDirectory getExecutablePath <&> (</> "viewer")
36
37#endif
38
39viewerDistPath :: IO FilePath