]> git.lyx.org Git - lyx.git/blobdiff - src/support/Package.cpp
Cmake build: Omit also hidden header files from globbing
[lyx.git] / src / support / Package.cpp
index c2fb90b82c1fff9dac453b75d5b3bdb2bbff0bbc..b4b0e1493df7d9f16965eb7c6567979d06f1602a 100644 (file)
@@ -67,7 +67,7 @@ void init_package(string const & command_line_arg0,
 
 Package const & package()
 {
-       LASSERT(initialised_, /**/);
+       LAPPERR(initialised_);
        return package_;
 }
 
@@ -119,9 +119,9 @@ Package::Package(string const & command_line_arg0,
        lyx_dir_ = FileName(lyx_dir_.realPath());
 
        // Is LyX being run in-place from the build tree?
-       bool in_build_dir = inBuildDir(abs_binary, build_support_dir_, system_support_dir_);
+       in_build_dir_ = inBuildDir(abs_binary, build_support_dir_, system_support_dir_);
 
-       if (!in_build_dir) {
+       if (!in_build_dir_) {
                system_support_dir_ =
                        get_system_support_dir(abs_binary,
                                               command_line_system_support_dir);
@@ -138,10 +138,6 @@ Package::Package(string const & command_line_arg0,
        explicit_user_support_dir_ = userSupportDir(default_user_support_dir,
                                     command_line_user_support_dir, user_support_dir_);
 
-       FileName const configure_script(addName(system_support().absFileName(), "configure.py"));
-       configure_command_ = os::python() + ' ' +
-                       quoteName(configure_script.toFilesystemEncoding(), quote_python) +
-                       with_version_suffix() + " --binary-dir=" + binary_dir().absFileName();
 
        LYXERR(Debug::INIT, "<package>\n"
                << "\tbinary_dir " << binary_dir().absFileName() << '\n'
@@ -155,6 +151,18 @@ Package::Package(string const & command_line_arg0,
                << "</package>\n");
 }
 
+std::string const & Package::configure_command() const
+{
+       if (configure_command_.empty()) {
+               FileName const configure_script(addName(system_support().absFileName(), "configure.py"));
+               configure_command_ = os::python() + ' ' +
+                       quoteName(configure_script.toFilesystemEncoding()) +
+                       with_version_suffix() + " --binary-dir=" +
+                       quoteName(FileName(binary_dir().absFileName()).toFilesystemEncoding());
+       }
+       return configure_command_;
+}
+
 
 void Package::set_temp_dir(FileName const & temp_dir) const
 {
@@ -164,6 +172,20 @@ void Package::set_temp_dir(FileName const & temp_dir) const
                temp_dir_ = temp_dir;
 }
 
+
+FileName Package::messages_file(string const & c) const
+{
+       if (in_build_dir_) {
+               FileName res = FileName(lyx_dir().absFileName() + "/../po/" + c + ".gmo");
+               if (!res.isReadableFile())
+                       res = FileName(top_srcdir().absFileName() + "/po/" + c + ".gmo");
+               return res;
+       } else
+               return FileName(locale_dir_.absFileName() + "/" + c
+                       + "/LC_MESSAGES/" PACKAGE ".mo");
+}
+
+
 // The specification of home_dir_ is fixed for a given OS.
 // A typical example on Windows: "C:/Documents and Settings/USERNAME"
 // and on a Posix-like machine: "/home/USERNAME".