add a compilation test in FindGoogleHash.cmake to catch configuration

issues when multiple compilers are used on the same system.
This commit is contained in:
Gael Guennebaud 2009-01-19 08:51:06 +00:00
parent 708fa36750
commit 9ae03f4589

View File

@ -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)