diff options
26 files changed, 59 insertions, 30 deletions
diff --git a/Help/command/add_definitions.rst b/Help/command/add_definitions.rst index a9a6bf5..2965c37 100644 --- a/Help/command/add_definitions.rst +++ b/Help/command/add_definitions.rst @@ -21,7 +21,5 @@ backwards compatibility. See documentation of the properties for details on adding preprocessor definitions to specific scopes and configurations. -Arguments to ``add_definitions`` may use "generator expressions" with -the syntax "$<...>". See the :manual:`cmake-generator-expressions(7)` -manual for available expressions. See the :manual:`cmake-buildsystem(7)` -manual for more on defining buildsystem properties. +See the :manual:`cmake-buildsystem(7)` manual for more on defining +buildsystem properties. diff --git a/Help/command/find_package.rst b/Help/command/find_package.rst index a2cff0a..5d9aea6 100644 --- a/Help/command/find_package.rst +++ b/Help/command/find_package.rst @@ -269,6 +269,7 @@ enabled. This can be skipped if ``NO_CMAKE_BUILDS_PATH`` is passed. It is intended for the case when a user is building multiple dependent projects one after another. + (This step is implemented only on Windows.) 6. Search paths stored in the CMake :ref:`User Package Registry`. This can be skipped if ``NO_CMAKE_PACKAGE_REGISTRY`` is passed. diff --git a/Help/policy/CMP0043.rst b/Help/policy/CMP0043.rst index 43d6df2..629e502 100644 --- a/Help/policy/CMP0043.rst +++ b/Help/policy/CMP0043.rst @@ -18,16 +18,22 @@ or via :command:`target_compile_definitions`: .. code-block:: cmake - # Old Interface: + # Old Interfaces: set_property(TARGET tgt APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG_MODE ) + set_property(DIRECTORY APPEND PROPERTY + COMPILE_DEFINITIONS_DEBUG DIR_DEBUG_MODE + ) # New Interfaces: set_property(TARGET tgt APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUG_MODE> ) target_compile_definitions(tgt PRIVATE $<$<CONFIG:Debug>:DEBUG_MODE>) + set_property(DIRECTORY APPEND PROPERTY + COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DIR_DEBUG_MODE> + ) The OLD behavior for this policy is to consume the content of the suffixed :prop_tgt:`COMPILE_DEFINITIONS_<CONFIG>` target property when generating the diff --git a/Help/release/3.0.0.rst b/Help/release/3.0.0.rst index ee8417c..e92c293 100644 --- a/Help/release/3.0.0.rst +++ b/Help/release/3.0.0.rst @@ -245,6 +245,8 @@ Modules for Qt executables. This helps disambiguate when using multiple :manual:`Qt versions <cmake-qt(7)>` in the same buildsystem. +* The :module:`FindRuby` module learned to search for Ruby 2.0 and 2.1. + Generator Expressions --------------------- diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake index 8da848c..e23a58b 100644 --- a/Modules/FindPythonInterp.cmake +++ b/Modules/FindPythonInterp.cmake @@ -47,7 +47,7 @@ unset(_Python_NAMES) set(_PYTHON1_VERSIONS 1.6 1.5) set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0) +set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0) if(PythonInterp_FIND_VERSION) if(PythonInterp_FIND_VERSION_COUNT GREATER 1) diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake index 0749efc..1dbc967 100644 --- a/Modules/FindPythonLibs.cmake +++ b/Modules/FindPythonLibs.cmake @@ -51,7 +51,7 @@ CMAKE_FIND_FRAMEWORKS(Python) set(_PYTHON1_VERSIONS 1.6 1.5) set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0) +set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0) if(PythonLibs_FIND_VERSION) if(PythonLibs_FIND_VERSION_COUNT GREATER 1) diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake index 9d9383d..aafdc09 100644 --- a/Modules/FindRuby.cmake +++ b/Modules/FindRuby.cmake @@ -5,7 +5,8 @@ # Find Ruby # # This module finds if Ruby is installed and determines where the -# include files and libraries are. Ruby 1.8 and 1.9 are supported. +# include files and libraries are. Ruby 1.8, 1.9, 2.0 and 2.1 are +# supported. # # The minimum required version of Ruby can be specified using the # standard syntax, e.g. find_package(Ruby 1.8) @@ -67,6 +68,8 @@ else() endif() if(NOT Ruby_FIND_VERSION_EXACT) + list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.1 ruby21) + list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.0 ruby20) list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby1.9 ruby19) # if we want a version below 1.9, also look for ruby 1.8 @@ -79,7 +82,6 @@ endif() find_program(RUBY_EXECUTABLE NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES}) - if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR) function(_RUBY_CONFIG_VAR RBVAR OUTVAR) execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['${RBVAR}']" @@ -105,6 +107,7 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR) _RUBY_CONFIG_VAR("archdir" RUBY_ARCH_DIR) _RUBY_CONFIG_VAR("arch" RUBY_ARCH) _RUBY_CONFIG_VAR("rubyhdrdir" RUBY_HDR_DIR) + _RUBY_CONFIG_VAR("rubyarchhdrdir" RUBY_ARCHHDR_DIR) _RUBY_CONFIG_VAR("libdir" RUBY_POSSIBLE_LIB_DIR) _RUBY_CONFIG_VAR("rubylibdir" RUBY_RUBY_LIB_DIR) @@ -126,7 +129,8 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR) set(RUBY_VERSION_MINOR ${RUBY_VERSION_MINOR} CACHE PATH "The Ruby minor version" FORCE) set(RUBY_VERSION_PATCH ${RUBY_VERSION_PATCH} CACHE PATH "The Ruby patch version" FORCE) set(RUBY_ARCH_DIR ${RUBY_ARCH_DIR} CACHE PATH "The Ruby arch dir" FORCE) - set(RUBY_HDR_DIR ${RUBY_HDR_DIR} CACHE PATH "The Ruby header dir (1.9)" FORCE) + set(RUBY_HDR_DIR ${RUBY_HDR_DIR} CACHE PATH "The Ruby header dir (1.9+)" FORCE) + set(RUBY_ARCHHDR_DIR ${RUBY_ARCHHDR_DIR} CACHE PATH "The Ruby arch header dir (2.0+)" FORCE) set(RUBY_POSSIBLE_LIB_DIR ${RUBY_POSSIBLE_LIB_DIR} CACHE PATH "The Ruby lib dir" FORCE) set(RUBY_RUBY_LIB_DIR ${RUBY_RUBY_LIB_DIR} CACHE PATH "The Ruby ruby-lib dir" FORCE) set(RUBY_SITEARCH_DIR ${RUBY_SITEARCH_DIR} CACHE PATH "The Ruby site arch dir" FORCE) @@ -139,6 +143,7 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR) RUBY_ARCH_DIR RUBY_ARCH RUBY_HDR_DIR + RUBY_ARCHHDR_DIR RUBY_POSSIBLE_LIB_DIR RUBY_RUBY_LIB_DIR RUBY_SITEARCH_DIR @@ -160,10 +165,20 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR) set(RUBY_VERSION_MINOR 8) set(RUBY_VERSION_PATCH 0) # check whether we found 1.9.x - if(${RUBY_EXECUTABLE} MATCHES "ruby1.?9" OR RUBY_HDR_DIR) + if(${RUBY_EXECUTABLE} MATCHES "ruby1.?9") set(RUBY_VERSION_MAJOR 1) set(RUBY_VERSION_MINOR 9) endif() + # check whether we found 2.0.x + if(${RUBY_EXECUTABLE} MATCHES "ruby2.?0") + set(RUBY_VERSION_MAJOR 2) + set(RUBY_VERSION_MINOR 0) + endif() + # check whether we found 2.1.x + if(${RUBY_EXECUTABLE} MATCHES "ruby2.?1") + set(RUBY_VERSION_MAJOR 2) + set(RUBY_VERSION_MINOR 1) + endif() endif() if(RUBY_VERSION_MAJOR) @@ -189,6 +204,7 @@ if( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18 OR "${_RUBY_VERSION_SHORT_NO HINTS ${RUBY_HDR_DIR}/${RUBY_ARCH} ${RUBY_ARCH_DIR} + ${RUBY_ARCHHDR_DIR} ) set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIRS} ${RUBY_CONFIG_INCLUDE_DIR} ) diff --git a/Modules/Qt4Macros.cmake b/Modules/Qt4Macros.cmake index df2318b..8baf896 100644 --- a/Modules/Qt4Macros.cmake +++ b/Modules/Qt4Macros.cmake @@ -342,7 +342,7 @@ macro(QT4_ADD_DBUS_ADAPTOR _sources _xml_file _include _parentClass) # _optional if(_optionalClassName) add_custom_command(OUTPUT "${_impl}" "${_header}" - COMMAND Qt4::qdbuscpp2xml -m -a ${_basename} -c ${_optionalClassName} -i ${_include} -l ${_parentClass} ${_infile} + COMMAND Qt4::qdbusxml2cpp -m -a ${_basename} -c ${_optionalClassName} -i ${_include} -l ${_parentClass} ${_infile} DEPENDS ${_infile} VERBATIM ) else() diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx index 6511510..7870564 100644 --- a/Source/cmComputeTargetDepends.cxx +++ b/Source/cmComputeTargetDepends.cxx @@ -349,7 +349,7 @@ void cmComputeTargetDepends::AddTargetDepend(int depender_index, cmMakefile *makefile = depender->GetMakefile(); cmake::MessageType messageType = cmake::AUTHOR_WARNING; bool issueMessage = false; - switch(makefile->GetPolicyStatus(cmPolicies::CMP0046)) + switch(depender->GetPolicyStatusCMP0046()) { case cmPolicies::WARN: issueMessage = true; diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index db34bd8..84a9a7c 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1730,7 +1730,7 @@ static void processIncludeDirectories(cmTarget const* tgt, cmake::MessageType messageType = cmake::FATAL_ERROR; if (fromEvaluatedImported) { - switch(mf->GetPolicyStatus(cmPolicies::CMP0027)) + switch(tgt->GetPolicyStatusCMP0027()) { case cmPolicies::WARN: e << (mf->GetPolicies() @@ -5662,7 +5662,7 @@ void cmTarget::ComputeLinkImplementation(const char* config, bool noMessage = false; cmake::MessageType messageType = cmake::FATAL_ERROR; cmOStringStream e; - switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0038)) + switch(this->GetPolicyStatusCMP0038()) { case cmPolicies::WARN: { diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 271824b..0e9d682 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -26,8 +26,11 @@ F(CMP0020) \ F(CMP0021) \ F(CMP0022) \ + F(CMP0027) \ + F(CMP0038) \ F(CMP0041) \ - F(CMP0042) + F(CMP0042) \ + F(CMP0046) class cmake; class cmMakefile; diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 33fb0fc..abbabe7 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -653,7 +653,7 @@ void cmake::SetArgs(const std::vector<std::string>& args, cmSystemTools::ConvertToUnixSlashes(path); this->SetHomeOutputDirectory(path.c_str()); } - else if((i < args.size()-1) && (arg.find("--check-build-system",0) == 0)) + else if((i < args.size()-2) && (arg.find("--check-build-system",0) == 0)) { this->CheckBuildSystemArgument = args[++i]; this->ClearBuildSystem = (atoi(args[++i].c_str()) > 0); diff --git a/Tests/RunCMake/CMP0027/CMakeLists.txt b/Tests/RunCMake/CMP0027/CMakeLists.txt index 8f85fbf..12cd3c7 100644 --- a/Tests/RunCMake/CMP0027/CMakeLists.txt +++ b/Tests/RunCMake/CMP0027/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.4) project(${RunCMake_TEST} NONE) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0028/CMakeLists.txt b/Tests/RunCMake/CMP0028/CMakeLists.txt index f1d9cae..144cdb4 100644 --- a/Tests/RunCMake/CMP0028/CMakeLists.txt +++ b/Tests/RunCMake/CMP0028/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.4) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) # policy used at end of dir diff --git a/Tests/RunCMake/CMP0037/CMakeLists.txt b/Tests/RunCMake/CMP0037/CMakeLists.txt index f1d9cae..f452db1 100644 --- a/Tests/RunCMake/CMP0037/CMakeLists.txt +++ b/Tests/RunCMake/CMP0037/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.4) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0038/CMakeLists.txt b/Tests/RunCMake/CMP0038/CMakeLists.txt index 2f10cb0..a06591c 100644 --- a/Tests/RunCMake/CMP0038/CMakeLists.txt +++ b/Tests/RunCMake/CMP0038/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.12) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0039/CMakeLists.txt b/Tests/RunCMake/CMP0039/CMakeLists.txt index 2f10cb0..a06591c 100644 --- a/Tests/RunCMake/CMP0039/CMakeLists.txt +++ b/Tests/RunCMake/CMP0039/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.12) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0040/CMakeLists.txt b/Tests/RunCMake/CMP0040/CMakeLists.txt index 2f10cb0..a06591c 100644 --- a/Tests/RunCMake/CMP0040/CMakeLists.txt +++ b/Tests/RunCMake/CMP0040/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.12) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0041/CMakeLists.txt b/Tests/RunCMake/CMP0041/CMakeLists.txt index f1d9cae..f452db1 100644 --- a/Tests/RunCMake/CMP0041/CMakeLists.txt +++ b/Tests/RunCMake/CMP0041/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.4) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0042/CMakeLists.txt b/Tests/RunCMake/CMP0042/CMakeLists.txt index f1d9cae..f452db1 100644 --- a/Tests/RunCMake/CMP0042/CMakeLists.txt +++ b/Tests/RunCMake/CMP0042/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.4) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0043/CMakeLists.txt b/Tests/RunCMake/CMP0043/CMakeLists.txt index 5e95460..d027f3e 100644 --- a/Tests/RunCMake/CMP0043/CMakeLists.txt +++ b/Tests/RunCMake/CMP0043/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 2.8.4) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) # policy used at end of dir if(CMAKE_BUILD_TYPE) # Dummy variable use diff --git a/Tests/RunCMake/CMP0045/CMakeLists.txt b/Tests/RunCMake/CMP0045/CMakeLists.txt index f1d9cae..f452db1 100644 --- a/Tests/RunCMake/CMP0045/CMakeLists.txt +++ b/Tests/RunCMake/CMP0045/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.4) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0046/CMakeLists.txt b/Tests/RunCMake/CMP0046/CMakeLists.txt index 2f10cb0..a06591c 100644 --- a/Tests/RunCMake/CMP0046/CMakeLists.txt +++ b/Tests/RunCMake/CMP0046/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.12) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0049/CMakeLists.txt b/Tests/RunCMake/CMP0049/CMakeLists.txt index 2f10cb0..a06591c 100644 --- a/Tests/RunCMake/CMP0049/CMakeLists.txt +++ b/Tests/RunCMake/CMP0049/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.12) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CMP0050/CMakeLists.txt b/Tests/RunCMake/CMP0050/CMakeLists.txt index 2f10cb0..a06591c 100644 --- a/Tests/RunCMake/CMP0050/CMakeLists.txt +++ b/Tests/RunCMake/CMP0050/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.12) project(${RunCMake_TEST} CXX) -include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/TargetPolicies/PolicyList-stderr.txt b/Tests/RunCMake/TargetPolicies/PolicyList-stderr.txt index 5a80872..f30c9a9 100644 --- a/Tests/RunCMake/TargetPolicies/PolicyList-stderr.txt +++ b/Tests/RunCMake/TargetPolicies/PolicyList-stderr.txt @@ -11,8 +11,11 @@ \* CMP0020 \* CMP0021 \* CMP0022 + \* CMP0027 + \* CMP0038 \* CMP0041 \* CMP0042 + \* CMP0046 Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) |