From 1ae64b11fb358ead554105617f8a4feebb1dc3d1 Mon Sep 17 00:00:00 2001 From: Will Schroeder Date: Thu, 2 Nov 2000 10:24:59 -0500 Subject: [PATCH] ENH:Reworked CMake to clearer indicate what the variables do --- README | 6 +++--- Source/cmClassFile.cxx | 11 +++++++++++ Source/cmMakefile.cxx | 10 +++++----- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/README b/README index 22429c5d99..a34ce64bdd 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 6c219ed409..21af889b05 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 49ee42f274..c4eab57156 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)