FindATP.cmake
Go to the documentation of this file.
1 # Find the Cray ATP library
2 # defines:
3 # ATP_FOUND - System has ATP
4 # ATP_LIBRARIES - The libraries needed to use ATP
5 # ATP_LINK_FLAGS - Required link flags
6 # options:
7 # if FindATP_DEBUG is set then information about
8 # what was found is printed.
9 if (NOT ATP_FOUND)
10  find_package(PkgConfig)
11  pkg_check_modules(ATP_TMP QUIET AtpSigHandler)
12 
13  # convert naked libs into libs with full paths
14  set(ATP_TMP_LIBS)
15  foreach(tmp_lib ${ATP_TMP_LIBRARIES})
16  set(${tmp_lib}_lib)
17  find_library(
18  ${tmp_lib}_lib NAMES ${tmp_lib}
19  HINTS ${ATP_TMP_LIBRARY_DIRS})
20  if (${tmp_lib}_lib)
21  set(ATP_TMP_LIBS ${ATP_TMP_LIBS} ${${tmp_lib}_lib})
22  endif()
23  endforeach()
24 
25  # get rid of ; which break the link command
26  set(ATP_TMP_FLAGS)
27  foreach(tmp_flag ${ATP_TMP_LDFLAGS_OTHER})
28  set(ATP_TMP_FLAGS "${ATP_TMP_FLAGS} ${tmp_flag}")
29  endforeach()
30 
31  set(ATP_LIBRARIES ${ATP_TMP_LIBS} CACHE STRING "Cray ATP link libraries")
32  set(ATP_LINK_FLAGS ${ATP_TMP_FLAGS} CACHE STRING "Cray ATP extra compiler flags")
33  mark_as_advanced(ATP_LIBRARIES ATP_LINK_FLAGS)
34 
35  include(FindPackageHandleStandardArgs)
36  find_package_handle_standard_args(ATP DEFAULT_MSG ATP_LIBRARIES)
37 
38  if (FindATP_DEBUG)
39  message("ATP_TMP_FOUND=${ATP_TMP_FOUND}")
40  message("ATP_TMP_LIBRARIES=${ATP_TMP_LIBRARIES}")
41  message("ATP_TMP_LIBRARY_DIRS=${ATP_TMP_LIBRARY_DIRS}")
42  message("ATP_TMP_LDFLAGS=${ATP_TMP_LDFLAGS}")
43  message("ATP_TMP_LDFLAGS_OTHER=${ATP_TMP_LDFLAGS_OTHER}")
44  message("ATP_TMP_INCLUDE_DIRS=${ATP_TMP_INCLUDE_DIRS}")
45  message("ATP_TMP_CFLAGS=${ATP_TMP_CFLAGS}")
46  message("ATP_TMP_CFLAGS_OTHER=${ATP_TMP_CFLAGS_OTHER}")
47  message("ATP_LIBRARIES=${ATP_LIBRARIES}")
48  message("ATP_LINK_FLAGS=${ATP_LINK_FLAGS}")
49  endif()
50 endif()