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.
45 lines
1.5 KiB
45 lines
1.5 KiB
|
7 years ago
|
# 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 ()
|