summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README6
-rw-r--r--Source/cmClassFile.cxx11
-rw-r--r--Source/cmMakefile.cxx10
3 files changed, 19 insertions, 8 deletions
diff --git a/README b/README
index 22429c5..a34ce64 100644
--- a/README
+++ b/README
@@ -2,8 +2,8 @@
CMakeLists.txt -> File in each directory that contains classes, exe, etc
CMakeLists.txt contains the following:
# build targets
-WIN32_CLASSES =
-UNIX_CLASSES =
+WIN32_SOURCE_FILES =
+UNIX_SOURCE_FILES =
ABSTRACT_CLASSES =
SUBDIRS =
EXECUTABLES =
@@ -25,7 +25,7 @@ BEGIN MAKE VERBATIM
... # copy stuff into CMakeTargets.make directly
LOCAL_BUILD_TARGETS = // These are done first before anything else
END MAKE VERBATIM
-TEMPLATE_INSTANCE_DIR =
+AUX_SOURCE_DIR =
Windows / Visual Studio 6.0 programs
CMakeSetup.exe -> window MFC based GUI for configure on windows
diff --git a/Source/cmClassFile.cxx b/Source/cmClassFile.cxx
index 6c219ed..21af889 100644
--- a/Source/cmClassFile.cxx
+++ b/Source/cmClassFile.cxx
@@ -21,8 +21,19 @@ void cmClassFile::SetName(const char* name, const char* dir)
pathname += "/";
}
+ // First try and see whether the listed file can be found
+ // as is without extensions added on.
pathname += m_ClassName;
std::string hname = pathname;
+ if(cmSystemTools::FileExists(hname.c_str()))
+ {
+ m_HeaderFileOnly = false;
+ m_FullPath = hname;
+ return;
+ }
+
+ // Try various extentions
+ hname = pathname;
hname += ".cxx";
if(cmSystemTools::FileExists(hname.c_str()))
{
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 49ee42f..c4eab57 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -42,7 +42,7 @@ bool cmMakefile::ReadMakefile(const char* filename)
{
std::string line = inbuffer;
cmClassFile file;
- if(line.find("COMPILE_CLASSES") != std::string::npos)
+ if(line.find("SOURCE_FILES") != std::string::npos)
{
if(line.find("\\") != std::string::npos)
{
@@ -50,7 +50,7 @@ bool cmMakefile::ReadMakefile(const char* filename)
}
}
#ifdef _WIN32
- else if(line.find("WIN32_CLASSES") != std::string::npos)
+ else if(line.find("WIN32_SOURCE_FILES") != std::string::npos)
{
if(line.find("\\") != std::string::npos)
{
@@ -58,7 +58,7 @@ bool cmMakefile::ReadMakefile(const char* filename)
}
}
#else
- else if(line.find("UNIX_CLASSES") != std::string::npos)
+ else if(line.find("UNIX_SOURCE_FILES") != std::string::npos)
{
if(line.find("\\") != std::string::npos)
{
@@ -73,7 +73,7 @@ bool cmMakefile::ReadMakefile(const char* filename)
this->ReadClasses(fin, true);
}
}
- else if(line.find("TEMPLATE_INSTANCE_DIRECTORY") != std::string::npos)
+ else if(line.find("AUX_SOURCE_DIRECTORY") != std::string::npos)
{
this->ReadTemplateInstanceDirectory(line);
}
@@ -173,7 +173,7 @@ void cmMakefile::ReadClasses(std::ifstream& fin,
}
// Find all of the files in dir as specified from this line:
-// TEMPLATE_INSTANCE_DIRECTORY = dir
+// AUX_SOURCE_DIRECTORY = dir
// Add all the files to the m_Classes array.
void cmMakefile::ReadTemplateInstanceDirectory(std::string& line)