mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-01 10:38:59 +08:00
eb33d2f758
* [xplane-sdk] New port * [xplane-sdk] This build should work. * [xplane-sdk] updated versions. i forgor. * [xplane-sdk] Build fixed for Mac. * [x-plane-sdk] xplane-sdk renamed to x-plane-sdk. xplane-sdk has not yet been published, so this is okay. * [x-plane-sdk] Renaming fixes. * [x-plane-sdk] Clarify license. The license seems to be a weird mix of the MIT, BSD 1-clause, and BSD 3-clause licenses. I can't work it out. It's permissive, but it's not any one license. * [x-plane-sdk] Switch to vcpkg_install_copyright. * [x-plane-sdk] Fixup config. * Rename x-plane-sdk to x-plane. Includes also moved to include root. Signed-off-by: Julia DeMille <me@jdemille.com> * Forgot to format and update versions. Signed-off-by: Julia DeMille <me@jdemille.com> --------- Signed-off-by: Julia DeMille <me@jdemille.com>
100 lines
3.7 KiB
CMake
100 lines
3.7 KiB
CMake
cmake_minimum_required(VERSION 3.21)
|
|
project(x-plane LANGUAGES C CXX)
|
|
|
|
if(WIN32 OR APPLE)
|
|
add_library(unofficial::x-plane::xplm SHARED IMPORTED)
|
|
if(WIN32)
|
|
set_target_properties(
|
|
unofficial::x-plane::xplm
|
|
PROPERTIES IMPORTED_IMPLIB "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Win/XPLM_64.lib")
|
|
set_target_properties(
|
|
unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS
|
|
"-DIBM=1;-DAPL=0;-DLIN=0")
|
|
else()
|
|
set_target_properties(
|
|
unofficial::x-plane::xplm
|
|
PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Mac/XPLM.framework/XPLM")
|
|
set_target_properties(
|
|
unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS
|
|
"-DIBM=0;-DAPL=1;-DLIN=0")
|
|
endif()
|
|
else()
|
|
add_library(unofficial::x-plane::xplm INTERFACE IMPORTED)
|
|
set_target_properties(
|
|
unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS
|
|
"-DIBM=0;-DAPL=0;-DLIN=1")
|
|
endif()
|
|
set_target_properties(
|
|
unofficial::x-plane::xplm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/CHeaders/XPLM")
|
|
|
|
if(WIN32 OR APPLE)
|
|
add_library(unofficial::x-plane::xpwidgets SHARED IMPORTED)
|
|
if(WIN32)
|
|
set_target_properties(
|
|
unofficial::x-plane::xpwidgets
|
|
PROPERTIES IMPORTED_IMPLIB "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Win/XPWidgets_64.lib")
|
|
else()
|
|
set_target_properties(
|
|
unofficial::x-plane::xpwidgets
|
|
PROPERTIES IMPORTED_LOCATION
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Mac/XPWidgets.framework/XPWidgets")
|
|
endif()
|
|
else()
|
|
add_library(unofficial::x-plane::xpwidgets INTERFACE IMPORTED)
|
|
endif()
|
|
set_target_properties(
|
|
unofficial::x-plane::xpwidgets PROPERTIES INTERFACE_LINK_LIBRARIES
|
|
"unofficial::x-plane::xplm")
|
|
set_target_properties(
|
|
unofficial::x-plane::xpwidgets
|
|
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/CHeaders/Widgets")
|
|
|
|
add_library(xplm_cpp STATIC)
|
|
|
|
target_sources(
|
|
xplm_cpp
|
|
PRIVATE CHeaders/Wrappers/XPCBroadcaster.cpp
|
|
CHeaders/Wrappers/XPCDisplay.cpp
|
|
CHeaders/Wrappers/XPCListener.cpp
|
|
CHeaders/Wrappers/XPCProcessing.cpp
|
|
CHeaders/Wrappers/XPCWidget.cpp
|
|
CHeaders/Wrappers/XPCWidgetAttachments.cpp)
|
|
|
|
target_include_directories(
|
|
xplm_cpp
|
|
INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/CHeaders/Wrappers>
|
|
$<INSTALL_INTERFACE:include>)
|
|
|
|
target_link_libraries(xplm_cpp PUBLIC unofficial::x-plane::xplm
|
|
unofficial::x-plane::xpwidgets)
|
|
|
|
install(
|
|
TARGETS xplm_cpp
|
|
EXPORT xplm-targets
|
|
ARCHIVE DESTINATION lib)
|
|
|
|
file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CHeaders/XPLM/*.h")
|
|
install(FILES ${HEADERS} DESTINATION "include")
|
|
|
|
file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CHeaders/Widgets/*.h")
|
|
install(FILES ${HEADERS} DESTINATION "include")
|
|
|
|
file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CHeaders/Wrappers/*.h")
|
|
install(FILES ${HEADERS} DESTINATION "include")
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
configure_package_config_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/unofficial-x-plane-config.cmake.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/unofficial-x-plane-config.cmake"
|
|
INSTALL_DESTINATION "share/unofficial-x-plane")
|
|
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-x-plane-config.cmake"
|
|
DESTINATION "share/unofficial-x-plane")
|
|
|
|
install(
|
|
EXPORT xplm-targets
|
|
DESTINATION share/unofficial-x-plane
|
|
FILE unofficial-x-plane-targets.cmake
|
|
NAMESPACE unofficial::x-plane::)
|