Rudimentary approach at water splash effect for badguys
[supertux.git] / mk / cmake / FindICONV.cmake
1 #
2 #  Copyright (c) 2006, Peter Kümmel, 
3 #
4 #  Redistribution and use in source and binary forms, with or without
5 #  modification, are permitted provided that the following conditions
6 #  are met:
7 #  
8 #  1. Redistributions of source code must retain the copyright
9 #     notice, this list of conditions and the following disclaimer.
10 #  2. Redistributions in binary form must reproduce the copyright
11 #     notice, this list of conditions and the following disclaimer in the
12 #     documentation and/or other materials provided with the distribution.
13 #  3. The name of the author may not be used to endorse or promote products 
14 #     derived from this software without specific prior written permission.
15 #  
16 #  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 #  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 #  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 #  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 #  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 #  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 #  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 #  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 #  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 #  
27
28 if (ICONV_INCLUDE_DIR)
29   # Already in cache, be silent
30   set(ICONV_FIND_QUIETLY TRUE)
31 endif (ICONV_INCLUDE_DIR)
32
33 FIND_PATH(ICONV_INCLUDE_DIR iconv.h
34  /usr/include
35  /usr/local/include
36 )
37
38 set(POTENTIAL_ICONV_LIBS iconv libiconv libiconv2)
39 FIND_LIBRARY(ICONV_LIBRARY NAMES ${POTENTIAL_ICONV_LIBS}
40 PATHS
41  /usr/lib
42  /usr/local/lib
43 )
44
45 if(WIN32)
46         set(ICONV_DLL_NAMES iconv.dll  libiconv.dll libiconv2.dll)
47         FIND_FILE(ICONV_DLL   
48                                         NAMES ${ICONV_DLL_NAMES}
49                                         PATHS ENV PATH
50                                         NO_DEFAULT_PATH)
51         FIND_FILE(ICONV_DLL_HELP   
52                                         NAMES ${ICONV_DLL_NAMES}
53                                         PATHS ENV PATH
54                                         ${ICONV_INCLUDE_DIR}/../bin)
55         IF(ICONV_FIND_REQUIRED)
56                 IF(NOT ICONV_DLL AND NOT ICONV_DLL_HELP)
57                         MESSAGE(FATAL_ERROR "Could not find iconv.dll, please add correct your PATH environment variable")
58                 ENDIF(NOT ICONV_DLL AND NOT ICONV_DLL_HELP)
59                 IF(NOT ICONV_DLL AND ICONV_DLL_HELP)
60                         GET_FILENAME_COMPONENT(ICONV_DLL_HELP ${ICONV_DLL_HELP} PATH)
61                         MESSAGE(STATUS)
62                         MESSAGE(STATUS "Could not find iconv.dll in standard search path, please add ")
63                         MESSAGE(STATUS "${ICONV_DLL_HELP}")
64                         MESSAGE(STATUS "to your PATH environment variable.")
65                         MESSAGE(STATUS)
66                         MESSAGE(FATAL_ERROR "exit cmake")
67                 ENDIF(NOT ICONV_DLL AND ICONV_DLL_HELP)
68         ENDIF(ICONV_FIND_REQUIRED)
69 ELSE(WIN32)
70         set(ICONV_DLL TRUE)
71 endif(WIN32)
72
73
74 IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARY AND ICONV_DLL)
75    SET(ICONV_FOUND TRUE)
76 ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARY AND ICONV_DLL)
77
78 IF (ICONV_FOUND)
79    IF (NOT ICONV_FIND_QUIETLY)
80       MESSAGE(STATUS "Found iconv library: ${ICONV_LIBRARY}")
81       #MESSAGE(STATUS "Found iconv   dll  : ${ICONV_DLL}")
82    ENDIF (NOT ICONV_FIND_QUIETLY)
83 ELSE (ICONV_FOUND)
84    IF (ICONV_FIND_REQUIRED)
85       MESSAGE(STATUS "Looked for iconv library named ${POTENTIAL_ICONV_LIBS}.")
86       MESSAGE(STATUS "Found no acceptable iconv library. This is fatal.")
87       MESSAGE(STATUS "iconv header: ${ICONV_INCLUDE_DIR}")
88       MESSAGE(STATUS "iconv lib   : ${ICONV_LIBRARY}")
89       MESSAGE(FATAL_ERROR "Could NOT find iconv library")
90    ENDIF (ICONV_FIND_REQUIRED)
91 ENDIF (ICONV_FOUND)
92
93 MARK_AS_ADVANCED(ICONV_LIBRARY ICONV_INCLUDE_DIR)
94