diff options
-rw-r--r-- | Modules/CMakeParseImplicitLinkInfo.cmake | 6 | ||||
-rw-r--r-- | Modules/Platform/Windows-MSVC.cmake | 2 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/CPack/cpack.cxx | 5 | ||||
-rw-r--r-- | Source/cmakemain.cxx | 8 | ||||
-rw-r--r-- | Source/ctest.cxx | 5 | ||||
-rw-r--r-- | Source/kwsys/SystemTools.cxx | 28 | ||||
-rw-r--r-- | Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in | 6 |
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 |