Adjust for new Platform Requirements

This commit is contained in:
Kilian Hofmann 2022-09-08 02:20:55 +02:00
parent 8b9f5d0406
commit 7d45ca71ba
11 changed files with 131 additions and 194 deletions

View File

@ -22,6 +22,8 @@ add_subdirectory(
add_subdirectory(
file
)
add_subdirectory(
xplugin
)
if(NOT (WIN32 AND (BIT STREQUAL "32")))
add_subdirectory(
xplugin
)
endif()

115
Jenkinsfile vendored
View File

@ -37,8 +37,6 @@ pipeline {
DEBUG = 1
}
steps {
sh 'bash ./build.sh lin32'
sh 'analyze-build --verbose --cdb build/compile_commands.json --output build/Analysis/lin32'
sh 'bash ./build.sh lin64'
sh 'analyze-build --verbose --cdb build/compile_commands.json --output build/Analysis/lin64'
}
@ -72,118 +70,5 @@ pipeline {
sh 'rm -rf build'
}
}
stage('Build Windows Stageing') {
when {
branch 'stage'
beforeAgent true
}
agent {
docker {
image 'llvm-mingw:latest'
reuseNode true
}
}
steps {
sh 'bash ./build.sh win32'
sh 'bash ./build.sh win64'
}
}
stage('Build Linux Stageing') {
when {
branch 'stage'
beforeAgent true
}
agent {
docker {
image 'llvm:latest'
reuseNode true
}
}
steps {
sh 'bash ./build.sh lin32'
sh 'bash ./build.sh lin64'
}
}
stage('Build MacOSX Stageing') {
when {
branch 'stage'
beforeAgent true
}
agent {
docker {
image 'osxcross:latest'
reuseNode true
}
}
steps {
sh 'bash ./build.sh mac'
}
}
stage('Archive Stageing') {
when {
branch 'stage'
}
steps {
zip zipFile: 'Stage.zip', archive: true, dir: 'build/Plugin'
sh 'rm -rf build'
}
}
stage('Build Windows Release') {
when {
branch 'master'
beforeAgent true
}
agent {
docker {
image 'llvm-mingw:latest'
reuseNode true
}
}
steps {
sh 'bash ./build.sh win32'
sh 'bash ./build.sh win64'
}
}
stage('Build Linux Release') {
when {
branch 'master'
beforeAgent true
}
agent {
docker {
image 'llvm:latest'
reuseNode true
}
}
steps {
sh 'bash ./build.sh lin32'
sh 'bash ./build.sh lin64'
}
}
stage('Build MacOSX Release') {
when {
branch 'master'
beforeAgent true
}
agent {
docker {
image 'osxcross:latest'
reuseNode true
}
}
steps {
sh 'bash ./build.sh mac'
}
}
stage('Archive Release') {
when {
branch 'master'
beforeAgent true
}
steps {
zip zipFile: 'Release.zip', archive: true, dir: 'build/Plugin'
sh 'rm -rf build'
}
}
}
}

View File

@ -1 +1,3 @@
- Reverse engineer FSUIPC .NET onRunway Check
- Reverse engineer FSUIPC .NET onRunway Check
- Update OSXCross Docker image to SDK 11
- Implement ARM64 arch for Plugin

View File

@ -10,15 +10,11 @@ case $1 in
"mac")
cmake -DDEBUG=$DEBUG -DCMAKE_TOOLCHAIN_FILE=../toolchain-mac.cmake ..
;;
"lin32")
cmake -DDEBUG=$DEBUG -DBIT=32 -DCMAKE_TOOLCHAIN_FILE=../toolchain-lin-32.cmake ..
;;
"lin64")
cmake -DDEBUG=$DEBUG -DBIT=64 -DCMAKE_TOOLCHAIN_FILE=../toolchain-lin-64.cmake ..
"lin")
cmake -DDEBUG=$DEBUG -DBIT=64 -DCMAKE_TOOLCHAIN_FILE=../toolchain-lin.cmake ..
;;
"win32")
cmake -DDEBUG=$DEBUG -DBIT=32 -DCMAKE_TOOLCHAIN_FILE=../toolchain-win-32.cmake ..
\cp -rf ../openSSL/win32/*.dll Plugin/GAConnector/32/
;;
"win64")
cmake -DDEBUG=$DEBUG -DBIT=64 -DCMAKE_TOOLCHAIN_FILE=../toolchain-win-64.cmake ..

View File

@ -40,11 +40,9 @@ if(APPLE)
)
target_compile_options(file PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_options(file PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_libraries(file PRIVATE
@ -60,20 +58,20 @@ elseif(UNIX)
target_compile_options(file PRIVATE
-nodefaultlibs
)
if(BIT STREQUAL "32")
target_compile_options(file PRIVATE
-m32
elseif(WIN32)
if (BIT STREQUAL "32")
message("Building file for Windows ${BIT} into ${PROJECT_BINARY_DIR}/FSConnect")
set_target_properties(file PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/FSConnect"
)
target_link_options(file PRIVATE
-m32
else()
message("Building file for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(file PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}"
)
endif()
elseif(WIN32)
message("Building file for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(file PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}"
)
if(DEBUG)
target_compile_options(file PRIVATE

80
file/File Layout.txt Normal file
View File

@ -0,0 +1,80 @@
VARIABLE STRING (>=3)
*********************
0 1 | 2 ... |
------+-------+
LEN |STRING |
UINT16|CHAR* |
LOGBOOK HEADER (28)
***********************************************************************************************************************************************
0 1 2 3 4 | 5 | 6 7 | 8 9 10 11 | 12 13 14 15 | 16 17 18 19 | 20 21 22 23 | 24 25 26 27 |
------------------+-------+-------------+---------------------+-------------------+-------------------+-------------------+-------------------+
IDENT |VERSION|TOTAL FLIGHTS|TOTAL TIME |TOTAL PTS |TOTAL FUEL |TOTAL DIST |RATE |
CHAR[5] |UINT8 |UINT16 |FLOAT32, Decimal, min|FLOAT32 |FLOAT32, kgs |FLOAT32, nm |FLOAT32, ft/min |
FLIGHT PREAMBLE (24)
**********************************************************************************************************************
0 1 2 3 4 5 6 7 8 9 | 10 11 12 13 | 14 15 16 17 | 18 19 20 21 22 23 |
--------------------------------------+----------------------------+-------------------+-----------------------------+
DATE |FLIGHT NUMBER |AIRCRAFT TYPE |AIRCRAFT REGISTRATION |
CHAR, DD.MM.YYYY |CHAR[4],[0-9][0-9A-z\0]{0,3}|CHAR[4], ICAO code |CHAR[6], D-[A-Z]{4} |
TIMES (24)
**************************************************************************************************************
0 1 2 3 4 | 5 6 7 8 9 | 10 11 12 13 14 | 15 16 17 18 19 | 20 21 22 23 |
------------------+-------------------+------------------------+------------------------+--------------------+
OFF BLOCK |TAKEOFF (OUT) |LANDING (ON) |ON BLOCK (IN) |TOTAL |
CHAR[5], HH:MM |CHAR[5], HH:MM |CHAR[5], HH:MM |CHAR[5], HH:MM |FLOAT32, Decimal min|
FUELS (16)
*********************************************************************
0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 14 15 |
--------------+---------------+-----------------+-------------------+
TAXI OUT |IN FLIGHT |TAXI IN |TOTAL |
FLOAT32, kgs |FLOAT32, kgs |FLOAT32, kgs |FLOAT32, kgs |
DISTANCES (16)
*********************************************************************
0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 14 15 |
--------------+---------------+-----------------+-------------------+
TAXI OUT |IN FLIGHT |TAXI IN |TOTAL |
FLOAT32, nm |FLOAT32, nm |FLOAT32, nm |FLOAT32, nm |
LANDING (9)
*******************************************
0 1 2 3 | 4 | 5 6 7 8 |
---------------+----------+---------------+
MAX RATE |TOUCHDOWNS|MAX G-FORCE |
FLOAT32, ft/min|CHAR |FLOAT32, g |
FLIGHT POSTAMBLE (5)
*********************
0 1 2 3 | 5 |
--------------+---------+
POINTS |FLAGS |
FLOAT32 |BITFIELD |
FLAGS BITFIELD
**********************************
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---+---+---+---+---+---+---+-----+
NIL|NIL|NIL|NIL|NIL|NIL|NIL|FILED|
LOGBOOK FILE:
LOGBOOK HEADER
[
FLIGHT PREAMBLE
VARIABLE STRING (DEPARTURE AIRPORT NAME AND CODE)
VARIABLE STRING (DEPARTURE GATE NAME)
VARIABLE STRING (DEPARTURE RUNWAY DESIGNATOR)
VARIABLE STRING (ARRIVAL AIRPORT NAME AND CODE)
VARIABLE STRING (ARRIVAL GATE NAME)
VARIABLE STRING (ARRIVAL RUNWAY DESIGNATOR)
TIMES
FUELS
DISTANCES
LANDING
VARIABLE STRING (RECORDING FILE NAME)
FLIGHT POSTAMBLE
VARIABLE STRING (FLIGHT RECORDING PATH RELATIVE TO LOGBOOK)
]0..n

View File

@ -42,11 +42,9 @@ if(APPLE)
IXWEBSOCKET_USE_SECURE_TRANSPORT
)
target_compile_options(ixwebsocket PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_options(ixwebsocket PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_libraries(ixwebsocket PRIVATE
@ -68,15 +66,8 @@ elseif(UNIX)
target_compile_options(ixwebsocket PRIVATE
-nodefaultlibs
)
if(BIT STREQUAL "32")
target_compile_options(ixwebsocket PRIVATE
-m32
)
target_link_options(ixwebsocket PRIVATE
-m32
)
endif()
if (NOT OPENSSL_FOUND)
if (NOT OPENSSL_FOUND)
find_package(OpenSSL REQUIRED)
endif()
message(STATUS "System OpenSSL: " ${OPENSSL_VERSION})
@ -90,11 +81,19 @@ elseif(UNIX)
pthread
)
elseif(WIN32)
message("Building ixwebsocket for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
if (BIT STREQUAL "32")
message("Building ixwebsocket for Windows ${BIT} into ${PROJECT_BINARY_DIR}/FSConnect")
set_target_properties(ixwebsocket PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}
)
set_target_properties(ixwebsocket PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/FSConnect"
)
else()
message("Building fileixwebsocket for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(ixwebsocket PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}"
)
endif()
target_compile_definitions(ixwebsocket PRIVATE
IXWEBSOCKET_USE_TLS

View File

@ -39,11 +39,9 @@ if(APPLE)
)
target_compile_options(simdata PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_options(simdata PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_libraries(simdata PRIVATE
@ -59,7 +57,7 @@ elseif(UNIX)
target_compile_options(simdata PRIVATE
-nodefaultlibs
)
if(BIT STREQUAL "32")
if()
target_compile_options(simdata PRIVATE
-m32
)
@ -68,11 +66,19 @@ elseif(UNIX)
)
endif()
elseif(WIN32)
message("Building simdata for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
if (BIT STREQUAL "32")
message("Building simdata for Windows ${BIT} into ${PROJECT_BINARY_DIR}/FSConnect")
set_target_properties(simdata PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}"
)
set_target_properties(simdata PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/FSConnect"
)
else()
message("Building simdata for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(simdata PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}"
)
endif()
if(DEBUG)
target_compile_options(simdata PRIVATE

View File

@ -1,15 +0,0 @@
# which compilers to use for C and C++
set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)
# adjust the default behavior of the FIND_XXX() commands:
# search programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# search headers and libraries in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# 32Bit Libs
SET(CMAKE_LIBRARY_PATH "/usr/lib/i386-linux-gnu")
include_directories(BEFORE /usr/include/i386-linux-gnu)

View File

@ -57,11 +57,9 @@ if(APPLE)
APL
)
target_compile_options(germanairlinesva_xplugin PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_options(germanairlinesva_xplugin PRIVATE
"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_libraries(germanairlinesva_xplugin PRIVATE
@ -82,14 +80,6 @@ elseif(UNIX)
target_compile_options(germanairlinesva_xplugin PRIVATE
-nodefaultlibs
)
if(BIT STREQUAL "32")
target_compile_options(germanairlinesva_xplugin PRIVATE
-m32
)
target_link_options(germanairlinesva_xplugin PRIVATE
-m32
)
endif()
target_link_libraries(germanairlinesva_xplugin PRIVATE
pthread
)
@ -118,15 +108,9 @@ elseif(WIN32)
)
target_link_libraries(germanairlinesva_xplugin PRIVATE
)
if(BIT STREQUAL "32")
target_link_libraries(germanairlinesva_xplugin PRIVATE
${CMAKE_SOURCE_DIR}/XPSDK/Libraries/Win/XPLM.lib
)
else()
target_link_libraries(germanairlinesva_xplugin PRIVATE
${CMAKE_SOURCE_DIR}/XPSDK/Libraries/Win/XPLM_64.lib
)
endif()
target_link_libraries(germanairlinesva_xplugin PRIVATE
${CMAKE_SOURCE_DIR}/XPSDK/Libraries/Win/XPLM_64.lib
)
target_sources(germanairlinesva_xplugin PRIVATE
xPluginWin.cpp
)