diff --git a/CMakeLists.txt b/CMakeLists.txt index d50bcaee4..15620a3f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -418,7 +418,7 @@ SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MINOR 8) SET(CMake_VERSION_PATCH 5) SET(CMake_VERSION_TWEAK 0) -SET(CMake_VERSION_RC 2) +#SET(CMake_VERSION_RC 3) # Releases define a tweak level. IF(DEFINED CMake_VERSION_TWEAK) diff --git a/ChangeLog.manual b/ChangeLog.manual index f642734b2..a00ce000c 100644 --- a/ChangeLog.manual +++ b/ChangeLog.manual @@ -1,3 +1,36 @@ +Changes in CMake 2.8.5 (since 2.8.5-rc3) +-------------------------------------------- +Brad King (1): + Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" + (this revert means that issue #4147 has been re-opened) + +Changes in CMake 2.8.5-rc3 (since 2.8.5-rc2) +-------------------------------------------- +Bill Hoffman (4): + Use devenv instead of msbuild for vs2010. + Revert "With very long file names, VS 2010 was unable to compile files." + Use relative paths for custom command inputs. + Look for VCExpress as a possible build tool as well as devenv. + +Brad King (3): + KWSys: Recognize color TERM=screen-256color-bce (#12287) + find_library: Use lib->lib64 conversion in CXX-only projects (#12247,#12248) + libarchive: Install COPYING with CMake documentation + +Christoph Höger (1): + FindJNI: Search in Fedora arch-specific JVM location (#12276) + +Julien Malik (1): + FindSWIG: Use NAMES in find_program directives (#12280) + +Modestas Vainius (1): + Documentation: Fix spelling / formatting errors (#12287) + +Philip Lowman (3): + FindBoost: Fixes #12188 + FindBoost: Also search for 1.46.1 + Detect VS 2010 SP1, faster and more robust detection + Changes in CMake 2.8.5-rc2 (since 2.8.5-rc1) -------------------------------------------- Bill Hoffman (6): diff --git a/Modules/CMakeDetermineVSServicePack.cmake b/Modules/CMakeDetermineVSServicePack.cmake index a877e6ef7..33f01415e 100644 --- a/Modules/CMakeDetermineVSServicePack.cmake +++ b/Modules/CMakeDetermineVSServicePack.cmake @@ -7,6 +7,8 @@ # vc80sp1 # vc90 # vc90sp1 +# vc100 +# vc100sp1 # # Usage: # =========================== @@ -23,8 +25,9 @@ # =========================== #============================================================================= -# Copyright 2009-2010 Kitware, Inc. +# Copyright 2009-2011 Kitware, Inc. # Copyright 2009-2010 Philip Lowman +# Copyright 2010-2011 Aaron C. meadows # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. @@ -49,43 +52,130 @@ function(_DetermineVSServicePackFromCompiler _OUT_VAR _cl_version) set(_version "vc90sp1") elseif(${_cl_version} VERSION_EQUAL "16.00.30319.01") set(_version "vc100") + elseif(${_cl_version} VERSION_EQUAL "16.00.40219.01") + set(_version "vc100sp1") else() set(_version "") endif() set(${_OUT_VAR} ${_version} PARENT_SCOPE) endfunction() + +############################################################ +# [INTERNAL] +# Please do not call this function directly +function(_DetermineVSServicePack_FastCheckVersionWithCompiler _SUCCESS_VAR _VERSION_VAR) + if(EXISTS ${CMAKE_CXX_COMPILER}) + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} /? + ERROR_VARIABLE _output + OUTPUT_QUIET + ) + + string(REGEX MATCH "Compiler Version [0-9]+.[0-9]+.[0-9]+.[0-9]+" + _cl_version "${_output}") + + if(_cl_version) + string(REGEX MATCHALL "[0-9]+" + _cl_version_list "${_cl_version}") + list(GET _cl_version_list 0 _major) + list(GET _cl_version_list 1 _minor) + list(GET _cl_version_list 2 _patch) + list(GET _cl_version_list 3 _tweak) + + if("${_major}${_minor}" STREQUAL "${MSVC_VERSION}") + set(_cl_version ${_major}.${_minor}.${_patch}.${_tweak}) + else() + unset(_cl_version) + endif() + endif() + + if(_cl_version) + set(${_SUCCESS_VAR} true PARENT_SCOPE) + set(${_VERSION_VAR} ${_cl_version} PARENT_SCOPE) + endif() + endif() +endfunction() + +############################################################ +# [INTERNAL] +# Please do not call this function directly +function(_DetermineVSServicePack_CheckVersionWithTryCompile _SUCCESS_VAR _VERSION_VAR) + file(WRITE "${CMAKE_BINARY_DIR}/return0.cc" + "int main() { return 0; }\n") + + try_compile( + _CompileResult + "${CMAKE_BINARY_DIR}" + "${CMAKE_BINARY_DIR}/return0.cc" + OUTPUT_VARIABLE _output + COPY_FILE "${CMAKE_BINARY_DIR}/return0.cc") + + file(REMOVE "${CMAKE_BINARY_DIR}/return0.cc") + + string(REGEX MATCH "Compiler Version [0-9]+.[0-9]+.[0-9]+.[0-9]+" + _cl_version "${_output}") + + if(_cl_version) + string(REGEX MATCHALL "[0-9]+" + _cl_version_list "${_cl_version}") + + list(GET _cl_version_list 0 _major) + list(GET _cl_version_list 1 _minor) + list(GET _cl_version_list 2 _patch) + list(GET _cl_version_list 3 _tweak) + + set(${_SUCCESS_VAR} true PARENT_SCOPE) + set(${_VERSION_VAR} ${_major}.${_minor}.${_patch}.${_tweak} PARENT_SCOPE) + endif() +endfunction() + +############################################################ +# [INTERNAL] +# Please do not call this function directly +function(_DetermineVSServicePack_CheckVersionWithTryRun _SUCCESS_VAR _VERSION_VAR) + file(WRITE "${CMAKE_BINARY_DIR}/return0.cc" + "#include \n\nconst unsigned int CompilerVersion=_MSC_FULL_VER;\n\nint main(int argc, char* argv[])\n{\n int M( CompilerVersion/10000000);\n int m((CompilerVersion%10000000)/100000);\n int b(CompilerVersion%100000);\n\n printf(\"%d.%02d.%05d.01\",M,m,b);\n return 0;\n}\n") + + try_run( + _RunResult + _CompileResult + "${CMAKE_BINARY_DIR}" + "${CMAKE_BINARY_DIR}/return0.cc" + RUN_OUTPUT_VARIABLE _runoutput + ) + + file(REMOVE "${CMAKE_BINARY_DIR}/return0.cc") + + string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+.[0-9]+" + _cl_version "${_runoutput}") + + if(_cl_version) + set(${_SUCCESS_VAR} true PARENT_SCOPE) + set(${_VERSION_VAR} ${_cl_version} PARENT_SCOPE) + endif() +endfunction() + + # # A function to call to determine the Visual Studio service pack # in use. See documentation above. function(DetermineVSServicePack _pack) if(NOT DETERMINED_VS_SERVICE_PACK OR NOT ${_pack}) - file(WRITE "${CMAKE_BINARY_DIR}/return0.cc" - "int main() { return 0; }\n") - - try_compile(DETERMINED_VS_SERVICE_PACK - "${CMAKE_BINARY_DIR}" - "${CMAKE_BINARY_DIR}/return0.cc" - OUTPUT_VARIABLE _output - COPY_FILE "${CMAKE_BINARY_DIR}/return0.cc") - - file(REMOVE "${CMAKE_BINARY_DIR}/return0.cc") - - if(DETERMINED_VS_SERVICE_PACK AND _output) - string(REGEX MATCH "Compiler Version [0-9]+.[0-9]+.[0-9]+.[0-9]+" - _cl_version "${_output}") + + _DetermineVSServicePack_FastCheckVersionWithCompiler(DETERMINED_VS_SERVICE_PACK _cl_version) + if(NOT DETERMINED_VS_SERVICE_PACK) + _DetermineVSServicePack_CheckVersionWithTryCompile(DETERMINED_VS_SERVICE_PACK _cl_version) + if(NOT DETERMINED_VS_SERVICE_PACK) + _DetermineVSServicePack_CheckVersionWithTryRun(DETERMINED_VS_SERVICE_PACK _cl_version) + endif() + endif() + + if(DETERMINED_VS_SERVICE_PACK) + if(_cl_version) - string(REGEX MATCHALL "[0-9]+" - _cl_version_list "${_cl_version}") - list(GET _cl_version_list 0 _major) - list(GET _cl_version_list 1 _minor) - list(GET _cl_version_list 2 _patch) - list(GET _cl_version_list 3 _tweak) - - set(_cl_version_string ${_major}.${_minor}.${_patch}.${_tweak}) - # Call helper function to determine VS version - _DetermineVSServicePackFromCompiler(_sp "${_cl_version_string}") + _DetermineVSServicePackFromCompiler(_sp "${_cl_version}") if(_sp) set(${_pack} ${_sp} CACHE INTERNAL "The Visual Studio Release with Service Pack") diff --git a/Modules/CMakeVS10FindMake.cmake b/Modules/CMakeVS10FindMake.cmake index af5f3a7d5..388203cab 100644 --- a/Modules/CMakeVS10FindMake.cmake +++ b/Modules/CMakeVS10FindMake.cmake @@ -1,6 +1,6 @@ #============================================================================= -# Copyright 2009 Kitware, Inc. +# Copyright 2007-2009 Kitware, Inc. # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. @@ -12,17 +12,28 @@ # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) -# We use MSBuild as the build tool for VS 10 +# VCExpress does not support cross compiling, which is necessary for Win CE +SET( _CMAKE_MAKE_PROGRAM_NAMES devenv) +IF(NOT CMAKE_CROSSCOMPILING) + SET( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress) +ENDIF(NOT CMAKE_CROSSCOMPILING) + FIND_PROGRAM(CMAKE_MAKE_PROGRAM - NAMES MSBuild + NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} HINTS - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;ProductDir] - "$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;CLR Version]/" - "c:/WINDOWS/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;CLR Version]/" - "$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\10.0;CLR Version]/" + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;EnvironmentDirectory] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup;Dbghelp_path] + "$ENV{ProgramFiles}/Microsoft Visual Studio 10.0/Common7/IDE" + "$ENV{ProgramFiles}/Microsoft Visual Studio10.0/Common7/IDE" + "$ENV{ProgramFiles}/Microsoft Visual Studio 10/Common7/IDE" + "$ENV{ProgramFiles}/Microsoft Visual Studio10/Common7/IDE" + "$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 10.0/Common7/IDE" + "$ENV{ProgramFiles} (x86)/Microsoft Visual Studio10.0/Common7/IDE" + "$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 10/Common7/IDE" + "$ENV{ProgramFiles} (x86)/Microsoft Visual Studio10/Common7/IDE" + "/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/" + "/Program Files/Microsoft Visual Studio 10/Common7/IDE/" ) - MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM) SET(MSVC10 1) SET(MSVC_VERSION 1600) - diff --git a/Modules/FindArmadillo.cmake b/Modules/FindArmadillo.cmake index 6df247328..50eb78710 100644 --- a/Modules/FindArmadillo.cmake +++ b/Modules/FindArmadillo.cmake @@ -1,15 +1,11 @@ # - Find Armadillo # Find the Armadillo C++ library # -# -# == Using Armadillo: == -# find_package(Armadillo RECQUIRED) +# Using Armadillo: +# find_package(Armadillo REQUIRED) # include_directories(${ARMADILLO_INCLUDE_DIRS}) # add_executable(foo foo.cc) # target_link_libraries(foo ${ARMADILLO_LIBRARIES}) -# -#============================================================================= -# # This module sets the following variables: # ARMADILLO_FOUND - set to true if the library is found # ARMADILLO_INCLUDE_DIRS - list of required include directories @@ -19,7 +15,6 @@ # ARMADILLO_VERSION_PATCH - patch version number # ARMADILLO_VERSION_STRING - version number as a string (ex: "1.0.4") # ARMADILLO_VERSION_NAME - name of the version (ex: "Antipodean Antileech") -# #============================================================================= # Copyright 2011 Clement Creusot diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake index f17e5998d..c3ac4247d 100644 --- a/Modules/FindBoost.cmake +++ b/Modules/FindBoost.cmake @@ -65,7 +65,7 @@ # 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0, 1.35.1, # 1.36, 1.36.0, 1.36.1, 1.37, 1.37.0, 1.38, 1.38.0, 1.39, 1.39.0, # 1.40, 1.40.0, 1.41, 1.41.0, 1.42, 1.42.0, 1.43, 1.43.0, 1.44, 1.44.0, -# 1.45, 1.45.0, 1.46, 1.46.0 +# 1.45, 1.45.0, 1.46, 1.46.0, 1.46.1 # # NOTE: If you add a new major 1.x version in Boost_ADDITIONAL_VERSIONS you should # add both 1.x and 1.x.0 as shown above. Official Boost include directories @@ -281,6 +281,12 @@ macro(_Boost_ADJUST_LIB_VARS basename) set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_DEBUG}) set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_DEBUG}) endif() + + # If the debug & release library ends up being the same, omit the keywords + if(${Boost_${basename}_LIBRARY_RELEASE} STREQUAL ${Boost_${basename}_LIBRARY_DEBUG}) + set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} ) + set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE} ) + endif() if(Boost_${basename}_LIBRARY) set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library") @@ -386,6 +392,7 @@ else(Boost_FIND_VERSION_EXACT) # The user has not requested an exact version. Among known # versions, find those that are acceptable to the user request. set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS} + "1.46.1" "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37" "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0" diff --git a/Modules/FindJNI.cmake b/Modules/FindJNI.cmake index 59211019e..d49b44a55 100644 --- a/Modules/FindJNI.cmake +++ b/Modules/FindJNI.cmake @@ -105,6 +105,7 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES /usr/local/lib /usr/lib/jvm/java/lib /usr/lib/java/jre/lib/{libarch} + /usr/lib/jvm/jre/lib/{libarch} /usr/local/lib/java/jre/lib/{libarch} /usr/local/share/java/jre/lib/{libarch} /usr/lib/j2sdk1.4-sun/jre/lib/{libarch} diff --git a/Modules/FindSWIG.cmake b/Modules/FindSWIG.cmake index 8c60bcb48..2e34eb1b4 100644 --- a/Modules/FindSWIG.cmake +++ b/Modules/FindSWIG.cmake @@ -27,7 +27,7 @@ # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) -FIND_PROGRAM(SWIG_EXECUTABLE swig2.0 swig) +FIND_PROGRAM(SWIG_EXECUTABLE NAMES swig2.0 swig) IF(SWIG_EXECUTABLE) EXECUTE_PROCESS(COMMAND ${SWIG_EXECUTABLE} -swiglib diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index be15b52f1..2a83045c2 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -4,9 +4,6 @@ # - Define swig module with given name and specified language # SWIG_LINK_LIBRARIES(name [ libraries ]) # - Link libraries to swig module -# SWIG_GET_WRAPPER_DEPENDENCIES(swigFile genWrapper language DEST_VARIABLE) -# - Put dependencies of the wrapper genWrapper generated by swig from -# swigFile in DEST_VARIABLE # All other macros are for internal use only. # To get the actual name of the swig module, # use: ${SWIG_MODULE_${name}_REAL_NAME}. @@ -41,58 +38,6 @@ SET(SWIG_EXTRA_LIBRARIES "") SET(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py") -# -# Get dependencies of the generated wrapper. -# -MACRO(SWIG_GET_WRAPPER_DEPENDENCIES swigFile genWrapper language DEST_VARIABLE) - GET_FILENAME_COMPONENT(swig_getdeps_basename ${swigFile} NAME_WE) - GET_FILENAME_COMPONENT(swig_getdeps_outdir ${genWrapper} PATH) - GET_SOURCE_FILE_PROPERTY(swig_getdeps_extra_flags "${swigFile}" SWIG_FLAGS) - IF("${swig_getdeps_extra_flags}" STREQUAL "NOTFOUND") - SET(swig_getdeps_extra_flags "") - ENDIF("${swig_getdeps_extra_flags}" STREQUAL "NOTFOUND") - - IF(NOT swig_getdeps_outdir) - SET(swig_getdeps_outdir ${CMAKE_CURRENT_BINARY_DIR}) - ENDIF(NOT swig_getdeps_outdir) - SET(swig_getdeps_depsfile - ${swig_getdeps_outdir}/swig_${swig_getdeps_basename}_deps.txt) - GET_DIRECTORY_PROPERTY(swig_getdeps_include_directories INCLUDE_DIRECTORIES) - SET(swig_getdeps_include_dirs) - FOREACH(it ${swig_getdeps_include_directories}) - SET(swig_getdeps_include_dirs ${swig_getdeps_include_dirs} "-I${it}") - ENDFOREACH(it) - EXECUTE_PROCESS( - COMMAND ${SWIG_EXECUTABLE} - -MM -MF ${swig_getdeps_depsfile} ${swig_getdeps_extra_flags} - ${CMAKE_SWIG_FLAGS} -${language} - -o ${genWrapper} ${swig_getdeps_include_dirs} ${swigFile} - RESULT_VARIABLE swig_getdeps_result - ERROR_VARIABLE swig_getdeps_error - OUTPUT_STRIP_TRAILING_WHITESPACE) - IF(NOT ${swig_getdeps_error} EQUAL 0) - MESSAGE(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -MM -MF ${swig_getdeps_depsfile} ${swig_getdeps_extra_flags} ${CMAKE_SWIG_FLAGS} -${language} -o ${genWrapper} ${swig_getdeps_include_dirs} ${swigFile}\" failed with output:\n${swig_getdeps_error}") - SET(swig_getdeps_dependencies "") - ELSE(NOT ${swig_getdeps_error} EQUAL 0) - FILE(READ ${swig_getdeps_depsfile} ${DEST_VARIABLE}) - # Remove the first line - STRING(REGEX REPLACE "^.+: +\\\\\n +" "" - ${DEST_VARIABLE} "${${DEST_VARIABLE}}") - # Clean the end of each line - STRING(REGEX REPLACE " +(\\\\)?\n" "\n" ${DEST_VARIABLE} - "${${DEST_VARIABLE}}") - # Clean beginning of each line - STRING(REGEX REPLACE "\n +" "\n" - ${DEST_VARIABLE} "${${DEST_VARIABLE}}") - # clean paths - STRING(REGEX REPLACE "\\\\\\\\" "/" ${DEST_VARIABLE} - "${${DEST_VARIABLE}}") - STRING(REGEX REPLACE "\n" ";" - ${DEST_VARIABLE} "${${DEST_VARIABLE}}") - ENDIF(NOT ${swig_getdeps_error} EQUAL 0) -ENDMACRO(SWIG_GET_WRAPPER_DEPENDENCIES) - - # # For given swig module initialize variables associated with it # @@ -220,10 +165,6 @@ MACRO(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile) IF(SWIG_MODULE_${name}_EXTRA_FLAGS) SET(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS}) ENDIF(SWIG_MODULE_${name}_EXTRA_FLAGS) - SWIG_GET_WRAPPER_DEPENDENCIES("${swig_source_file_fullname}" - "${swig_generated_file_fullname}" ${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG} - swig_extra_dependencies) - LIST(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${swig_extra_dependencies}) ADD_CUSTOM_COMMAND( OUTPUT "${swig_generated_file_fullname}" ${swig_extra_generated_files} # Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir) diff --git a/Source/cmComputeLinkDepends.cxx b/Source/cmComputeLinkDepends.cxx index 342c217d8..1021bf2ef 100644 --- a/Source/cmComputeLinkDepends.cxx +++ b/Source/cmComputeLinkDepends.cxx @@ -69,7 +69,7 @@ We can also infer the edge because *every* time A appears B is seen on its right. We do not know whether A really needs symbols from B to link, but it *might* so we must preserve their order. This is the case also for the following -explict lists: +explicit lists: X: A B Y Y: A B diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx index 6355a85a7..2fa2ccaa2 100644 --- a/Source/cmFindLibraryCommand.cxx +++ b/Source/cmFindLibraryCommand.cxx @@ -164,11 +164,6 @@ void cmFindLibraryCommand::AddArchitecturePaths(const char* suffix) void cmFindLibraryCommand::AddLib64Paths() { - if(!this->Makefile->GetLocalGenerator()->GetGlobalGenerator()-> - GetLanguageEnabled("C")) - { - return; - } std::string voidsize = this->Makefile->GetSafeDefinition("CMAKE_SIZEOF_VOID_P"); int size = atoi(voidsize.c_str()); diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx index 6c3c1eded..328a3da63 100644 --- a/Source/cmGlobalVisualStudio10Generator.cxx +++ b/Source/cmGlobalVisualStudio10Generator.cxx @@ -123,7 +123,8 @@ std::string cmGlobalVisualStudio10Generator cmSystemTools::LowerCase(lowerCaseCommand); // If makeProgram is devenv, parent class knows how to generate command: - if (lowerCaseCommand.find("devenv") != std::string::npos) + if (lowerCaseCommand.find("devenv") != std::string::npos || + lowerCaseCommand.find("VCExpress") != std::string::npos) { return cmGlobalVisualStudio7Generator::GenerateBuildCommand(makeProgram, projectName, additionalOptions, targetName, config, ignoreErrors, fast); diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 7bd537236..52b907217 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -590,7 +590,7 @@ void cmTarget::DefineProperties(cmake *cm) "For an executable with exports (see the ENABLE_EXPORTS property) " "no default transitive link dependencies are used. " "This property replaces the default transitive link dependencies with " - "an explict list. " + "an explicit list. " "When the target is linked into another target the libraries " "listed (and recursively their link interface libraries) will be " "provided to the other target also. " diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 2a4ff9210..d710405e4 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -378,7 +378,11 @@ cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source, static_cast (this->GlobalGenerator)->GetConfigurations(); this->WriteString("Makefile->GetCurrentOutputDirectory(), + sourcePath.c_str()); this->ConvertToWindowsSlash(path); (*this->BuildFileStream ) << path << "\">\n"; for(std::vector::iterator i = configs->begin(); @@ -619,6 +623,14 @@ WriteGroupSources(const char* name, const char* filter = sourceGroup.GetFullName(); this->WriteString("<", 2); std::string path = source; + // custom command sources must use relative paths or they will + // not show up in the GUI. + if(sf->GetCustomCommand()) + { + path = cmSystemTools::RelativePath( + this->Makefile->GetCurrentOutputDirectory(), + source.c_str()); + } this->ConvertToWindowsSlash(path); (*this->BuildFileStream) << name << " Include=\"" << path; @@ -706,6 +718,8 @@ void cmVisualStudio10TargetGenerator::WriteCLSources() bool rc = lang && (strcmp(lang, "RC") == 0); bool idl = ext == "idl"; std::string sourceFile = (*source)->GetFullPath(); + // do not use a relative path here because it means that you + // can not use as long a path to the file. this->ConvertToWindowsSlash(sourceFile); // output the source file if(header) diff --git a/Source/kwsys/Terminal.c b/Source/kwsys/Terminal.c index 7a3266f5e..25832c2b1 100644 --- a/Source/kwsys/Terminal.c +++ b/Source/kwsys/Terminal.c @@ -163,6 +163,7 @@ static const char* kwsysTerminalVT100Names[] = "rxvt-unicode-256color", "screen", "screen-256color", + "screen-256color-bce", "screen-bce", "screen-w", "screen.linux", diff --git a/Source/kwsys/kwsysDateStamp.cmake b/Source/kwsys/kwsysDateStamp.cmake index ece79a4e5..89a2f2094 100644 --- a/Source/kwsys/kwsysDateStamp.cmake +++ b/Source/kwsys/kwsysDateStamp.cmake @@ -15,7 +15,7 @@ SET(KWSYS_DATE_STAMP_YEAR 2011) # KWSys version date month component. Format is MM. -SET(KWSYS_DATE_STAMP_MONTH 06) +SET(KWSYS_DATE_STAMP_MONTH 07) # KWSys version date day component. Format is DD. -SET(KWSYS_DATE_STAMP_DAY 15) +SET(KWSYS_DATE_STAMP_DAY 08) diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt index 0b9380fdb..3a6b5c4ae 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt @@ -736,3 +736,5 @@ ENDIF(ENABLE_TEST) add_subdirectory(libarchive) #add_subdirectory(tar) #add_subdirectory(cpio) + +install(FILES COPYING DESTINATION ${CMake_DOC_DEST}/cmlibarchive)