aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake/FindGoogleHash.cmake
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-01-19 08:51:06 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-01-19 08:51:06 +0000
commit9ae03f4589728bf5272bc3573c22379330018202 (patch)
tree390b16edd030277c13023cfde1a7cbe8684d995c /cmake/FindGoogleHash.cmake
parent708fa3675033df41355cdafae55046b9d79af2cd (diff)
add a compilation test in FindGoogleHash.cmake to catch configuration
issues when multiple compilers are used on the same system.
Diffstat (limited to 'cmake/FindGoogleHash.cmake')
-rw-r--r--cmake/FindGoogleHash.cmake9
1 files changed, 8 insertions, 1 deletions
diff --git a/cmake/FindGoogleHash.cmake b/cmake/FindGoogleHash.cmake
index 767996b41..f6a81a02c 100644
--- a/cmake/FindGoogleHash.cmake
+++ b/cmake/FindGoogleHash.cmake
@@ -10,7 +10,14 @@ find_path(GOOGLEHASH_INCLUDES
${INCLUDE_INSTALL_DIR}
)
+if(GOOGLEHASH_INCLUDES)
+ # let's make sure it compiles with the current compiler
+ file(WRITE ${CMAKE_BINARY_DIR}/googlehash_test.cpp
+ "#include <google/sparse_hash_map>\n#include <google/dense_hash_map>\nint main(int argc, char** argv) { google::dense_hash_map<int,float> a; google::sparse_hash_map<int,float> b; return 0;}\n")
+ try_compile(GOOGLEHASH_COMPILE ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/googlehash_test.cpp OUTPUT_VARIABLE GOOGLEHASH_COMPILE_RESULT)
+endif(GOOGLEHASH_INCLUDES)
+
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GOOGLEHASH DEFAULT_MSG GOOGLEHASH_INCLUDES)
+find_package_handle_standard_args(GOOGLEHASH DEFAULT_MSG GOOGLEHASH_INCLUDES GOOGLEHASH_COMPILE)
mark_as_advanced(GOOGLEHASH_INCLUDES)