+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++14, 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++14 (or higher)
+ set_property(TARGET SimGrid::SimGrid PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_14)
+ elseif (NOT CMAKE_VERSION VERSION_LESS 3.1)
+ # 3.1+ is similar but for certain features. We pick just one
+ set_property(TARGET SimGrid::SimGrid PROPERTY INTERFACE_COMPILE_FEATURES cxx_attribute_deprecated)
+ else ()
+ # Old CMake can't do much. Just check the CXX_FLAGS and inform the user when a C++14 feature does not work
+ include(CheckCXXSourceCompiles)
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_CXX_FLAGS}")
+ check_cxx_source_compiles("
+#if __cplusplus < 201402L
+#error
+#else
+int main(){}
+#endif
+" _SIMGRID_CXX14_ENABLED)
+ if (NOT _SIMGRID_CXX14_ENABLED)
+ message(WARNING "C++14 is required to use SimGrid. Enable it with e.g. -std=c++14")
+ endif ()
+ unset(_SIMGRID_CXX14_ENABLED CACHE)
+ endif ()
+endif ()