mirror of
https://github.com/smyalygames/checklist-tester.git
synced 2025-05-18 06:24:12 +02:00
feat(plugin): create initial structure for XPLM
This commit is contained in:
parent
4d99e7cc2d
commit
9ab92b6d62
21
plugin/CMakeLists.txt
Normal file
21
plugin/CMakeLists.txt
Normal file
@ -0,0 +1,21 @@
|
||||
cmake_minimum_required(VERSION 3.27)
|
||||
|
||||
project(XPL-Checklist-Connector CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# Set compile options for XPLM
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXPLM401=1 -fvisibility=hidden -shared -rdynamic -nodefaultlibs -undefined_warning -lGL -lGLU")
|
||||
|
||||
# Set output directory in X-Plane plugin structure
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/lin_x64)
|
||||
|
||||
find_package(unofficial-x-plane CONFIG REQUIRED)
|
||||
|
||||
add_executable(XPL-Checklist-Connector main.cpp)
|
||||
|
||||
target_link_libraries(XPL-Checklist-Connector PRIVATE unofficial::x-plane::xplm unofficial::x-plane::xpwidgets unofficial::x-plane::xplm_cpp)
|
||||
|
||||
# Rename compiled file to X-Plane conventions
|
||||
set_target_properties(XPL-Checklist-Connector PROPERTIES RUNTIME_OUTPUT_NAME "lin")
|
||||
set_target_properties(XPL-Checklist-Connector PROPERTIES SUFFIX ".xpl")
|
45
plugin/main.cpp
Normal file
45
plugin/main.cpp
Normal file
@ -0,0 +1,45 @@
|
||||
#include <XPLMProcessing.h>
|
||||
|
||||
#if IBM
|
||||
#include <windows.h>
|
||||
BOOL APIENTRY DllMain( HANDLE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
LPVOID lpReserved
|
||||
)
|
||||
{
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
case DLL_THREAD_ATTACH:
|
||||
case DLL_THREAD_DETACH:
|
||||
case DLL_PROCESS_DETACH:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
#if LIN
|
||||
#include <GL/gl.h>
|
||||
#elif __GNUC__
|
||||
#include <OpenGL/gl.h>
|
||||
#else
|
||||
#include <GL/gl.h>
|
||||
#endif
|
||||
|
||||
#ifndef XPLM401
|
||||
#error This is made to be compiled against the XPLM400 SDK
|
||||
#endif
|
||||
|
||||
PLUGIN_API int XPluginStart(char * outName, char * outSignature, char * outDescription) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
PLUGIN_API int XPluginEnable(void) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
PLUGIN_API void XPluginReceiveMessage(XPLMPluginID inFrom, int inMsg, void * inParam) { }
|
||||
|
||||
PLUGIN_API void XPluginDisable(void) { }
|
||||
|
||||
PLUGIN_API void XPluginStop(void) { }
|
15
plugin/vcpkg.json
Normal file
15
plugin/vcpkg.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name" : "xpl-checklist-connector",
|
||||
"version-string" : "1.0.0",
|
||||
"builtin-baseline" : "5fa0f075ea51f305b627ecd5e050a363707353ff",
|
||||
"dependencies" : [ {
|
||||
"name" : "vcpkg-cmake-config",
|
||||
"version>=" : "2022-02-06#1"
|
||||
}, {
|
||||
"name" : "vcpkg-cmake",
|
||||
"version>=" : "2023-05-04"
|
||||
}, {
|
||||
"name" : "x-plane",
|
||||
"version>=" : "4.0.1"
|
||||
} ]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user