X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/455add5a64b12eb622df763c753f201779d923e2..3bac1010bd3a0a8a1760e89c40869e4954ab6cf2:/FindSimGrid.cmake diff --git a/FindSimGrid.cmake b/FindSimGrid.cmake index dd035e23f5..051e29a0a7 100644 --- a/FindSimGrid.cmake +++ b/FindSimGrid.cmake @@ -1,6 +1,6 @@ # CMake find module to search for the SimGrid library. -# Copyright (c) 2016-2018. The SimGrid Team. +# Copyright (c) 2016-2019. The SimGrid Team. # # This file is free software; you can redistribute it and/or modify it # under the terms of the license (GNU LGPL) which comes with this package. @@ -19,10 +19,10 @@ # DEVELOPERS OF PROGRAMS USING SIMGRID # ------------------------------------ # -# 1. Include this file in your own CMakeLists.txt +# 1. Include this file in your own CMakeLists.txt (before defining any target) # Either by copying it in your tree, or (recommended) by using the # version automatically installed by SimGrid. -# +# # 2. Afterward, if you have CMake >= 2.8.12, this will define a # target called 'SimGrid::Simgrid'. Use it as: # target_link_libraries(your-simulator SimGrid::SimGrid) @@ -44,6 +44,9 @@ # #else # (code to use with SimGrid v3.19+) # #endif +# +# Since SimGrid header files require C++11, so we set CMAKE_CXX_STANDARD to 11. +# Change this variable in your own file if you need a later standard. # # IMPROVING THIS FILE @@ -55,10 +58,20 @@ cmake_minimum_required(VERSION 2.8) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + find_path(SimGrid_INCLUDE_DIR - NAMES simgrid_config.h + NAMES simgrid/config.h PATHS ${SimGrid_PATH}/include /opt/simgrid/include ) +if (NOT SimGrid_INCLUDE_DIR) + # search under the old name + find_path(SimGrid_INCLUDE_DIR + NAMES simgrid_config.h + PATHS ${SimGrid_PATH}/include /opt/simgrid/include + ) +endif() find_library(SimGrid_LIBRARY NAMES simgrid PATHS ${SimGrid_PATH}/lib /opt/simgrid/lib @@ -68,7 +81,11 @@ mark_as_advanced(SimGrid_LIBRARY) if (SimGrid_INCLUDE_DIR) set(SimGrid_VERSION_REGEX "^#define SIMGRID_VERSION_(MAJOR|MINOR|PATCH) ([0-9]+)$") - file(STRINGS "${SimGrid_INCLUDE_DIR}/simgrid_config.h" SimGrid_VERSION_STRING REGEX ${SimGrid_VERSION_REGEX}) + if (EXISTS "${SimGrid_INCLUDE_DIR}/simgrid/config.h") + file(STRINGS "${SimGrid_INCLUDE_DIR}/simgrid/config.h" SimGrid_VERSION_STRING REGEX ${SimGrid_VERSION_REGEX}) + else() + file(STRINGS "${SimGrid_INCLUDE_DIR}/simgrid_config.h" SimGrid_VERSION_STRING REGEX ${SimGrid_VERSION_REGEX}) + endif() set(SimGrid_VERSION "") # Concat the matches to MAJOR.MINOR.PATCH assuming they appear in this order