Mercurial > code
annotate cmake/FindLua52.cmake @ 266:41bdde9027c0
Pack:
* TypeInfo<T>::convert does not check and is constexpr
* Pack::convert does the check though
* Make overloads for std::[oi]stream available for different streams
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 14 Oct 2014 12:59:10 +0200 |
parents | e01ee0c72c43 |
children |
rev | line source |
---|---|
225
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # Locate Lua library |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # This module defines |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # LUA52_FOUND, if false, do not try to link to Lua |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # LUA52_LIBRARIES |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # LUA52_INCLUDE_DIR, where to find lua.h |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # LUA52_VERSION_STRING, the version of Lua found (since CMake 2.8.8) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # Note that the expected include convention is |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # #include "lua.h" |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # and not |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # #include <lua/lua.h> |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # This is because, the lua location is not standardized and may exist |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # in locations other than lua/ |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 #============================================================================= |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # Copyright 2007-2009 Kitware, Inc. |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 # |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 # Distributed under the OSI-approved BSD License (the "License"); |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 # see accompanying file Copyright.txt for details. |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 # |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 # This software is distributed WITHOUT ANY WARRANTY; without even the |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 # See the License for more information. |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 #============================================================================= |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 # (To distribute this file outside of CMake, substitute the full |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 # License text for the above reference.) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 find_path(LUA52_INCLUDE_DIR lua.h |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 HINTS |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 $ENV{LUA_DIR} |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 PATH_SUFFIXES include/lua52 include/lua5.2 include/lua include |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 PATHS |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 ~/Library/Frameworks |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 /Library/Frameworks |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 /sw # Fink |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 /opt/local # DarwinPorts |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 /opt/csw # Blastwave |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 /opt |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 ) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 find_library(LUA52_LIBRARY |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 NAMES lua52 lua5.2 lua-5.2 lua |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 HINTS |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 $ENV{LUA_DIR} |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 PATH_SUFFIXES lib64 lib |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 PATHS |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 ~/Library/Frameworks |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 /Library/Frameworks |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 /sw |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 /opt/local |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 /opt/csw |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 /opt |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 ) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 if (LUA52_LIBRARY) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 # include the math library for Unix |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 if (UNIX AND NOT APPLE) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 FIND_LIBRARY(LUA52_MATH_LIBRARY m) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 SET(LUA52_LIBRARIES "${LUA52_LIBRARY};${LUA52_MATH_LIBRARY}" CACHE STRING "Lua Libraries") |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 # For Windows and Mac, don't need to explicitly include the math library |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 else (UNIX AND NOT APPLE) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 SET(LUA52_LIBRARIES "${LUA52_LIBRARY}" CACHE STRING "Lua Libraries") |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 endif (UNIX AND NOT APPLE) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 endif () |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 if (LUA52_INCLUDE_DIR AND EXISTS "${LUA52_INCLUDE_DIR}/lua.h") |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 file(STRINGS "${LUA52_INCLUDE_DIR}/lua.h" lua52_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"") |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA52_VERSION_STRING "${lua52_version_str}") |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 unset(lua52_version_str) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 endif() |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 include(FindPackageHandleStandardArgs) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 # handle the QUIETLY and REQUIRED arguments and set LUA52_FOUND to TRUE if |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 # all listed variables are TRUE |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 find_package_handle_standard_args(Lua52 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 REQUIRED_VARS LUA52_LIBRARIES LUA52_INCLUDE_DIR |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 VERSION_VAR LUA52_VERSION_STRING) |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 |
e01ee0c72c43
Luae: begin refactoring of Luae
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 mark_as_advanced(LUA52_INCLUDE_DIR LUA52_LIBRARIES LUA52_LIBRARY LUA52_MATH_LIBRARY) |