|
1 | 1 | # - Try to find luajit |
2 | 2 | # Once done this will define |
3 | | -# LUAJIT_FOUND - System has luajit |
4 | | -# LUAJIT_INCLUDE_DIRS - The luajit include directories |
5 | | -# LUAJIT_LIBRARIES - The libraries needed to use luajit |
| 3 | +# LuaJIT_FOUND - System has luajit |
| 4 | +# LuaJIT_INCLUDE_DIRS - The luajit include directories |
| 5 | +# LuaJIT_LIBRARIES - The libraries needed to use luajit |
6 | 6 |
|
7 | | -find_package(PkgConfig) |
8 | | -if (PKG_CONFIG_FOUND) |
9 | | - pkg_check_modules(PC_LUAJIT QUIET luajit) |
10 | | -endif() |
| 7 | +if (DEFINED VCPKG_INSTALLED_DIR AND DEFINED VCPKG_TARGET_TRIPLET) |
| 8 | + set(LuaJIT_SEARCH_ROOT ${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}) |
11 | 9 |
|
12 | | -set(LUAJIT_DEFINITIONS ${PC_LUAJIT_CFLAGS_OTHER}) |
| 10 | + find_path(LuaJIT_INCLUDE_DIR luajit.h |
| 11 | + PATHS ${LuaJIT_SEARCH_ROOT}/include |
| 12 | + PATH_SUFFIXES luajit |
| 13 | + NO_DEFAULT_PATH) |
13 | 14 |
|
14 | | -find_path(LUAJIT_INCLUDE_DIR luajit.h |
15 | | - PATHS ${PC_LUAJIT_INCLUDEDIR} ${PC_LUAJIT_INCLUDE_DIRS} |
16 | | - PATH_SUFFIXES luajit-2.0 luajit-2.1) |
| 15 | + find_library(LuaJIT_LIBRARY_RELEASE NAMES lua51 |
| 16 | + PATHS ${LuaJIT_SEARCH_ROOT} |
| 17 | + PATH_SUFFIXES lib |
| 18 | + NO_DEFAULT_PATH) |
17 | 19 |
|
18 | | -if(MSVC) |
19 | | - list(APPEND LUAJIT_NAMES lua51) |
20 | | -elseif(MINGW) |
21 | | - list(APPEND LUAJIT_NAMES libluajit libluajit-5.1) |
22 | | -else() |
23 | | - list(APPEND LUAJIT_NAMES luajit-5.1) |
24 | | -endif() |
| 20 | + find_library(LuaJIT_LIBRARY_DEBUG NAMES lua51 |
| 21 | + PATHS ${LuaJIT_SEARCH_ROOT} |
| 22 | + PATH_SUFFIXES debug/lib |
| 23 | + NO_DEFAULT_PATH) |
| 24 | + |
| 25 | + include(SelectLibraryConfigurations) |
| 26 | + select_library_configurations(LuaJIT) |
| 27 | + |
| 28 | + find_package_handle_standard_args(LuaJIT |
| 29 | + REQUIRED_VARS LuaJIT_LIBRARY LuaJIT_INCLUDE_DIR) |
| 30 | + mark_as_advanced(LuaJIT_INCLUDE_DIR LuaJIT_LIBRARY) |
| 31 | + |
| 32 | + if(LuaJIT_FOUND) |
| 33 | + set(LuaJIT_INCLUDE_DIRS ${LuaJIT_INCLUDE_DIR}) |
| 34 | + |
| 35 | + if(NOT LuaJIT_LIBRARIES) |
| 36 | + set(LuaJIT_LIBRARIES ${LuaJIT_LIBRARY}) |
| 37 | + endif() |
| 38 | + |
| 39 | + if(NOT TARGET LuaJIT::LuaJIT) |
| 40 | + add_library(LuaJIT::LuaJIT UNKNOWN IMPORTED) |
| 41 | + set_target_properties(LuaJIT::LuaJIT PROPERTIES |
| 42 | + INTERFACE_INCLUDE_DIRECTORIES "${LuaJIT_INCLUDE_DIRS}") |
25 | 43 |
|
26 | | -find_library(LUAJIT_LIBRARY NAMES ${LUAJIT_NAMES} |
27 | | - PATHS ${PC_LUAJIT_LIBDIR} ${PC_LUAJIT_LIBRARY_DIRS}) |
| 44 | + if(LuaJIT_LIBRARY_RELEASE) |
| 45 | + set_property(TARGET LuaJIT::LuaJIT APPEND PROPERTY |
| 46 | + IMPORTED_CONFIGURATIONS RELEASE) |
| 47 | + set_target_properties(LuaJIT::LuaJIT PROPERTIES |
| 48 | + IMPORTED_LOCATION_RELEASE "${LuaJIT_LIBRARY_RELEASE}") |
| 49 | + endif() |
28 | 50 |
|
29 | | -set(LUAJIT_LIBRARIES ${LUAJIT_LIBRARY}) |
30 | | -set(LUAJIT_INCLUDE_DIRS ${LUAJIT_INCLUDE_DIR}) |
| 51 | + if(LuaJIT_LIBRARY_DEBUG) |
| 52 | + set_property(TARGET LuaJIT::LuaJIT APPEND PROPERTY |
| 53 | + IMPORTED_CONFIGURATIONS DEBUG) |
| 54 | + set_target_properties(LuaJIT::LuaJIT PROPERTIES |
| 55 | + IMPORTED_LOCATION_DEBUG "${LuaJIT_LIBRARY_DEBUG}") |
| 56 | + endif() |
31 | 57 |
|
32 | | -include(FindPackageHandleStandardArgs) |
33 | | -# handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE |
34 | | -# if all listed variables are TRUE |
35 | | -find_package_handle_standard_args(LuaJit DEFAULT_MSG |
36 | | - LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR) |
| 58 | + if(NOT LuaJIT_LIBRARY_RELEASE AND NOT LuaJIT_LIBRARY_DEBUG) |
| 59 | + set_property(TARGET LuaJIT::LuaJIT APPEND PROPERTY |
| 60 | + IMPORTED_LOCATION "${LuaJIT_LIBRARY}") |
| 61 | + endif() |
| 62 | + endif() |
| 63 | + endif() |
| 64 | + unset(LuaJIT_SEARCH_ROOT) |
| 65 | +else () |
| 66 | + find_package(PkgConfig) |
| 67 | + if (PKG_CONFIG_FOUND) |
| 68 | + pkg_check_modules(PC_LUAJIT QUIET luajit) |
| 69 | + endif() |
37 | 70 |
|
38 | | -mark_as_advanced(LUAJIT_INCLUDE_DIR LUAJIT_LIBRARY) |
| 71 | + set(LUAJIT_DEFINITIONS ${PC_LUAJIT_CFLAGS_OTHER}) |
| 72 | + |
| 73 | + find_path(LUAJIT_INCLUDE_DIR luajit.h |
| 74 | + PATHS ${PC_LUAJIT_INCLUDEDIR} ${PC_LUAJIT_INCLUDE_DIRS} |
| 75 | + PATH_SUFFIXES luajit-2.0 luajit-2.1) |
| 76 | + |
| 77 | + if(MSVC) |
| 78 | + list(APPEND LUAJIT_NAMES lua51) |
| 79 | + elseif(MINGW) |
| 80 | + list(APPEND LUAJIT_NAMES libluajit libluajit-5.1) |
| 81 | + else() |
| 82 | + list(APPEND LUAJIT_NAMES luajit-5.1) |
| 83 | + endif() |
| 84 | + |
| 85 | + find_library(LUAJIT_LIBRARY NAMES ${LUAJIT_NAMES} |
| 86 | + PATHS ${PC_LUAJIT_LIBDIR} ${PC_LUAJIT_LIBRARY_DIRS}) |
| 87 | + |
| 88 | + set(LUAJIT_LIBRARIES ${LUAJIT_LIBRARY}) |
| 89 | + set(LUAJIT_INCLUDE_DIRS ${LUAJIT_INCLUDE_DIR}) |
| 90 | + |
| 91 | + include(FindPackageHandleStandardArgs) |
| 92 | + # handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE |
| 93 | + # if all listed variables are TRUE |
| 94 | + find_package_handle_standard_args(LuaJit DEFAULT_MSG |
| 95 | + LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR) |
| 96 | + |
| 97 | + mark_as_advanced(LUAJIT_INCLUDE_DIR LUAJIT_LIBRARY) |
| 98 | +endif() |
0 commit comments