Files
pilotclient/cmake/modules/FindVATSIMAuth.cmake
2025-07-07 21:51:31 +02:00

63 lines
2.2 KiB
CMake

# SPDX-FileCopyrightText: Copyright (C) swift Project Community / Contributors
# SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
macro(CheckPackageFound MSG)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(VATSIMAuth
REQUIRED_VARS VATSIM_AUTH_FOUND
FAIL_MESSAGE "VATSIMAuth not found. ${MSG}"
)
endmacro()
if (NOT DEFINED VATSIM_AUTH_PATH)
CheckPackageFound("VATSIM_AUTH_PATH not set")
return()
endif()
if (NOT EXISTS ${VATSIM_AUTH_PATH})
CheckPackageFound("VATSIM_AUTH_PATH does not exist")
return()
endif()
if (NOT EXISTS "${VATSIM_AUTH_PATH}/common/include/vatsim/vatsimauth.h" OR NOT EXISTS "${VATSIM_AUTH_PATH}/linux-g++/64/lib/libvatsimauth.so")
CheckPackageFound("VATSIM_AUTH_PATH does not contain VATSIMAuth")
return()
endif()
add_library(VATSIMAuth::VATSIMAuth SHARED IMPORTED GLOBAL)
target_include_directories(VATSIMAuth::VATSIMAuth INTERFACE ${VATSIM_AUTH_PATH}/common/include)
if(UNIX AND NOT APPLE)
set_target_properties(VATSIMAuth::VATSIMAuth PROPERTIES IMPORTED_LOCATION ${VATSIM_AUTH_PATH}/linux-g++/64/lib/libvatsimauth.so)
elseif(APPLE)
set_target_properties(VATSIMAuth::VATSIMAuth PROPERTIES IMPORTED_LOCATION ${VATSIM_AUTH_PATH}/macx-clang/64/lib/libvatsimauth.dylib)
elseif(SWIFT_WIN32)
set_target_properties(VATSIMAuth::VATSIMAuth PROPERTIES IMPORTED_IMPLIB ${VATSIM_AUTH_PATH}/win32-msvc/32/lib/vatsimauth.lib)
set_target_properties(VATSIMAuth::VATSIMAuth PROPERTIES IMPORTED_LOCATION ${VATSIM_AUTH_PATH}/win32-msvc/32/lib/vatsimauth.dll)
elseif(SWIFT_WIN64)
set_target_properties(VATSIMAuth::VATSIMAuth PROPERTIES IMPORTED_IMPLIB ${VATSIM_AUTH_PATH}/win32-msvc/64/lib/vatsimauth.lib)
set_target_properties(VATSIMAuth::VATSIMAuth PROPERTIES IMPORTED_LOCATION ${VATSIM_AUTH_PATH}/win32-msvc/64/lib/vatsimauth.dll)
endif()
if(UNIX AND NOT APPLE)
# https://gitlab.kitware.com/cmake/cmake/-/issues/19860#note_642079
set_target_properties(VATSIMAuth::VATSIMAuth PROPERTIES IMPORTED_NO_SONAME TRUE)
endif()
install(IMPORTED_RUNTIME_ARTIFACTS VATSIMAuth::VATSIMAuth
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
set(VATSIM_AUTH_FOUND TRUE)
CheckPackageFound("Found")