// This is a dummy program that just needs to compile and link to tell us if // the C++17 std::filesystem API is available. Use CMake's configure_file // command to replace the FILESYSTEM_HEADER and FILESYSTEM_NAMESPACE tokens // for each combination of headers and namespaces which we want to pass to the // CMake try_compile command. #include <@FILESYSTEM_HEADER@> // clang-format off int main() { #if defined( __cpp_exceptions ) try { throw @FILESYSTEM_NAMESPACE@::filesystem_error( "instantiate one to make sure it links", std::make_error_code( std::errc::function_not_supported ) ); } catch( const @FILESYSTEM_NAMESPACE@::filesystem_error& error ) { return -1; } #endif return !@FILESYSTEM_NAMESPACE@::temp_directory_path().is_absolute(); }