Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Set valgrind option --track-origins=no, to make it use less memory.
[simgrid.git] / buildtools / Cmake / Modules / FindLibunwind.cmake
1 if(PROCESSOR_x86_64)
2   find_library(PATH_LIBUNWIND_LIB
3     NAMES unwind-x86_64
4     HINTS
5     $ENV{SIMGRID_LIBUNWIND_LIBRARY_PATH}
6     $ENV{LD_LIBRARY_PATH}
7     $ENV{LIBUNWIND_LIBRARY_PATH}
8     PATH_SUFFIXES lib/ GnuWin32/lib
9     PATHS
10     /opt
11     /opt/local
12     /opt/csw
13     /sw
14     /usr)
15 else()
16   find_library(PATH_LIBUNWIND_LIB
17     NAMES unwind
18     HINTS
19     $ENV{SIMGRID_LIBUNWIND_LIBRARY_PATH}
20     $ENV{LD_LIBRARY_PATH}
21     $ENV{LIBUNWIND_LIBRARY_PATH}
22     PATH_SUFFIXES lib/ GnuWin32/lib
23     PATHS
24     /opt
25     /opt/local
26     /opt/csw
27     /sw
28     /usr)
29 endif()
30
31 find_path(PATH_LIBUNWIND_H "libunwind.h"
32   HINTS
33   $ENV{SIMGRID_LIBUNWIND_LIBRARY_PATH}
34   $ENV{LD_LIBRARY_PATH}
35   $ENV{LIBUNWIND_LIBRARY_PATH}
36   PATH_SUFFIXES include/ GnuWin32/include
37   PATHS
38   /opt
39   /opt/local
40   /opt/csw
41   /sw
42   /usr)
43
44 message(STATUS "Looking for libunwind.h")
45 if(PATH_LIBUNWIND_H)
46   message(STATUS "Looking for libunwind.h - found")
47 else()
48   message(STATUS "Looking for libunwind.h - not found")
49 endif()
50
51 message(STATUS "Looking for libunwind")
52 if(PATH_LIBUNWIND_LIB)
53   message(STATUS "Looking for libunwind - found")
54 else()
55   message(STATUS "Looking for libunwind - not found")
56 endif()
57
58 if(PATH_LIBUNWIND_LIB AND PATH_LIBUNWIND_H)
59   string(REGEX REPLACE "/libunwind.*[.]${LIB_EXE}$" "" PATH_LIBUNWIND_LIB "${PATH_LIBUNWIND_LIB}")
60   string(REGEX REPLACE "/libunwind.h"               "" PATH_LIBUNWIND_H   "${PATH_LIBUNWIND_H}")
61       
62   include_directories(${PATH_LIBUNWIND_H})
63   link_directories(${PATH_LIBUNWIND_LIB})
64   
65 else()
66   message(FATAL_ERROR "Please either install the libunwind7-dev package (or equivalent) or turn off the model-checking option of SimGrid.")
67 endif()
68
69 mark_as_advanced(PATH_LIBUNWIND_H)
70 mark_as_advanced(PATH_LIBUNWIND_LIB)