summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.manual20
-rw-r--r--Modules/CMakeCCompilerId.c.in16
-rw-r--r--Modules/CMakeCXXCompilerId.cpp.in16
-rw-r--r--Modules/FindGettext.cmake2
-rw-r--r--Modules/FindOpenSSL.cmake7
-rw-r--r--Modules/FindSDL.cmake3
-rw-r--r--Modules/Platform/Darwin.cmake1
-rw-r--r--Source/CMakeVersion.cmake4
-rw-r--r--Source/cmDocumentation.cxx2
-rw-r--r--Source/cmGeneratorExpressionEvaluator.cxx5
-rw-r--r--Source/cmGlobalGenerator.cxx1
-rw-r--r--Source/cmQtAutomoc.cxx59
-rw-r--r--Source/cmTarget.cxx11
-rw-r--r--Source/cmTarget.h2
-rw-r--r--Tests/CMakeLists.txt1
-rw-r--r--Tests/GeneratorExpression/CMakeLists.txt4
-rw-r--r--Tests/GeneratorExpression/check.cmake5
-rwxr-xr-xbootstrap2
18 files changed, 132 insertions, 29 deletions
diff --git a/ChangeLog.manual b/ChangeLog.manual
index ecf03f5..aa55348 100644
--- a/ChangeLog.manual
+++ b/ChangeLog.manual
@@ -1,3 +1,23 @@
+Changes in CMake 2.8.10.1 (since 2.8.10)
+----------------------------------------------
+Brad King (5):
+ Fix default PDB output directory (#13644)
+ Fix PathScale compiler id for Clang-based upstream
+ Update programmatically-reported copyright year (#13638)
+ FindSDL: Restore accidentally dropped search paths (#13651)
+ OS X: Fix default CMAKE_OSX_SYSROOT with deployment target
+
+Rolf Eike Beer (2):
+ FindOpenSSL: fix library selection on Windows (#13645)
+ FindOpenSSL: also find the non-MD debug libraries for MSVC
+
+Stephen Kelly (1):
+ GenEx: Use case insensitive comparison for $<CONFIG:...>
+
+Changes in CMake 2.8.10 (since 2.8.10-rc3)
+----------------------------------------------
+None
+
Changes in CMake 2.8.10-rc3 (since 2.8.10-rc2)
----------------------------------------------
Rolf Eike Beer (2):
diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in
index c5bde9a..2d76c7a 100644
--- a/Modules/CMakeCCompilerId.c.in
+++ b/Modules/CMakeCCompilerId.c.in
@@ -20,6 +20,14 @@
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
@@ -95,14 +103,6 @@
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
-#elif defined(__PATHCC__)
-# define COMPILER_ID "PathScale"
-# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
-# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
-# if defined(__PATHCC_PATCHLEVEL__)
-# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
-# endif
-
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in
index 2c8dd4b..5e70a41 100644
--- a/Modules/CMakeCXXCompilerId.cpp.in
+++ b/Modules/CMakeCXXCompilerId.cpp.in
@@ -25,6 +25,14 @@
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
@@ -100,14 +108,6 @@
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
-#elif defined(__PATHCC__)
-# define COMPILER_ID "PathScale"
-# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
-# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
-# if defined(__PATHCC_PATCHLEVEL__)
-# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
-# endif
-
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
diff --git a/Modules/FindGettext.cmake b/Modules/FindGettext.cmake
index f1c78ae..1a6bd39 100644
--- a/Modules/FindGettext.cmake
+++ b/Modules/FindGettext.cmake
@@ -209,5 +209,3 @@ function(GETTEXT_PROCESS_PO_FILES _lang)
add_dependencies(pofiles ${uniqueTargetName})
endfunction()
-
-set(GETTEXT_FOUND ${Gettext_FOUND})
diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake
index e2cc427..224c88e 100644
--- a/Modules/FindOpenSSL.cmake
+++ b/Modules/FindOpenSSL.cmake
@@ -87,6 +87,7 @@ if(WIN32 AND NOT CYGWIN)
find_library(LIB_EAY_DEBUG
NAMES
libeay32MDd
+ libeay32d
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
@@ -108,6 +109,7 @@ if(WIN32 AND NOT CYGWIN)
find_library(SSL_EAY_DEBUG
NAMES
ssleay32MDd
+ ssleay32d
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
@@ -127,6 +129,11 @@ if(WIN32 AND NOT CYGWIN)
"lib/VC"
)
+ set(LIB_EAY_LIBRARY_DEBUG "${LIB_EAY_DEBUG}")
+ set(LIB_EAY_LIBRARY_RELEASE "${LIB_EAY_RELEASE}")
+ set(SSL_EAY_LIBRARY_DEBUG "${SSL_EAY_DEBUG}")
+ set(SSL_EAY_LIBRARY_RELEASE "${SSL_EAY_RELEASE}")
+
include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
select_library_configurations(LIB_EAY)
select_library_configurations(SSL_EAY)
diff --git a/Modules/FindSDL.cmake b/Modules/FindSDL.cmake
index 9359323..f2e9f25 100644
--- a/Modules/FindSDL.cmake
+++ b/Modules/FindSDL.cmake
@@ -70,7 +70,7 @@
find_path(SDL_INCLUDE_DIR SDL.h
HINTS
ENV SDLDIR
- PATH_SUFFIXES SDL SDL12 SDL11
+ PATH_SUFFIXES include/SDL include/SDL12 include/SDL11 include
)
# SDL-1.1 is the name used by FreeBSD ports...
@@ -79,6 +79,7 @@ find_library(SDL_LIBRARY_TEMP
NAMES SDL SDL-1.1
HINTS
ENV SDLDIR
+ PATH_SUFFIXES lib
)
if(NOT SDL_BUILDING_LIBRARY)
diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake
index a401762..4e7e99c 100644
--- a/Modules/Platform/Darwin.cmake
+++ b/Modules/Platform/Darwin.cmake
@@ -107,6 +107,7 @@ elseif(NOT "x$ENV{SDKROOT}" STREQUAL "x" AND
# Use the value of SDKROOT from the environment.
set(_CMAKE_OSX_SYSROOT_DEFAULT "$ENV{SDKROOT}")
elseif("${CMAKE_GENERATOR}" MATCHES Xcode
+ OR CMAKE_OSX_DEPLOYMENT_TARGET
OR CMAKE_OSX_ARCHITECTURES MATCHES "[^;]"
OR NOT EXISTS "/usr/include/sys/types.h")
# Find installed SDKs in either Xcode-4.3+ or pre-4.3 SDKs directory.
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index ab65d90..29ac436e 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 0)
-set(CMake_VERSION_RC 3)
+set(CMake_VERSION_TWEAK 1)
+#set(CMake_VERSION_RC 3)
diff --git a/Source/cmDocumentation.cxx b/Source/cmDocumentation.cxx
index c1360ef..debde3b 100644
--- a/Source/cmDocumentation.cxx
+++ b/Source/cmDocumentation.cxx
@@ -155,7 +155,7 @@ static const char *cmDocumentationStandardSeeAlso[][3] =
static const char *cmDocumentationCopyright[][3] =
{
{0,
- "Copyright 2000-2009 Kitware, Inc., Insight Software Consortium. "
+ "Copyright 2000-2012 Kitware, Inc., Insight Software Consortium. "
"All rights reserved.", 0},
{0,
"Redistribution and use in source and binary forms, with or without "
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index ee1b60a..2e123a4 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -16,6 +16,8 @@
#include "cmGeneratorExpressionDAGChecker.h"
#include "cmGeneratorExpression.h"
+#include <cmsys/String.h>
+
//----------------------------------------------------------------------------
#if !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x510
static
@@ -253,7 +255,8 @@ static const struct ConfigurationTestNode : public cmGeneratorExpressionNode
return parameters.front().empty() ? "1" : "0";
}
- return *parameters.begin() == context->Config ? "1" : "0";
+ return cmsysString_strcasecmp(parameters.begin()->c_str(),
+ context->Config) == 0 ? "1" : "0";
}
} configurationTestNode;
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index b9de4d8..6c95ea8 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -828,6 +828,7 @@ void cmGlobalGenerator::Configure()
this->LocalGenerators.clear();
this->TargetDependencies.clear();
this->TotalTargets.clear();
+ this->ImportedTargets.clear();
this->LocalGeneratorToTargetMap.clear();
this->ProjectMap.clear();
this->RuleHashes.clear();
diff --git a/Source/cmQtAutomoc.cxx b/Source/cmQtAutomoc.cxx
index 942c7ab..25614b8 100644
--- a/Source/cmQtAutomoc.cxx
+++ b/Source/cmQtAutomoc.cxx
@@ -195,6 +195,34 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
}
}
+
+ const char* qtIncDir = 0;
+ const char* qtCoreIncDir = 0;
+
+ // check whether ${QT_INCLUDE_DIR} is part of the implicit include dirs,
+ // see http://public.kitware.com/Bug/view.php?id=13667
+ bool qtIncludeDirMayHaveBeenRemoved = false;
+ if (makefile->IsSet("QT_INCLUDE_DIR"))
+ {
+ qtIncDir = makefile->GetDefinition("QT_INCLUDE_DIR");
+ std::string s =
+ makefile->GetSafeDefinition("CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES");
+ std::vector<std::string> implIncDirs;
+ cmSystemTools::ExpandListArgument(s, implIncDirs);
+ if (std::find(implIncDirs.begin(), implIncDirs.end(),std::string(qtIncDir))
+ != implIncDirs.end())
+ {
+ qtIncludeDirMayHaveBeenRemoved = true;
+ if (makefile->IsSet("QT_QTCORE_INCLUDE_DIR"))
+ {
+ qtCoreIncDir = makefile->GetDefinition("QT_QTCORE_INCLUDE_DIR");
+ }
+ }
+ }
+
+ bool haveQtCoreIncDir = false;
+ bool haveQtIncDir = false;
+
std::vector<std::string> includeDirs;
cmGeneratorTarget gtgt(target);
localGen->GetIncludeDirectories(includeDirs, &gtgt, "CXX");
@@ -207,6 +235,37 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
_moc_incs += sep;
sep = ";";
_moc_incs += *incDirIt;
+
+ if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir) // #13667
+ {
+ if (*incDirIt == qtIncDir)
+ {
+ haveQtIncDir = true;
+ qtIncludeDirMayHaveBeenRemoved = false; // it's here, i.e. not removed
+ }
+ if (*incDirIt == qtCoreIncDir)
+ {
+ haveQtCoreIncDir = true;
+ }
+ }
+ }
+
+ // Some projects (kdelibs, phonon) query the compiler for its default
+ // include search dirs, and add those to
+ // CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
+ // These may include e.g./usr/lib/qt/include . This is typically also part
+ // of ${QT_INCLUDES}. If this directory is then contained in the implicit
+ // include dirs, it is removed from the include dirs returned from the
+ // target above. So we add ${QT_INCLUDE_DIR} manually for moc if we detected
+ // that ${QT_QTCORE_INCLUDE_DIR} is among the include dirs (there shouldn't
+ // be a way to use Qt4 without using ${QT_QTCORE_INCLUDE_DIR} I think.
+ // See #13646 and #13667.
+ if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir
+ && (haveQtCoreIncDir == true) && (haveQtIncDir == false))
+ {
+ _moc_incs += sep;
+ sep = ";";
+ _moc_incs += qtIncDir;
}
const char* tmp = target->GetProperty("COMPILE_DEFINITIONS");
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 423b350..f3eb52b 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -2584,7 +2584,10 @@ cmTarget::OutputInfo const* cmTarget::GetOutputInfo(const char* config)
OutputInfo info;
this->ComputeOutputDir(config, false, info.OutDir);
this->ComputeOutputDir(config, true, info.ImpDir);
- this->ComputePDBOutputDir(config, info.PdbDir);
+ if(!this->ComputePDBOutputDir(config, info.PdbDir))
+ {
+ info.PdbDir = info.OutDir;
+ }
OutputInfoMapType::value_type entry(config_upper, info);
i = this->Internal->OutputInfoMap.insert(entry).first;
}
@@ -3940,7 +3943,7 @@ bool cmTarget::ComputeOutputDir(const char* config,
}
//----------------------------------------------------------------------------
-void cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
+bool cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
{
// Look for a target property defining the target output directory
// based on the target type.
@@ -3980,8 +3983,7 @@ void cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
}
if(out.empty())
{
- // Default to the current output directory.
- out = ".";
+ return false;
}
// Convert the output path to a full path in case it is
@@ -3996,6 +3998,7 @@ void cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->
AppendDirectoryForConfig("/", config, "", out);
}
+ return true;
}
//----------------------------------------------------------------------------
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 558bfab..e442d25 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -577,7 +577,7 @@ private:
struct OutputInfo;
OutputInfo const* GetOutputInfo(const char* config);
bool ComputeOutputDir(const char* config, bool implib, std::string& out);
- void ComputePDBOutputDir(const char* config, std::string& out);
+ bool ComputePDBOutputDir(const char* config, std::string& out);
// Cache import information from properties for each configuration.
struct ImportInfo;
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index b404333..bbf804b 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -556,6 +556,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project GeneratorExpression
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
+ --build-options -DCMAKE_BUILD_TYPE=\${CTEST_CONFIGURATION_TYPE}
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/GeneratorExpression")
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index 891fa11..bb31476 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -16,6 +16,10 @@ add_custom_target(check ALL
-Dtest_and_1_1=$<AND:1,1>
-Dtest_config_0=$<CONFIG:$<CONFIGURATION>x>
-Dtest_config_1=$<CONFIG:$<CONFIGURATION>>
+ -Dtest_config_debug=$<CONFIG:Debug>$<CONFIG:DEBUG>$<CONFIG:DeBuG>
+ -Dtest_config_release=$<CONFIG:Release>$<CONFIG:RELEASE>$<CONFIG:ReLeAsE>
+ -Dtest_config_relwithdebinfo=$<CONFIG:RelWithDebInfo>$<CONFIG:RELWITHDEBINFO>$<CONFIG:relwithdebinfo>
+ -Dtest_config_minsizerel=$<CONFIG:MinSizeRel>$<CONFIG:MINSIZEREL>$<CONFIG:minsizerel>
-Dtest_not_0=$<NOT:0>
-Dtest_not_1=$<NOT:1>
-Dtest_or_0=$<OR:0>
diff --git a/Tests/GeneratorExpression/check.cmake b/Tests/GeneratorExpression/check.cmake
index 8ffa481..8745d57 100644
--- a/Tests/GeneratorExpression/check.cmake
+++ b/Tests/GeneratorExpression/check.cmake
@@ -17,6 +17,11 @@ check(test_and_1_0 "0")
check(test_and_1_1 "1")
check(test_config_0 "0")
check(test_config_1 "1")
+foreach(c debug release relwithdebinfo minsizerel)
+ if(NOT "${test_config_${c}}" MATCHES "^(0+|1+)$")
+ message(SEND_ERROR "test_config_${c} is \"${test_config_${c}}\", not all 0 or all 1")
+ endif()
+endforeach()
check(test_not_0 "1")
check(test_not_1 "0")
check(test_or_0 "0")
diff --git a/bootstrap b/bootstrap
index 713f01f..a4c4aa8 100755
--- a/bootstrap
+++ b/bootstrap
@@ -357,7 +357,7 @@ Directory and file names:
# Display CMake bootstrap usage
cmake_version_display()
{
- echo "CMake ${cmake_version}, Copyright 2000-2011 Kitware, Inc."
+ echo "CMake ${cmake_version}, Copyright 2000-2012 Kitware, Inc."
}
# Display CMake bootstrap error, display the log file and exit