summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/CMakeParseImplicitLinkInfo.cmake6
-rw-r--r--Modules/Platform/Windows-MSVC.cmake2
-rw-r--r--Source/CMakeVersion.cmake2
-rw-r--r--Source/CPack/cpack.cxx5
-rw-r--r--Source/cmakemain.cxx8
-rw-r--r--Source/ctest.cxx5
-rw-r--r--Source/kwsys/SystemTools.cxx28
-rw-r--r--Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in6
8 files changed, 31 insertions, 31 deletions
diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake b/Modules/CMakeParseImplicitLinkInfo.cmake
index 234fb7f..80e0218 100644
--- a/Modules/CMakeParseImplicitLinkInfo.cmake
+++ b/Modules/CMakeParseImplicitLinkInfo.cmake
@@ -126,6 +126,12 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj
foreach(lib IN LISTS implicit_libs_tmp)
if("${lib}" MATCHES "^(crt.*\\.o|gcc.*|System.*)$")
set(log "${log} remove lib [${lib}]\n")
+ elseif(IS_ABSOLUTE "${lib}")
+ get_filename_component(abs "${lib}" ABSOLUTE)
+ if(NOT "x${lib}" STREQUAL "x${abs}")
+ set(log "${log} collapse lib [${lib}] ==> [${abs}]\n")
+ endif()
+ list(APPEND implicit_libs "${abs}")
else()
list(APPEND implicit_libs "${lib}")
endif()
diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake
index 3a38d8f..f9df6d8 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -107,7 +107,7 @@ if(NOT MSVC_VERSION)
endif()
endif()
-if(MSVC_C_ARCHITECTURE_ID MATCHES 64)
+if(MSVC_C_ARCHITECTURE_ID MATCHES 64 OR MSVC_CXX_ARCHITECTURE_ID MATCHES 64)
set(CMAKE_CL_64 1)
else()
set(CMAKE_CL_64 0)
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 8a54237..1b33cde 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -2,5 +2,5 @@
set(CMake_VERSION_MAJOR 2)
set(CMake_VERSION_MINOR 8)
set(CMake_VERSION_PATCH 10)
-set(CMake_VERSION_TWEAK 20130205)
+set(CMake_VERSION_TWEAK 20130208)
#set(CMake_VERSION_RC 1)
diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx
index 0ba7322..b188918 100644
--- a/Source/CPack/cpack.cxx
+++ b/Source/CPack/cpack.cxx
@@ -180,7 +180,6 @@ int main (int argc, char *argv[])
{
cmSystemTools::FindExecutableDirectory(argv[0]);
cmCPackLog log;
- int nocwd = 0;
log.SetErrorPrefix("CPack Error: ");
log.SetWarningPrefix("CPack Warning: ");
@@ -193,7 +192,7 @@ int main (int argc, char *argv[])
{
cmCPack_Log(&log, cmCPackLog::LOG_ERROR,
"Current working directory cannot be established." << std::endl);
- nocwd = 1;
+ return 1;
}
std::string generator;
@@ -297,7 +296,7 @@ int main (int argc, char *argv[])
* should launch cpack using "cpackConfigFile" if it exists
* in the current directory.
*/
- if((doc.CheckOptions(argc, argv,"-G") || nocwd) && !(argc==1))
+ if((doc.CheckOptions(argc, argv,"-G")) && !(argc==1))
{
help = true;
}
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 11a4267..4267841 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -344,19 +344,17 @@ int main(int ac, char** av)
int do_cmake(int ac, char** av)
{
- int nocwd = 0;
-
if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 )
{
std::cerr << "Current working directory cannot be established."
<< std::endl;
- nocwd = 1;
+ return 1;
}
#ifdef CMAKE_BUILD_WITH_CMAKE
cmDocumentation doc;
doc.addCMakeStandardDocSections();
- if(doc.CheckOptions(ac, av, "-E") || nocwd)
+ if(doc.CheckOptions(ac, av, "-E"))
{
// Construct and print requested documentation.
cmake hcm;
@@ -424,7 +422,7 @@ int do_cmake(int ac, char** av)
return result;
}
#else
- if ( nocwd || ac == 1 )
+ if ( ac == 1 )
{
std::cout <<
"Bootstrap CMake should not be used outside CMake build process."
diff --git a/Source/ctest.cxx b/Source/ctest.cxx
index 5913914..3e63183 100644
--- a/Source/ctest.cxx
+++ b/Source/ctest.cxx
@@ -274,14 +274,13 @@ int main (int argc, char *argv[])
return cmCTestLaunch::Main(argc, argv);
}
- int nocwd = 0;
cmCTest inst;
if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 )
{
cmCTestLog(&inst, ERROR_MESSAGE,
"Current working directory cannot be established." << std::endl);
- nocwd = 1;
+ return 1;
}
// If there is a testing input file, check for documentation options
@@ -299,7 +298,7 @@ int main (int argc, char *argv[])
}
cmDocumentation doc;
doc.addCTestStandardDocSections();
- if(doc.CheckOptions(argc, argv) || nocwd)
+ if(doc.CheckOptions(argc, argv))
{
// Construct and print requested documentation.
std::vector<cmDocumentationEntry> commands;
diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
index 881c49a..22bf193 100644
--- a/Source/kwsys/SystemTools.cxx
+++ b/Source/kwsys/SystemTools.cxx
@@ -196,18 +196,16 @@ inline int Rmdir(const char* dir)
}
inline const char* Getcwd(char* buf, unsigned int len)
{
- const char* ret = _getcwd(buf, len);
- if(!ret)
+ if(const char* ret = _getcwd(buf, len))
{
- fprintf(stderr, "No current working directory.\n");
- abort();
- }
- // make sure the drive letter is capital
- if(strlen(buf) > 1 && buf[1] == ':')
- {
- buf[0] = toupper(buf[0]);
+ // make sure the drive letter is capital
+ if(strlen(buf) > 1 && buf[1] == ':')
+ {
+ buf[0] = toupper(buf[0]);
+ }
+ return ret;
}
- return ret;
+ return 0;
}
inline int Chdir(const char* dir)
{
@@ -245,13 +243,7 @@ inline int Rmdir(const char* dir)
}
inline const char* Getcwd(char* buf, unsigned int len)
{
- const char* ret = getcwd(buf, len);
- if(!ret)
- {
- fprintf(stderr, "No current working directory\n");
- abort();
- }
- return ret;
+ return getcwd(buf, len);
}
inline int Chdir(const char* dir)
@@ -3089,7 +3081,7 @@ kwsys_stl::string SystemTools::CollapseFullPath(const char* in_path,
}
else
{
- // ??
+ base_components.push_back("");
}
}
diff --git a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
index 31488c0..e28d102 100644
--- a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
+++ b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
@@ -99,6 +99,12 @@ set(linux64_test1_libs "${linux64_gcc_libs}")
set(linux64_test1_dirs "${linux64_gcc_dirs}")
list(APPEND platforms linux64_test1)
+# sunCC dummy.cxx -v # extra slashes
+set(linux64_test2_text "/usr/bin/ld --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /opt/sun/sunstudio12/prod/lib/amd64//crti.o /opt/sun/sunstudio12/prod/lib/amd64/crt1x.o /opt/sun/sunstudio12/prod/lib/amd64/values-xa.o dummy.o -Y \"/opt/sun/sunstudio12/prod/lib//amd64:/lib64:/usr//lib64\" -Qy -lc /opt/sun/sunstudio12/prod/lib/amd64//libc_supp.a /opt/sun/sunstudio12/prod/lib/amd64/crtn.o")
+set(linux64_test2_libs "c;/opt/sun/sunstudio12/prod/lib/amd64/libc_supp.a")
+set(linux64_test2_dirs "/opt/sun/sunstudio12/prod/lib/amd64;/lib64;/usr/lib64")
+list(APPEND platforms linux64_test2)
+
#-----------------------------------------------------------------------------
# Mac