X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d544ea3e2fee629064bc23f86724822f0aa3a4a0..9e68ca10e951fb61e944c99c7774b1e415ae9f6d:/buildtools/Cmake/Modules/FindGTnets.cmake diff --git a/buildtools/Cmake/Modules/FindGTnets.cmake b/buildtools/Cmake/Modules/FindGTnets.cmake index 14dc6b7317..bd12fa6439 100644 --- a/buildtools/Cmake/Modules/FindGTnets.cmake +++ b/buildtools/Cmake/Modules/FindGTnets.cmake @@ -1,77 +1,57 @@ -find_path(HAVE_RNGSTREAM_H RngStream.h - HINTS - $ENV{HOME} - PATH_SUFFIXES include include/gtnets - PATHS - /opt - /opt/local - /opt/csw - /sw - /usr - ${gtnets_path} -) - find_library(HAVE_GTNETS_LIB - NAME gtnets - HINTS - $ENV{LD_LIBRARY_PATH} - $ENV{HOME} - PATH_SUFFIXES lib64 lib lib64/gtnets lib/gtnets - PATHS - /opt - /opt/local - /opt/csw - /sw - /usr - ${gtnets_path} -) + NAME gtnets + PATH_SUFFIXES lib64 lib lib64/gtnets lib/gtnets + PATHS + ${gtnets_path} + ) + +find_path(HAVE_SIMULATOR_H + NAME simulator.h + PATH_SUFFIXES include include/gtnets + PATHS + ${gtnets_path} + ) string(REPLACE "/libgtnets.${LIB_EXE}" "" GTNETS_LIB_PATH "${HAVE_GTNETS_LIB}") -if(HAVE_GTNETS_LIB AND HAVE_RNGSTREAM_H) +if(HAVE_GTNETS_LIB AND HAVE_SIMULATOR_H) + + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -I${HAVE_SIMULATOR_H} -lgtnets -L${GTNETS_LIB_PATH} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_gtnets.cpp + OUTPUT_VARIABLE COMPILE_GTNETS_VAR) + if(COMPILE_GTNETS_VAR) + SET(HAVE_GTNETS 0) + else() + SET(HAVE_GTNETS 1) + + string(REGEX MATCH "-L${GTNETS_LIB_PATH} " operation "${CMAKE_C_FLAGS}") + if(NOT operation) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${GTNETS_LIB_PATH} ") + endif() + + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-I${HAVE_SIMULATOR_H} -L${GTNETS_LIB_PATH} ") - exec_program("${CMAKE_CXX_COMPILER} -I${HAVE_RNGSTREAM_H} -lgtnets -L${GTNETS_LIB_PATH} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_gtnets.cpp " OUTPUT_VARIABLE COMPILE_GTNETS_VAR) - if(COMPILE_GTNETS_VAR) - SET(HAVE_GTNETS 0) - else(COMPILE_GTNETS_VAR) - SET(HAVE_GTNETS 1) - - string(REGEX MATCH "-L${GTNETS_LIB_PATH} " operation "${CMAKE_C_FLAGS}") - if(NOT operation) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${GTNETS_LIB_PATH} ") - endif(NOT operation) - - string(REGEX MATCH "-I${HAVE_RNGSTREAM_H} " operation "${CMAKE_C_FLAGS}") - if(NOT operation) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${HAVE_RNGSTREAM_H} ") - endif(NOT operation) - - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-I${HAVE_RNGSTREAM_H} -L${GTNETS_LIB_PATH} ") - - string(REGEX MATCH "${GTNETS_LIB_PATH}" operation "$ENV{LD_LIBRARY_PATH}") - if(NOT operation) - message(FATAL_ERROR "\n\nTo use GTNETS don't forget to set LD_LIBRARY_PATH with \n\texport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${GTNETS_LIB_PATH}\n\n") - endif(NOT operation) - - endif(COMPILE_GTNETS_VAR) + string(REGEX MATCH "${GTNETS_LIB_PATH}" operation "$ENV{LD_LIBRARY_PATH}") + if(NOT operation) + message(FATAL_ERROR "\n\nTo use GTNETS don't forget to set LD_LIBRARY_PATH with \n\texport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${GTNETS_LIB_PATH}\n\n") + endif() -else(HAVE_GTNETS_LIB AND HAVE_RNGSTREAM_H) -message(STATUS "Gtnets is enabled but can't find it. You should set LD_LIBRARY_PATH...") -endif(HAVE_GTNETS_LIB AND HAVE_RNGSTREAM_H) + endif() -message(STATUS "Looking for RngStream.h") -if(HAVE_RNGSTREAM_H) -message(STATUS "Looking for RngStream.h - found") -else(HAVE_RNGSTREAM_H) -message(STATUS "Looking for RngStream.h - not found") -endif(HAVE_RNGSTREAM_H) +else() + if(NOT HAVE_GTNETS_LIB) + message(STATUS "Gtnets is enabled but can't find it.") + endif() + if(NOT HAVE_SIMULATOR_H) + message(STATUS "Gtnets needs simulator.h") + endif() +endif() message(STATUS "Looking for lib gtnets patch") if(HAVE_GTNETS) -message(STATUS "Looking for lib gtnets patch - found") -else(HAVE_GTNETS) -message(STATUS "Looking for lib gtnets patch - not found") -endif(HAVE_GTNETS) + message(STATUS "Looking for lib gtnets patch - found") +else() + message(STATUS "Looking for lib gtnets patch - not found") +endif() mark_as_advanced(HAVE_GTNETS_LIB) -mark_as_advanced(HAVE_RNGSTREAM_H) \ No newline at end of file +mark_as_advanced(HAVE_SIMULATOR_H) \ No newline at end of file