Hi, On Wed, Jan 23, 2013 at 5:17 PM, Michael Jackson <mike.jack...@bluequartz.net> wrote: > I am trying to determine if certain TR1 Headers are available to the > compiler. My first test system is an OS X 10.6.8 system using the built in > GCC. Here is the pertinent parts of my CMake file: > > macro (CORE_CHECK_INCLUDE_FILE header var prefix) > CHECK_INCLUDE_FILE("${header}" ${prefix}_${var} ) > endmacro() > > #----- THIS FAILS with include file not found > CORE_CHECK_INCLUDE_FILE("tr1/unordered_set" HAVE_TR1_UNORDERED_SET_H > CMP) > > #----- THIS Succeeds. > check_cxx_source_compiles( > "#include <tr1/unordered_set> > int main() { > std::tr1::unordered_set<int> ptr; > return 0; > } > " > HAVE_TR1_UNORDERED_SET_H) > > I can go either way but I am wanting a deeper understanding of why the first > test failed? This code is going to be used with Visual Studio and Linux so I > am looking for more of a "bullet" proof way of finding these headers.
I guess the reason is that check_include_file uses the C compiler and not the C++ compiler, hence the include is not found. Try check_include_file_cxx instead. Andreas -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake