check for per python version libboost_python library
[mussa.git] / makelib / FindBoost.cmake
1 # - Find Boost libraries
2 # Go hunting for boost compoments
3 # Defines:
4 #  BOOST_INCLUDE
5
6 FIND_PATH(BOOST_INCLUDE_DIR boost/weak_ptr.hpp 
7                             /usr/include 
8                             /usr/include/boost-1_34
9                             /usr/include/boost-1_33
10                             /usr/local/include
11                             /usr/local/include/boost-1_34
12                             /usr/local/include/boost-1_33
13                             C:\\Boost\\Include
14                             C:\\Boost\\Include\\boost-1_34
15                             C:\\Boost\\include\\boost-1_33_1 )
16
17 FIND_PACKAGE(PythonInterp)
18 IF(PYTHONINTERP_FOUND)
19   STRING(REGEX MATCH "[0-9]\\.[0-9]$" PYVER ${PYTHON_EXECUTABLE})
20 ENDIF(PYTHONINTERP_FOUND)
21
22 IF(MINGW)
23   SET (BOOST_ROOT C:\\Boost)
24   FIND_LIBRARY( BOOST_FILESYSTEM_LIBRARY NAMES
25                 libboost_filesystem-mgw-s
26                 libboost_filesystem-mgw34-s-1_34
27                 PATHS ${BOOST_ROOT}\\lib )
28   FIND_LIBRARY( BOOST_FILESYSTEM_LIBRARY_DEBUG NAMES
29                 libboost_filesystem-mgw-sd
30                 libboost_filesystem-mgw34-s-1_34
31                 PATHS ${BOOST_ROOT}\\lib )
32   FIND_LIBRARY( BOOST_PROGRAM_OPTIONS_LIBRARY NAMES
33                 libboost_program_options-mgw-s
34                 libboost_program_options-mgw34-s-1_34
35                 PATHS ${BOOST_ROOT}\\lib )
36   FIND_LIBRARY( BOOST_PROGRAM_OPTIONS_LIBRARY_DEBUG NAMES 
37                 libboost_program_options-mgw-sd
38                 libboost_program_options-mgw34-sd-1_34
39                 PATHS ${BOOST_ROOT}\\lib )
40   IF(PYTHONINTERP_FOUND)
41     FIND_LIBRARY( BOOST_PYTHON_LIBRARY NAMES
42                   libboost_python${PYVER}-mgw
43                   libboost_python${PYVER}-mgw34-1_34
44                   libboost_python-mgw
45                   libboost_python-mgw34-1_34
46                   PATHS ${BOOST_ROOT}\\lib )
47     FIND_LIBRARY( BOOST_PYTHON_LIBRARY_DEBUG NAMES 
48                   libboost_python${PYVER}-mgw-d
49                   libboost_python${PYVER}-mgw34-d-1_34
50                   libboost_python-mgw-d
51                   libboost_python-mgw34-d-1_34
52                   PATHS ${BOOST_ROOT}\\lib )
53   ENDIF(PYTHONINTERP_FOUND)
54   FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY NAMES
55                 libboost_serialization-mgw
56                 libboost_serialization-mgw34-1_34
57                 PATHS ${BOOST_ROOT}\\lib )
58   FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY_DEBUG NAMES
59                 libboost_python-mgw-d
60                 libboost_python-mgw34-d-1_34
61                 PATHS ${BOOST_ROOT}\\lib )
62   FIND_LIBRARY( BOOST_UNIT_TEST_LIBRARY NAMES
63                 libboost_unit_test_framework-mgw-s
64                 libboost_unit_test_framework-mgw34-s-1_34
65                 PATHS ${BOOST_ROOT}\\lib )
66   FIND_LIBRARY( BOOST_UNIT_TEST_LIBRARY_DEBUG NAMES
67                 libboost_unit_test_framework-mgw-sd
68                 libboost_unit_test_framework-mgw34-sd-1_34
69                 PATHS ${BOOST_ROOT}\\lib )
70 ELSE(MINGW)
71
72
73 FIND_LIBRARY( BOOST_FILESYSTEM_LIBRARY NAMES 
74               boost_filesystem
75               boost_filesystem-40
76               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
77 FIND_LIBRARY( BOOST_PROGRAM_OPTIONS_LIBRARY NAMES 
78               boost_program_options
79               boost_program_options-40
80               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
81 IF(PYTHONINTERP_FOUND)
82   FIND_LIBRARY( BOOST_PYTHON_LIBRARY NAMES 
83                 boost_python${PYVER}
84                 boost_python${PYVER}-40
85                 boost_python${PYVER}-gcc40-1_34
86                 boost_python
87                 boost_python-40
88                 boost_python-gcc40-1_34
89                 PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
90   FIND_LIBRARY( BOOST_PYTHON_LIBRARY_DEBUG NAMES 
91                 boost_python${PYVER}-d
92                 boost_python${PYVER}-40-d
93                 boost_python${PYVER}-gcc40-d
94                 boost_python${PYVER}-gcc40-d-1_34
95                 boost_python-d
96                 boost_python-40-d
97                 boost_python-gcc40-d-1_34
98                 PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
99 ENDIF(PYTHONINTERP_FOUND)
100 FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY NAMES 
101               boost_serialization
102               boost_serialization-40
103               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
104 FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY_DEBUG NAMES 
105               boost_serialization-d
106               boost_serialization-40-d
107               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
108 FIND_LIBRARY( BOOST_SIGNALS_LIBRARY NAMES 
109               boost_signals
110               boost_signals-40
111               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
112 FIND_LIBRARY( BOOST_SIGNALS_LIBRARY_DEBUG NAMES 
113               boost_signals-d
114               boost_signals-40-d
115               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
116 FIND_LIBRARY( BOOST_UNIT_TEST_LIBRARY NAMES 
117               boost_unit_test_framework 
118               boost_unit_test_framework-40
119               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
120
121 ENDIF(MINGW)
122
123 IF (BOOST_INCLUDE_DIR)
124   SET(BOOST_FOUND TRUE)
125 ENDIF (BOOST_INCLUDE_DIR)
126
127 IF (BOOST_FOUND)
128   IF (NOT Boost_FIND_QUIETLY)
129      MESSAGE(STATUS "Found Boost: ${BOOST_INCLUDE_DIR}")
130   ENDIF (NOT Boost_FIND_QUIETLY)
131 ELSE(BOOST_FOUND)
132   IF (Boost_FIND_REQUIRED)
133      MESSAGE(FATAL_ERROR "Could not find Boost")
134   ENDIF (Boost_FIND_REQUIRED)
135 ENDIF (BOOST_FOUND)
136