BUG: Use -showme:incdirs and -showme:libdirs when we need them
This commit is contained in:
parent
a97a1426c0
commit
cecb98c618
|
@ -88,6 +88,10 @@ elseif (MPI_COMPILER)
|
||||||
ARGS -showme:link
|
ARGS -showme:link
|
||||||
OUTPUT_VARIABLE MPI_LINK_CMDLINE
|
OUTPUT_VARIABLE MPI_LINK_CMDLINE
|
||||||
RETURN_VALUE MPI_COMPILER_RETURN)
|
RETURN_VALUE MPI_COMPILER_RETURN)
|
||||||
|
|
||||||
|
# Note that we probably have -showme:incdirs and -showme:libdirs
|
||||||
|
# as well.
|
||||||
|
set(MPI_COMPILER_MAY_HAVE_INCLIBDIRS TRUE)
|
||||||
endif (MPI_COMPILER_RETURN EQUAL 0)
|
endif (MPI_COMPILER_RETURN EQUAL 0)
|
||||||
|
|
||||||
if (MPI_COMPILER_RETURN EQUAL 0)
|
if (MPI_COMPILER_RETURN EQUAL 0)
|
||||||
|
@ -145,6 +149,18 @@ elseif (MPI_COMPILE_CMDLINE)
|
||||||
list(APPEND MPI_INCLUDE_PATH_WORK ${IPATH})
|
list(APPEND MPI_INCLUDE_PATH_WORK ${IPATH})
|
||||||
endforeach(IPATH)
|
endforeach(IPATH)
|
||||||
|
|
||||||
|
if (NOT MPI_INCLUDE_PATH_WORK)
|
||||||
|
if (MPI_COMPILER_MAY_HAVE_INCLIBDIRS)
|
||||||
|
# The compile command line didn't have any include paths on it,
|
||||||
|
# but we may have -showme:incdirs. Use it.
|
||||||
|
exec_program(${MPI_COMPILER}
|
||||||
|
ARGS -showme:incdirs
|
||||||
|
OUTPUT_VARIABLE MPI_INCLUDE_PATH_WORK
|
||||||
|
RETURN_VALUE MPI_COMPILER_RETURN)
|
||||||
|
separate_arguments(MPI_INCLUDE_PATH_WORK)
|
||||||
|
endif (MPI_COMPILER_MAY_HAVE_INCLIBDIRS)
|
||||||
|
endif (NOT MPI_INCLUDE_PATH_WORK)
|
||||||
|
|
||||||
# Extract linker paths from the link command line
|
# Extract linker paths from the link command line
|
||||||
string(REGEX MATCHALL "-L([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_PATHS "${MPI_LINK_CMDLINE}")
|
string(REGEX MATCHALL "-L([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_PATHS "${MPI_LINK_CMDLINE}")
|
||||||
set(MPI_LINK_PATH)
|
set(MPI_LINK_PATH)
|
||||||
|
@ -154,6 +170,18 @@ elseif (MPI_COMPILE_CMDLINE)
|
||||||
list(APPEND MPI_LINK_PATH ${LPATH})
|
list(APPEND MPI_LINK_PATH ${LPATH})
|
||||||
endforeach(LPATH)
|
endforeach(LPATH)
|
||||||
|
|
||||||
|
if (NOT MPI_LINK_PATH)
|
||||||
|
if (MPI_COMPILER_MAY_HAVE_INCLIBDIRS)
|
||||||
|
# The compile command line didn't have any linking paths on it,
|
||||||
|
# but we may have -showme:libdirs. Use it.
|
||||||
|
exec_program(${MPI_COMPILER}
|
||||||
|
ARGS -showme:libdirs
|
||||||
|
OUTPUT_VARIABLE MPI_LINK_PATH
|
||||||
|
RETURN_VALUE MPI_COMPILER_RETURN)
|
||||||
|
separate_arguments(MPI_LINK_PATH)
|
||||||
|
endif (MPI_COMPILER_MAY_HAVE_INCLIBDIRS)
|
||||||
|
endif (NOT MPI_LINK_PATH)
|
||||||
|
|
||||||
# Extract linker flags from the link command line
|
# Extract linker flags from the link command line
|
||||||
string(REGEX MATCHALL "-Wl,([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_FLAGS "${MPI_LINK_CMDLINE}")
|
string(REGEX MATCHALL "-Wl,([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_FLAGS "${MPI_LINK_CMDLINE}")
|
||||||
set(MPI_LINK_FLAGS_WORK)
|
set(MPI_LINK_FLAGS_WORK)
|
||||||
|
|
Loading…
Reference in New Issue