From 4895c94b7b58ae9147ef735bc6eed91277786770 Mon Sep 17 00:00:00 2001 From: navarrop Date: Mon, 6 Dec 2010 09:37:59 +0000 Subject: [PATCH] Don't set gtnets flags if can't compile gtnets. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9002 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- buildtools/Cmake/Modules/FindGTnets.cmake | 57 +++++++++++++---------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/buildtools/Cmake/Modules/FindGTnets.cmake b/buildtools/Cmake/Modules/FindGTnets.cmake index 8a73343476..14319a4d10 100644 --- a/buildtools/Cmake/Modules/FindGTnets.cmake +++ b/buildtools/Cmake/Modules/FindGTnets.cmake @@ -25,13 +25,36 @@ find_library(HAVE_GTNETS_LIB string(REPLACE "/libgtnets.${LIB_EXE}" "" GTNETS_LIB_PATH "${HAVE_GTNETS_LIB}") -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) -endif(COMPILE_GTNETS_VAR) +if(HAVE_GTNETS_LIB AND HAVE_RNGSTREAM_H) + 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) + +else(HAVE_GTNETS_LIB AND HAVE_RNGSTREAM_H) +message(STATUS "Gtnets is enable but can't find it. You should set LD_LIBRARY_PATH...") +endif(HAVE_GTNETS_LIB AND HAVE_RNGSTREAM_H) message(STATUS "Looking for RngStream.h") if(HAVE_RNGSTREAM_H) @@ -41,27 +64,11 @@ message(STATUS "Looking for RngStream.h - not found") endif(HAVE_RNGSTREAM_H) message(STATUS "Looking for lib gtnets patch") -if(HAVE_GTNETS_LIB AND HAVE_GTNETS) +if(HAVE_GTNETS) message(STATUS "Looking for lib gtnets patch - found") -else(HAVE_GTNETS_LIB AND HAVE_GTNETS) +else(HAVE_GTNETS) message(STATUS "Looking for lib gtnets patch - not found") -endif(HAVE_GTNETS_LIB AND HAVE_GTNETS) - -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(HAVE_GTNETS) mark_as_advanced(HAVE_GTNETS_LIB) mark_as_advanced(HAVE_RNGSTREAM_H) \ No newline at end of file -- 2.20.1