diff options
-rw-r--r-- | Help/command/add_custom_command.rst | 3 | ||||
-rw-r--r-- | Help/command/string.rst | 2 | ||||
-rw-r--r-- | Modules/CMakeDetermineCCompiler.cmake | 4 | ||||
-rw-r--r-- | Modules/CMakeDetermineCXXCompiler.cmake | 4 | ||||
-rw-r--r-- | Modules/CMakeDetermineCompilerABI.cmake | 2 | ||||
-rw-r--r-- | Modules/CMakeDetermineCompilerId.cmake | 2 | ||||
-rw-r--r-- | Modules/ExternalProject.cmake | 1 | ||||
-rw-r--r-- | Modules/FindIce.cmake | 33 | ||||
-rw-r--r-- | Modules/FortranCInterface/Detect.cmake | 2 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/cmOrderDirectories.cxx | 10 | ||||
-rw-r--r-- | Tests/PerConfig/perconfig.cmake | 2 |
12 files changed, 39 insertions, 28 deletions
diff --git a/Help/command/add_custom_command.rst b/Help/command/add_custom_command.rst index 1ea3718..e8b7cc8 100644 --- a/Help/command/add_custom_command.rst +++ b/Help/command/add_custom_command.rst @@ -47,6 +47,9 @@ The options are: Specify the command-line(s) to execute at build time. If more than one ``COMMAND`` is specified they will be executed in order, but *not* necessarily composed into a stateful shell or batch script. + (To run a full script, use the :command:`configure_file` command or the + :command:`file(GENERATE)` command to create it, and then specify + a ``COMMAND`` to launch it.) The optional ``ARGS`` argument is for backward compatibility and will be ignored. diff --git a/Help/command/string.rst b/Help/command/string.rst index 8ed0e86..07d0ff3 100644 --- a/Help/command/string.rst +++ b/Help/command/string.rst @@ -37,7 +37,7 @@ String operations. string(MAKE_C_IDENTIFIER <input string> <output variable>) string(GENEX_STRIP <input string> <output variable>) string(UUID <output variable> NAMESPACE <namespace> NAME <name> - TYPE <MD5|SHA1> <UPPER>) + TYPE <MD5|SHA1> [UPPER]) REGEX MATCH will match the regular expression once and store the match in the output variable. diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake index 3847b75..6b425c6 100644 --- a/Modules/CMakeDetermineCCompiler.cmake +++ b/Modules/CMakeDetermineCCompiler.cmake @@ -136,7 +136,9 @@ if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) if (COMPILER_BASENAME MATCHES "^(.+-)(clang|g?cc)(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$") set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1}) elseif("${CMAKE_C_COMPILER_ID}" MATCHES "Clang") - set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_C_COMPILER_TARGET}-) + if(CMAKE_C_COMPILER_TARGET) + set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_C_COMPILER_TARGET}-) + endif() elseif(COMPILER_BASENAME MATCHES "qcc(\\.exe)?$") if(CMAKE_C_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?") set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-) diff --git a/Modules/CMakeDetermineCXXCompiler.cmake b/Modules/CMakeDetermineCXXCompiler.cmake index e6a9d9a..893c454 100644 --- a/Modules/CMakeDetermineCXXCompiler.cmake +++ b/Modules/CMakeDetermineCXXCompiler.cmake @@ -133,7 +133,9 @@ if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) if (COMPILER_BASENAME MATCHES "^(.+-)(clan)?[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$") set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1}) elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_CXX_COMPILER_TARGET}-) + if(CMAKE_CXX_COMPILER_TARGET) + set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_CXX_COMPILER_TARGET}-) + endif() elseif(COMPILER_BASENAME MATCHES "QCC(\\.exe)?$") if(CMAKE_CXX_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?") set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-) diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake index 4b7ec30..4bc42dd 100644 --- a/Modules/CMakeDetermineCompilerABI.cmake +++ b/Modules/CMakeDetermineCompilerABI.cmake @@ -52,7 +52,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src) message(STATUS "Detecting ${lang} compiler ABI info - done") file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Detecting ${lang} compiler ABI info compiled with the following output:\n${OUTPUT}\n\n") - file(STRINGS "${BIN}" ABI_STRINGS LIMIT_COUNT 2 REGEX "INFO:[^[]*\\[") + file(STRINGS "${BIN}" ABI_STRINGS LIMIT_COUNT 2 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]") foreach(info ${ABI_STRINGS}) if("${info}" MATCHES "INFO:sizeof_dptr\\[0*([^]]*)\\]") set(ABI_SIZEOF_DPTR "${CMAKE_MATCH_1}") diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake index 1fca55d..e00f22a 100644 --- a/Modules/CMakeDetermineCompilerId.cmake +++ b/Modules/CMakeDetermineCompilerId.cmake @@ -390,7 +390,7 @@ function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file) set(SIMULATE_ID) set(SIMULATE_VERSION) file(STRINGS ${file} - CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 6 REGEX "INFO:") + CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 6 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]") set(COMPILER_ID_TWICE) foreach(info ${CMAKE_${lang}_COMPILER_ID_STRINGS}) if("${info}" MATCHES "INFO:compiler\\[([^]\"]*)\\]") diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index 218066c..b5d36ce 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -711,6 +711,7 @@ Retrying download. file(REMOVE \"\${file}\") execute_process(COMMAND \${CMAKE_COMMAND} -P \"${download_script}\") endif() + math(EXPR attempt \"\${attempt} + 1\") endwhile() if(\${succeeded}) diff --git a/Modules/FindIce.cmake b/Modules/FindIce.cmake index c437a40..60a4107 100644 --- a/Modules/FindIce.cmake +++ b/Modules/FindIce.cmake @@ -240,13 +240,8 @@ function(_Ice_FIND) set(Ice_VERSION "${Ice_VERSION_SLICE2CPP_FULL}" PARENT_SCOPE) endif() - message(STATUS "Ice version: ${Ice_VERSION_SLICE2CPP_FULL}") - - # The following searches prefer the version found; note reverse - # order due to prepending. - if(NOT MSVC) - list(INSERT ice_roots 0 "/opt/Ice-${Ice_VERSION_SLICE2CPP_SHORT}") - list(INSERT ice_roots 0 "/opt/Ice-${Ice_VERSION_SLICE2CPP_FULL}") + if(NOT Ice_FIND_QUIETLY) + message(STATUS "Ice version: ${Ice_VERSION_SLICE2CPP_FULL}") endif() # Find include directory @@ -312,17 +307,19 @@ function(_Ice_FIND) set(_Ice_REQUIRED_LIBS_FOUND "${Ice_REQUIRED_LIBS_FOUND}" PARENT_SCOPE) set(Ice_LIBRARY "${Ice_LIBRARY}" PARENT_SCOPE) - if(Ice_LIBS_FOUND) - message(STATUS "Found the following Ice libraries:") - foreach(found ${Ice_LIBS_FOUND}) - message(STATUS " ${found}") - endforeach() - endif() - if(Ice_LIBS_NOTFOUND) - message(STATUS "The following Ice libraries were not found:") - foreach(notfound ${Ice_LIBS_NOTFOUND}) - message(STATUS " ${notfound}") - endforeach() + if(NOT Ice_FIND_QUIETLY) + if(Ice_LIBS_FOUND) + message(STATUS "Found the following Ice libraries:") + foreach(found ${Ice_LIBS_FOUND}) + message(STATUS " ${found}") + endforeach() + endif() + if(Ice_LIBS_NOTFOUND) + message(STATUS "The following Ice libraries were not found:") + foreach(notfound ${Ice_LIBS_NOTFOUND}) + message(STATUS " ${notfound}") + endforeach() + endif() endif() if(Ice_DEBUG) diff --git a/Modules/FortranCInterface/Detect.cmake b/Modules/FortranCInterface/Detect.cmake index ceb1db4..bee7dae 100644 --- a/Modules/FortranCInterface/Detect.cmake +++ b/Modules/FortranCInterface/Detect.cmake @@ -67,7 +67,7 @@ endif() set(FortranCInterface_SYMBOLS) if(FortranCInterface_EXE) file(STRINGS "${FortranCInterface_EXE}" _info_strings - LIMIT_COUNT 8 REGEX "INFO:[^[]*\\[") + LIMIT_COUNT 8 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]") foreach(info ${_info_strings}) if("${info}" MATCHES "INFO:symbol\\[([^]]*)\\]") list(APPEND FortranCInterface_SYMBOLS ${CMAKE_MATCH_1}) diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 1a09582..bf9c804 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 0) -set(CMake_VERSION_PATCH 20140908) +set(CMake_VERSION_PATCH 20140910) #set(CMake_VERSION_RC 1) diff --git a/Source/cmOrderDirectories.cxx b/Source/cmOrderDirectories.cxx index 71a3497..007364c 100644 --- a/Source/cmOrderDirectories.cxx +++ b/Source/cmOrderDirectories.cxx @@ -72,7 +72,10 @@ public: { // Check if this directory conflicts with the entry. std::string const& dir = this->OD->OriginalDirectories[i]; - if(dir != this->Directory && this->FindConflict(dir)) + if(dir != this->Directory && + cmSystemTools::GetRealPath(dir) != + cmSystemTools::GetRealPath(this->Directory) && + this->FindConflict(dir)) { // The library will be found in this directory but this is not // the directory named for it. Add an entry to make sure the @@ -90,7 +93,10 @@ public: { // Check if this directory conflicts with the entry. std::string const& dir = this->OD->OriginalDirectories[i]; - if(dir != this->Directory && this->FindConflict(dir)) + if(dir != this->Directory && + cmSystemTools::GetRealPath(dir) != + cmSystemTools::GetRealPath(this->Directory) && + this->FindConflict(dir)) { // The library will be found in this directory but it is // supposed to be found in an implicit search directory. diff --git a/Tests/PerConfig/perconfig.cmake b/Tests/PerConfig/perconfig.cmake index 0731041..5286307 100644 --- a/Tests/PerConfig/perconfig.cmake +++ b/Tests/PerConfig/perconfig.cmake @@ -29,7 +29,7 @@ endif() # Verify that the implementation files are named correctly. foreach(lib pcStatic pcShared) - file(STRINGS "${${lib}_file}" info LIMIT_COUNT 1 REGEX "INFO:[^[]*\\[") + file(STRINGS "${${lib}_file}" info LIMIT_COUNT 1 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]") if(NOT "${info}" MATCHES "INFO:symbol\\[${lib}\\]") message(SEND_ERROR "No INFO:symbol[${lib}] found in:\n ${${lib}_file}") endif() |