]> git.lyx.org Git - features.git/commitdiff
- Adjust to Lars boost::filesystem stuff
authorAsger Ottar Alstrup <alstrup@lyx.org>
Mon, 31 Jan 2005 12:25:04 +0000 (12:25 +0000)
committerAsger Ottar Alstrup <alstrup@lyx.org>
Mon, 31 Jan 2005 12:25:04 +0000 (12:25 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9551 a592a061-630c-0410-9148-cb99ea01b6c8

development/Win32/lyx.sln
development/Win32/lyx.vcproj
development/Win32/package.C

index df4390a36cc09d1910bfb410c828d93be0f86535..046f97c6e9ff66eb25bcc0201ff3adbd862c184f 100644 (file)
@@ -6,6 +6,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lyx", "lyx.vcproj", "{96777
                {3BF0EC29-8B64-460F-AE0A-96794D38088D} = {3BF0EC29-8B64-460F-AE0A-96794D38088D}
                {3BF0EC29-8B64-460F-AE0A-96794D38088D} = {3BF0EC29-8B64-460F-AE0A-96794D38088D}
                {3BF0EC29-8B64-460F-AE0A-96794D38088D} = {3BF0EC29-8B64-460F-AE0A-96794D38088D}
+               {684579F5-D732-45CE-BBFB-9419BB98DADC} = {684579F5-D732-45CE-BBFB-9419BB98DADC}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libboost_regex", "..\..\boost\libs\regex\regex.vcproj", "{FDBBC827-4BD2-4E7D-B050-0967A0B6C754}"
@@ -16,6 +17,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libboost_signals", "..\..\b
        ProjectSection(ProjectDependencies) = postProject
        EndProjectSection
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libboost_filesystem", "..\..\boost\libs\filesystem\filesystem.vcproj", "{684579F5-D732-45CE-BBFB-9419BB98DADC}"
+       ProjectSection(ProjectDependencies) = postProject
+       EndProjectSection
+EndProject
 Global
        GlobalSection(SolutionConfiguration) = preSolution
                Debug = Debug
@@ -34,6 +39,10 @@ Global
                {3BF0EC29-8B64-460F-AE0A-96794D38088D}.Debug.Build.0 = Debug|Win32
                {3BF0EC29-8B64-460F-AE0A-96794D38088D}.Release.ActiveCfg = Release|Win32
                {3BF0EC29-8B64-460F-AE0A-96794D38088D}.Release.Build.0 = Release|Win32
+               {684579F5-D732-45CE-BBFB-9419BB98DADC}.Debug.ActiveCfg = Debug|Win32
+               {684579F5-D732-45CE-BBFB-9419BB98DADC}.Debug.Build.0 = Debug|Win32
+               {684579F5-D732-45CE-BBFB-9419BB98DADC}.Release.ActiveCfg = Release|Win32
+               {684579F5-D732-45CE-BBFB-9419BB98DADC}.Release.Build.0 = Release|Win32
        EndGlobalSection
        GlobalSection(ExtensibilityGlobals) = postSolution
        EndGlobalSection
index f2790cbc1322ed4721f942f17d1973b8f2e9a9c0..2d6f3bdc7022566a4f29190e079f5ac99c50655b 100644 (file)
                                                </File>
                                                <File
                                                        RelativePath="..\..\src\frontends\qt2\moc\QGraphics_moc.C">
-                                                       <FileConfiguration
-                                                               Name="Debug|Win32">
-                                                               <Tool
-                                                                       Name="VCCLCompilerTool"/>
-                                                       </FileConfiguration>
-                                                       <FileConfiguration
-                                                               Name="Release|Win32">
-                                                               <Tool
-                                                                       Name="VCCLCompilerTool"/>
-                                                       </FileConfiguration>
                                                </File>
                                                <File
                                                        RelativePath="..\..\src\frontends\qt2\moc\QGraphicsDialog_moc.C">
                                                        CompileAs="2"/>
                                        </FileConfiguration>
                                </File>
-                               <File
-                                       RelativePath="..\..\src\support\atoi.C">
-                                       <FileConfiguration
-                                               Name="Debug|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       CompileAs="2"/>
-                                       </FileConfiguration>
-                               </File>
                                <File
                                        RelativePath="..\..\src\support\chdir.C">
                                        <FileConfiguration
                                <File
                                        RelativePath="..\..\src\support\filefilterlist.h">
                                </File>
-                               <File
-                                       RelativePath="..\..\src\support\FileInfo.C">
-                                       <FileConfiguration
-                                               Name="Debug|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       CompileAs="2"/>
-                                       </FileConfiguration>
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\support\FileInfo.h">
-                               </File>
                                <File
                                        RelativePath="..\..\src\support\FileMonitor.C">
                                        <FileConfiguration
                                <File
                                        RelativePath="..\..\src\support\forkedcontr.h">
                                </File>
+                               <File
+                                       RelativePath="..\..\src\support\fs_extras.C">
+                               </File>
+                               <File
+                                       RelativePath="..\..\src\support\fs_extras.h">
+                               </File>
                                <File
                                        RelativePath="..\..\src\support\getcwd.C">
                                        <FileConfiguration
                                </File>
                        </Filter>
                </Filter>
-               <Filter
-                       Name="boost"
-                       Filter="">
-                       <File
-                               RelativePath="..\..\boost\libs\filesystem\src\convenience.cpp">
-                       </File>
-                       <File
-                               RelativePath="..\..\boost\libs\filesystem\src\exception.cpp">
-                       </File>
-                       <File
-                               RelativePath="..\..\boost\libs\filesystem\src\operations_posix_windows.cpp">
-                       </File>
-                       <File
-                               RelativePath="..\..\boost\libs\filesystem\src\path_posix_windows.cpp">
-                       </File>
-               </Filter>
        </Files>
        <Globals>
        </Globals>
index 3b18a3c2d9380596a48cef0148cfe9d8ecf148c2..530342f9746b8e7fecf8c7003a4320af2c621e5a 100644 (file)
 #include "debug.h"
 #include "gettext.h"
 
-#include "support/FileInfo.h"
 #include "support/filetools.h"
 #include "support/lstrings.h"
 #include "support/os.h"
 
 #include <boost/assert.hpp>
 #include <boost/tuple/tuple.hpp>
+#include <boost/filesystem/operations.hpp>
 
 #include <list>
 #include <utility>
@@ -51,6 +51,8 @@
 
 using std::string;
 
+namespace fs = boost::filesystem;
+
 
 namespace lyx {
 namespace support {
@@ -255,19 +257,7 @@ std::pair<string, string> const get_build_dirs(string const & abs_binary)
                        }
                }
 
-               // Check whether binary is a symbolic link.
-               // If so, resolve it and repeat the exercise.
-               FileInfo const file(binary, true);
-               if (!file.isOK() || !file.isLink())
-                       break;
-
-               string link;
-               if (LyXReadLink(binary, link, true)) {
-                       binary = link;
-               } else {
-                       // Unable to resolve the link.
-                       break;
-               }
+               break;
        }
 
        lyxerr[Debug::INIT] << check_text << " no" << std::endl;
@@ -317,14 +307,12 @@ string const get_locale_dir(string const & system_support_dir)
        // be "../locale/".)
        path = NormalizePath(AddPath(system_support_dir, relative_locale_dir()));
 
-       FileInfo fi(path);
-       if (fi.isOK() && fi.isDir())
+       if (fs::is_directory(path))
                return path;
 
        // 3. Fall back to the hard-coded LOCALEDIR.
        path = hardcoded_localedir();
-       FileInfo fi2(path);
-       if (fi2.isOK() && fi2.isDir())
+       if (fs::is_directory(path))
                return path;
 
        return string();
@@ -378,7 +366,7 @@ string const get_binary_path(string const & exe)
        // Two possibilities present themselves.
        // 1. The binary is relative to the CWD.
        string const abs_exe_path = MakeAbsPath(exe_path);
-       if (FileInfo(abs_exe_path, true).isOK())
+       if (fs::exists(abs_exe_path))
                return abs_exe_path;
 
        // 2. exe must be the name of the binary only and it
@@ -395,7 +383,7 @@ string const get_binary_path(string const & exe)
                string const exe_dir = MakeAbsPath(*it);
 
                string const exe_path = AddName(exe_dir, exe_name);
-               if (FileInfo(exe_path, true).isOK())
+               if (fs::exists(exe_path))
                        return exe_path;
        }
 
@@ -471,48 +459,7 @@ get_system_support_dir(string const & abs_binary,
                        return lyxdir;
                }
 
-               // Check whether binary is a symbolic link.
-               // If so, resolve it and repeat the exercise.
-               FileInfo const file(binary, true);
-               if (!file.isOK() || !file.isLink())
-                       break;
-
-               string link;
-               if (LyXReadLink(binary, link, true)) {
-                       binary = link;
-               } else {
-                       // Unable to resolve the link.
-                       break;
-               }
-       }
-
-       // 4. Repeat the exercise on the directory itself.
-       string binary_dir = OnlyPath(abs_binary);
-       while (true) {
-               // This time test whether the directory is a symbolic link
-               // *before* looking for "chkconfig.ltx".
-               // (We've looked relative to the original already.)
-               FileInfo const file(binary_dir, true);
-               if (!file.isOK() || !file.isLink())
-                       break;
-
-               string link;
-               if (LyXReadLink(binary_dir, link, true)) {
-                       binary_dir = link;
-               } else {
-                       // Unable to resolve the link.
-                       break;
-               }
-
-               // Try and find "chkconfig.ltx".
-               string const lyxdir =
-                       NormalizePath(AddPath(binary_dir, relative_lyxdir));
-               searched_dirs.push_back(lyxdir);
-
-               if (!FileSearch(lyxdir, chkconfig_ltx).empty()) {
-                       // Success! "chkconfig.ltx" has been found.
-                       return lyxdir;
-               }
+               break;
        }
 
        // 5. In desparation, try the hard-coded system support dir.
@@ -657,8 +604,7 @@ bool check_env_var_dir(string const & dir,
 bool check_env_var_dir(string const & dir,
                       string const & env_var)
 {
-       FileInfo fi(dir);
-       bool const success = (fi.isOK() && fi.isDir());
+       bool const success = fs::is_directory(dir);
 
        if (!success) {
                // Put this string on a single line so that the gettext