Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mgiza.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mgizapp/cmake/FindTR1.cmake')
-rw-r--r--mgizapp/cmake/FindTR1.cmake84
1 files changed, 84 insertions, 0 deletions
diff --git a/mgizapp/cmake/FindTR1.cmake b/mgizapp/cmake/FindTR1.cmake
new file mode 100644
index 0000000..3ef2b44
--- /dev/null
+++ b/mgizapp/cmake/FindTR1.cmake
@@ -0,0 +1,84 @@
+# Check availability of C++ TR1 contents.
+
+# Sets the following variables:
+#
+# TR1_SHARED_PTR_FOUND -- std::tr1::shared_ptr1<T> available
+# TR1_SHARED_PTR_USE_TR1_MEMORY -- #include <tr1/memory>
+# TR1_SHARED_PTR_USE_MEMORY -- #include <memory>
+
+# We need to have at least this version to support the VERSION_LESS argument to 'if' (2.6.2) and unset (2.6.3)
+cmake_policy(PUSH)
+ cmake_minimum_required(VERSION 2.6.3)
+cmake_policy(POP)
+
+INCLUDE(${PROJECT_SOURCE_DIR}/cmake/CheckCXXSourceCompiles.cmake)
+# ---------------------------------------------------------------------------
+# std::tr1::shared_ptr<T>
+# ---------------------------------------------------------------------------
+
+check_cxx_source_compiles(
+ "
+ #include <tr1/memory>
+ int main() {
+ std::tr1::shared_ptr<int> ptr;
+ return 0;
+ }
+ "
+TR1_SHARED_PTR_USE_TR1_MEMORY)
+check_cxx_source_compiles(
+ "
+ #include <memory>
+ int main() {
+ std::tr1::shared_ptr<int> ptr;
+ return 0;
+ }
+ "
+TR1_SHARED_PTR_USE_MEMORY)
+
+set (TR1_SHARED_PTR -NOTFOUND)
+if (TR1_SHARED_PTR_USE_TR1_MEMORY)
+set (TR1_SHARED_PTR_FOUND TRUE)
+endif (TR1_SHARED_PTR_USE_TR1_MEMORY)
+if (TR1_SHARED_PTR_USE_MEMORY)
+set (TR1_SHARED_PTR_FOUND TRUE)
+endif (TR1_SHARED_PTR_USE_MEMORY)
+
+mark_as_advanced (TR1_SHARED_PTR_FOUND)
+mark_as_advanced (TR1_SHARED_PTR_USE_TR1_MEMORY)
+mark_as_advanced (TR1_SHARED_PTR_USE_MEMORY)
+
+# ---------------------------------------------------------------------------
+# std::tr1::unordered_map<K, V>
+# ---------------------------------------------------------------------------
+
+check_cxx_source_compiles(
+ "
+ #include <tr1/unordered_map>
+ int main() {
+ std::tr1::unordered_map<int, int> m;
+ return 0;
+ }
+ "
+ TR1_UNORDERED_MAP_USE_TR1_UNORDERED_MAP)
+check_cxx_source_compiles(
+ "
+ #include <unordered_map>
+ int main() {
+ std::tr1::unordered_map<int, int> m;
+ return 0;
+ }
+ "
+ TR1_UNORDERED_MAP_USE_UNORDERED_MAP)
+
+set (TR1_UNORDERED_MAP -NOTFOUND)
+if (TR1_UNORDERED_MAP_USE_TR1_UNORDERED_MAP)
+set (TR1_UNORDERED_MAP_FOUND TRUE)
+endif (TR1_UNORDERED_MAP_USE_TR1_UNORDERED_MAP)
+if (TR1_UNORDERED_MAP_USE_UNORDERED_MAP)
+set (TR1_UNORDERED_MAP_FOUND TRUE)
+endif (TR1_UNORDERED_MAP_USE_UNORDERED_MAP)
+
+mark_as_advanced (TR1_UNORDERED_MAP_FOUND)
+mark_as_advanced (TR1_UNORDERED_MAP_USE_TR1_UNORDERED_MAP)
+mark_as_advanced (TR1_UNORDERED_MAP_USE_UNORDERED_MAP)
+