@@ -36,7 +36,7 @@ set(__COTIRE_INCLUDED TRUE) | |||||
cmake_minimum_required(VERSION 2.8.5) | cmake_minimum_required(VERSION 2.8.5) | ||||
set (COTIRE_CMAKE_MODULE_FILE "${CMAKE_CURRENT_LIST_FILE}") | 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) | include(CMakeParseArguments) | ||||
@@ -657,11 +657,10 @@ macro (cotire_check_ignore_header_file_path _headerFile _headerIsIgnoredVar) | |||||
set (${_headerIsIgnoredVar} TRUE) | set (${_headerIsIgnoredVar} TRUE) | ||||
elseif (IS_DIRECTORY "${_headerFile}") | elseif (IS_DIRECTORY "${_headerFile}") | ||||
set (${_headerIsIgnoredVar} TRUE) | 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) | set (${_headerIsIgnoredVar} TRUE) | ||||
else() | else() | ||||
set (${_headerIsIgnoredVar} FALSE) | set (${_headerIsIgnoredVar} FALSE) | ||||
@@ -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) | ## 1.0.4 (2012-03-24) | ||||
* honor target property INCLUDE_DIRECTORIES introduced in CMake 2.8.8. | * honor target property INCLUDE_DIRECTORIES introduced in CMake 2.8.8. | ||||
@@ -9,7 +9,7 @@ Then apply the corresponding patch: | |||||
$ cd /path/to/llvm-3.0.src | $ cd /path/to/llvm-3.0.src | ||||
$ patch -p1 < /path/to/llvm-3.0.src.patch | $ 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 | $ mkdir build; cd build | ||||
$ cmake .. | $ cmake .. | ||||
@@ -1,6 +1,6 @@ | |||||
diff -rupN llvm-3.0.src/CMakeLists.txt llvm-3.0.src.cotire/CMakeLists.txt | 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/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 | |||||
@@ -15,6 +15,7 @@ set(PACKAGE_VERSION "3.0") | @@ -15,6 +15,7 @@ set(PACKAGE_VERSION "3.0") | ||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON) | 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) | "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 | 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/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 | |||||
@@ -25,6 +25,9 @@ macro(add_llvm_library name) | @@ -25,6 +25,9 @@ macro(add_llvm_library name) | ||||
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) | ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) | ||||
endif() | 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) | 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 | |||||
@@ -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 | 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/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 | |||||
@@ -4,6 +4,10 @@ if( MINGW ) | @@ -4,6 +4,10 @@ if( MINGW ) | ||||
set(LLVM_REQUIRES_EH 1) | set(LLVM_REQUIRES_EH 1) | ||||
endif() | endif() | ||||
@@ -4,7 +4,7 @@ | |||||
#include <iostream> | #include <iostream> | ||||
namespace log { | |||||
namespace logging { | |||||
void error(const std::string& msg) { | void error(const std::string& msg) { | ||||
std::cerr << msg << std::endl; | std::cerr << msg << std::endl; | ||||
@@ -2,7 +2,7 @@ | |||||
#include <string> | #include <string> | ||||
namespace log { | |||||
namespace logging { | |||||
void error(const std::string& msg); | void error(const std::string& msg); | ||||
void info(const std::string& msg); | void info(const std::string& msg); | ||||
@@ -8,5 +8,5 @@ | |||||
int main(int argc, char** argv) | int main(int argc, char** argv) | ||||
{ | { | ||||
std::string msg = example::get_message(); | std::string msg = example::get_message(); | ||||
log::info(msg); | |||||
logging::info(msg); | |||||
} | } |