[CMake] problem with mac linker flags
Richard Wackerbarth
richard at NFSNet.org
Wed Dec 22 17:34:26 EST 2010
On Dec 22, 2010, at 3:24 PM, Bill Hoffman wrote:
> So, Darwin-icc.cmake is for the Intel compiler on the Mac. The intel compiler does not want and can not have the -Wl, syntax. These modules need to be updated to the new way of handling compilers.
If you will point me toward an example of "the new way", I will try to generate some patches for your review.
BTW, I been looking at some of this code in order to get ObjC to compile correctly with different SDKs.
In doing so, it appears that the cmSystemTools::FileFormat routines are no longer used anywhere.
If I am correct, that code should be purged in order to minimize confusion.
From df901a217e1d0ed9e472472ca86d9ac5aa1e6db6 Mon Sep 17 00:00:00 2001
Date: Fri, 17 Dec 2010 18:32:05 -0600
Subject: [PATCH] File Format is now determined within the Compiler-Specific Modules
---
Source/cmSystemTools.cxx | 65 ----------------------------------------------
Source/cmSystemTools.h | 24 -----------------
2 files changed, 0 insertions(+), 89 deletions(-)
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 7bc89a4..31ceaa3 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1432,71 +1432,6 @@ bool cmSystemTools::SimpleGlob(const cmStdString& glob,
return res;
}
-cmSystemTools::FileFormat cmSystemTools::GetFileFormat(const char* cext)
-{
- if ( ! cext || *cext == 0 )
- {
- return cmSystemTools::NO_FILE_FORMAT;
- }
- //std::string ext = cmSystemTools::LowerCase(cext);
- std::string ext = cext;
- if ( ext == "c" || ext == ".c" ||
- ext == "m" || ext == ".m"
- ) { return cmSystemTools::C_FILE_FORMAT; }
- if (
- ext == "C" || ext == ".C" ||
- ext == "M" || ext == ".M" ||
- ext == "c++" || ext == ".c++" ||
- ext == "cc" || ext == ".cc" ||
- ext == "cpp" || ext == ".cpp" ||
- ext == "cxx" || ext == ".cxx" ||
- ext == "mm" || ext == ".mm"
- ) { return cmSystemTools::CXX_FILE_FORMAT; }
- if (
- ext == "f" || ext == ".f" ||
- ext == "F" || ext == ".F" ||
- ext == "f77" || ext == ".f77" ||
- ext == "f90" || ext == ".f90" ||
- ext == "for" || ext == ".for" ||
- ext == "f95" || ext == ".f95"
- ) { return cmSystemTools::FORTRAN_FILE_FORMAT; }
- if ( ext == "java" || ext == ".java" )
- { return cmSystemTools::JAVA_FILE_FORMAT; }
- if (
- ext == "H" || ext == ".H" ||
- ext == "h" || ext == ".h" ||
- ext == "h++" || ext == ".h++" ||
- ext == "hm" || ext == ".hm" ||
- ext == "hpp" || ext == ".hpp" ||
- ext == "hxx" || ext == ".hxx" ||
- ext == "in" || ext == ".in" ||
- ext == "txx" || ext == ".txx"
- ) { return cmSystemTools::HEADER_FILE_FORMAT; }
- if ( ext == "rc" || ext == ".rc" )
- { return cmSystemTools::RESOURCE_FILE_FORMAT; }
- if ( ext == "def" || ext == ".def" )
- { return cmSystemTools::DEFINITION_FILE_FORMAT; }
- if ( ext == "lib" || ext == ".lib" ||
- ext == "a" || ext == ".a")
- { return cmSystemTools::STATIC_LIBRARY_FILE_FORMAT; }
- if ( ext == "o" || ext == ".o" ||
- ext == "obj" || ext == ".obj")
- { return cmSystemTools::OBJECT_FILE_FORMAT; }
-#ifdef __APPLE__
- if ( ext == "dylib" || ext == ".dylib" )
- { return cmSystemTools::SHARED_LIBRARY_FILE_FORMAT; }
- if ( ext == "so" || ext == ".so" ||
- ext == "bundle" || ext == ".bundle" )
- { return cmSystemTools::MODULE_FILE_FORMAT; }
-#else // __APPLE__
- if ( ext == "so" || ext == ".so" ||
- ext == "sl" || ext == ".sl" ||
- ext == "dll" || ext == ".dll" )
- { return cmSystemTools::SHARED_LIBRARY_FILE_FORMAT; }
-#endif // __APPLE__
- return cmSystemTools::UNKNOWN_FILE_FORMAT;
-}
-
bool cmSystemTools::Split(const char* s, std::vector<cmStdString>& l)
{
std::vector<std::string> temp;
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index 6f9147c..ad7ddc3 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -249,25 +249,6 @@ public:
static void EnableRunCommandOutput() {s_DisableRunCommandOutput = false; }
static bool GetRunCommandOutput() { return s_DisableRunCommandOutput; }
- /**
- * Come constants for different file formats.
- */
- enum FileFormat {
- NO_FILE_FORMAT = 0,
- C_FILE_FORMAT,
- CXX_FILE_FORMAT,
- FORTRAN_FILE_FORMAT,
- JAVA_FILE_FORMAT,
- HEADER_FILE_FORMAT,
- RESOURCE_FILE_FORMAT,
- DEFINITION_FILE_FORMAT,
- STATIC_LIBRARY_FILE_FORMAT,
- SHARED_LIBRARY_FILE_FORMAT,
- MODULE_FILE_FORMAT,
- OBJECT_FILE_FORMAT,
- UNKNOWN_FILE_FORMAT
- };
-
enum CompareOp {
OP_LESS,
OP_GREATER,
@@ -280,11 +261,6 @@ public:
static bool VersionCompare(CompareOp op, const char* lhs, const char* rhs);
/**
- * Determine the file type based on the extension
- */
- static FileFormat GetFileFormat(const char* ext);
-
- /**
* On Windows 9x we need a comspec (command.com) substitute to run
* programs correctly. This string has to be constant available
* through the running of program. This method does not create a copy.
--
1.7.1+GitX
More information about the CMake
mailing list