+if (SimGrid_FOUND)
+ add_library(SimGrid::SimGrid SHARED IMPORTED)
+ set_target_properties(SimGrid::SimGrid PROPERTIES
+ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES ${SimGrid_INCLUDE_DIR}
+ INTERFACE_COMPILE_FEATURES cxx_alias_templates
+ IMPORTED_LOCATION ${SimGrid_LIBRARY}
+ )
+ # We need C++17, so check for it just in case the user removed it since compiling SimGrid
+ if (NOT CMAKE_VERSION VERSION_LESS 3.8)
+ # 3.8+ allows us to simply require C++17 (or higher)
+ set_property(TARGET SimGrid::SimGrid PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_17)
+ else ()
+ # Old CMake can't do much. Just check the CXX_FLAGS and inform the user when a C++17 feature does not work
+ include(CheckCXXSourceCompiles)
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_CXX_FLAGS}")
+ check_cxx_source_compiles("
+#if __cplusplus < 201703L
+#error
+#else
+int main(){}
+#endif
+" _SIMGRID_CXX17_ENABLED)
+ if (NOT _SIMGRID_CXX17_ENABLED)
+ message(WARNING "C++17 is required to use SimGrid. Enable it with e.g. -std=c++17")
+ endif ()
+ unset(_SIMGRID_CXX14_ENABLED CACHE)
+ endif ()
+endif ()