diff --git a/CMake/cotire.cmake b/CMake/cotire.cmake index ed44786..7d6f6e4 100644 --- a/CMake/cotire.cmake +++ b/CMake/cotire.cmake @@ -36,7 +36,7 @@ set(__COTIRE_INCLUDED TRUE) cmake_minimum_required(VERSION 2.8.5) set (COTIRE_CMAKE_MODULE_FILE "${CMAKE_CURRENT_LIST_FILE}") -set (COTIRE_CMAKE_MODULE_VERSION "1.0.4") +set (COTIRE_CMAKE_MODULE_VERSION "1.0.5") include(CMakeParseArguments) @@ -657,11 +657,10 @@ macro (cotire_check_ignore_header_file_path _headerFile _headerIsIgnoredVar) set (${_headerIsIgnoredVar} TRUE) elseif (IS_DIRECTORY "${_headerFile}") set (${_headerIsIgnoredVar} TRUE) - elseif ("${_headerFile}" MATCHES "\\.\\." AND "${_headerFile}" MATCHES "\\.h$") - # ignore C headers with embedded parent directory references - # these often stem from using GCC #include_next tricks - # which break the precompiled header compilation with the error message - # "error: no include path in which to search for header.h" + elseif ("${_headerFile}" MATCHES "\\.\\.|[_-]fixed" AND "${_headerFile}" MATCHES "\\.h$") + # heuristic: ignore C headers with embedded parent directory references or "-fixed" or "_fixed" in path + # these often stem from using GCC #include_next tricks, which may break the precompiled header compilation + # with the error message "error: no include path in which to search for header.h" set (${_headerIsIgnoredVar} TRUE) else() set (${_headerIsIgnoredVar} FALSE) diff --git a/HISTORY.md b/HISTORY.md index 717f12a..1eef952 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,9 @@ +## 1.0.5 (2012-03-26) + +* fix Visual Studio C++ 2010 compilation of example project. +* enhance heuristic for #include_next directive detection. +* fix llvm-3.0.src.patch for GCC 4.6 compilation. + ## 1.0.4 (2012-03-24) * honor target property INCLUDE_DIRECTORIES introduced in CMake 2.8.8. diff --git a/Patches/README.md b/Patches/README.md index fb54cfe..54f1736 100644 --- a/Patches/README.md +++ b/Patches/README.md @@ -9,7 +9,7 @@ Then apply the corresponding patch: $ cd /path/to/llvm-3.0.src $ patch -p1 < /path/to/llvm-3.0.src.patch -Then proceed with an out-of-source Cmake build: +Then proceed with an out-of-source CMake build: $ mkdir build; cd build $ cmake .. diff --git a/Patches/llvm-3.0.src.patch b/Patches/llvm-3.0.src.patch index 20cfbd9..0ae3af0 100644 --- a/Patches/llvm-3.0.src.patch +++ b/Patches/llvm-3.0.src.patch @@ -1,6 +1,6 @@ diff -rupN llvm-3.0.src/CMakeLists.txt llvm-3.0.src.cotire/CMakeLists.txt --- llvm-3.0.src/CMakeLists.txt 2011-10-06 03:51:51.000000000 +0200 -+++ llvm-3.0.src.cotire/CMakeLists.txt 2012-03-24 12:37:46.000000000 +0100 ++++ llvm-3.0.src.cotire/CMakeLists.txt 2012-03-26 20:59:22.000000000 +0200 @@ -15,6 +15,7 @@ set(PACKAGE_VERSION "3.0") set_property(GLOBAL PROPERTY USE_FOLDERS ON) @@ -11,7 +11,7 @@ diff -rupN llvm-3.0.src/CMakeLists.txt llvm-3.0.src.cotire/CMakeLists.txt "Append the version control system revision id to LLVM version" OFF) diff -rupN llvm-3.0.src/cmake/modules/AddLLVM.cmake llvm-3.0.src.cotire/cmake/modules/AddLLVM.cmake --- llvm-3.0.src/cmake/modules/AddLLVM.cmake 2011-07-30 10:47:05.000000000 +0200 -+++ llvm-3.0.src.cotire/cmake/modules/AddLLVM.cmake 2012-03-11 15:06:04.000000000 +0100 ++++ llvm-3.0.src.cotire/cmake/modules/AddLLVM.cmake 2012-03-26 20:59:22.000000000 +0200 @@ -25,6 +25,9 @@ macro(add_llvm_library name) ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) endif() @@ -42,9 +42,20 @@ diff -rupN llvm-3.0.src/cmake/modules/AddLLVM.cmake llvm-3.0.src.cotire/cmake/mo endmacro(add_llvm_executable name) +diff -rupN llvm-3.0.src/lib/Analysis/CMakeLists.txt llvm-3.0.src.cotire/lib/Analysis/CMakeLists.txt +--- llvm-3.0.src/lib/Analysis/CMakeLists.txt 2011-07-29 02:14:25.000000000 +0200 ++++ llvm-3.0.src.cotire/lib/Analysis/CMakeLists.txt 2012-03-26 20:59:36.000000000 +0200 +@@ -1,3 +1,7 @@ ++if (COMMAND cotire) ++ set_source_files_properties (ConstantFolding.cpp PROPERTIES COTIRE_EXCLUDED TRUE) ++endif() ++ + add_llvm_library(LLVMAnalysis + AliasAnalysis.cpp + AliasAnalysisCounter.cpp diff -rupN llvm-3.0.src/lib/Support/CMakeLists.txt llvm-3.0.src.cotire/lib/Support/CMakeLists.txt --- llvm-3.0.src/lib/Support/CMakeLists.txt 2011-09-13 21:42:16.000000000 +0200 -+++ llvm-3.0.src.cotire/lib/Support/CMakeLists.txt 2012-03-24 12:38:36.000000000 +0100 ++++ llvm-3.0.src.cotire/lib/Support/CMakeLists.txt 2012-03-26 20:59:22.000000000 +0200 @@ -4,6 +4,10 @@ if( MINGW ) set(LLVM_REQUIRES_EH 1) endif() diff --git a/src/log.cpp b/src/log.cpp index 714714f..5294adb 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -4,7 +4,7 @@ #include -namespace log { +namespace logging { void error(const std::string& msg) { std::cerr << msg << std::endl; diff --git a/src/log.h b/src/log.h index 37919b4..a6ce24a 100644 --- a/src/log.h +++ b/src/log.h @@ -2,7 +2,7 @@ #include -namespace log { +namespace logging { void error(const std::string& msg); void info(const std::string& msg); diff --git a/src/main.cpp b/src/main.cpp index 1376d19..6c7aadc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,5 +8,5 @@ int main(int argc, char** argv) { std::string msg = example::get_message(); - log::info(msg); + logging::info(msg); }