You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.5 KiB
44 lines
1.5 KiB
# https://github.com/switchpy/libnx-template/blob/7037982c77e1767410143103d5963d0ddc77fb64/cmake/FindLIBNX.cmake |
|
|
|
# Tries to find libnx |
|
# Once done, this will define: |
|
# > LIBNX_FOUND - The system has libnx |
|
# > LIBNX_INCLUDE_DIRS - The libnx include directories |
|
# > LIBNX_LIBRARIES - The libnx libraries required for using it |
|
# |
|
# It also adds an imported target named `switch::libnx`. |
|
|
|
include(utils) # <- devilutionX patch |
|
|
|
if (NOT SWITCH) |
|
cmake_panic("This helper can only be used if you are using the Switch toolchain file.") |
|
endif () |
|
|
|
set(LIBNX_PATHS $ENV{LIBNX} libnx ${LIBNX} ${DEVKITPRO}/libnx) |
|
|
|
find_path(LIBNX_INCLUDE_DIR switch.h |
|
PATHS ${LIBNX_PATHS} |
|
PATH_SUFFIXES include) |
|
|
|
find_library(LIBNX_LIBRARY NAMES libnx.a |
|
PATHS ${LIBNX_PATHS} |
|
PATH_SUFFIXES lib) |
|
|
|
set(LIBNX_INCLUDE_DIRS ${LIBNX_INCLUDE_DIR}) |
|
set(LIBNX_LIBRARIES ${LIBNX_LIBRARY}) |
|
|
|
# Handle the QUIETLY and REQUIRED arguments and set LIBNX_FOUND to TRUE if all above variables are TRUE. |
|
include(FindPackageHandleStandardArgs) |
|
find_package_handle_standard_args(LIBNX DEFAULT_MSG |
|
LIBNX_INCLUDE_DIR LIBNX_LIBRARY) |
|
|
|
mark_as_advanced(LIBNX_INCLUDE_DIR LIBNX_LIBRARY) |
|
if (LIBNX_FOUND) |
|
set(LIBNX ${LIBNX_INCLUDE_DIR}/..) |
|
cmake_info("Setting LIBNX to ${LIBNX}") |
|
|
|
add_library(switch::libnx STATIC IMPORTED GLOBAL) |
|
set_target_properties(switch::libnx PROPERTIES |
|
IMPORTED_LOCATION ${LIBNX_LIBRARY} |
|
INTERFACE_INCLUDE_DIRECTORIES ${LIBNX_INCLUDE_DIR}) |
|
endif ()
|
|
|