IX own module

This commit is contained in:
Kilian Hofmann 2022-09-02 19:41:26 +02:00
parent 7439747876
commit fbee417594
3 changed files with 110 additions and 7 deletions

View File

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.8)
cmake_policy(SET CMP0068 NEW)
project(GermanAirlinesVA_GAConnector)
project(GermanAirlinesVA_GAConnector C CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@ -12,6 +12,9 @@ set(PLUGIN_NAME GAConnector)
option(DEBUG "Debug symbols" OFF)
add_subdirectory(
ixwebsocket
)
add_subdirectory(
xplugin
)

View File

@ -0,0 +1,99 @@
file(GLOB ixwebsocket CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/ixwebsocket/*.cpp)
add_library(ixwebsocket SHARED
${ixwebsocket}
)
target_include_directories(ixwebsocket PRIVATE
${CMAKE_SOURCE_DIR}/ixwebsocket/include
)
set_target_properties(ixwebsocket PROPERTIES
PUBLIC_HEADER ${CMAKE_SOURCE_DIR}/ixwebsocket/include
)
target_compile_options(ixwebsocket PRIVATE
-Wall
-Wextra
-pedantic
#-fvisibility=hidden
)
if(DEBUG)
target_compile_options(ixwebsocket PRIVATE
-g
)
target_link_options(ixwebsocket PRIVATE
-g
)
else()
target_compile_options(ixwebsocket PRIVATE
-O2
)
endif()
if(APPLE)
message("Building ixwebsocket for MacOSX Universal into ${PROJECT_BINARY_DIR}/${PLUGIN_NAME}/${BIT}")
set_target_properties(ixwebsocket PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}
BUILD_WITH_INSTALL_NAME_DIR TRUE
)
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
"-framework Security"
)
elseif(UNIX)
message("Building ixwebsocket for Linux ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(ixwebsocket PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}
)
target_compile_options(ixwebsocket PRIVATE
-nodefaultlibs
)
if(BIT STREQUAL "32")
target_compile_options(ixwebsocket PRIVATE
-m32
)
target_link_options(ixwebsocket PRIVATE
-m32
)
endif()
target_link_libraries(ixwebsocket PRIVATE
crypto
pthread
)
elseif(WIN32)
message("Building ixwebsocket 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}
)
if(DEBUG)
target_compile_options(ixwebsocket PRIVATE
-gcodeview
)
target_link_options(ixwebsocket PRIVATE
-Wl,-pdb=
)
endif()
target_link_options(ixwebsocket PRIVATE
-static-libgcc
-static-libstdc++
)
target_link_libraries(ixwebsocket PRIVATE
ws2_32.lib
)
endif()
add_library(ixwebsocket::ixwebsocket ALIAS ixwebsocket)

View File

@ -5,12 +5,10 @@
#)
#Link to ssl(requires OpenSLL for macOS and Windows)
file(GLOB ixwebsocket CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/ixwebsocket/*.cpp)
file(GLOB websocket CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/websocket/*.cpp)
file(GLOB file CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/file/*.cpp)
add_library(germanairlinesva_xplugin SHARED
${ixwebsocket}
${websocket}
${file}
makeRwysXP.cpp
@ -58,6 +56,7 @@ if(APPLE)
set_target_properties(germanairlinesva_xplugin PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}
INSTALL_RPATH "@loader_path"
OUTPUT_NAME mac
)
@ -65,23 +64,23 @@ if(APPLE)
APL
)
target_compile_options(germanairlinesva_xplugin PRIVATE
"SHELL:-arch i386"
#"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_options(germanairlinesva_xplugin PRIVATE
"SHELL:-arch i386"
#"SHELL:-arch i386"
"SHELL:-arch x86_64"
)
target_link_libraries(germanairlinesva_xplugin PRIVATE
${CMAKE_SOURCE_DIR}/XPSDK/Libraries/Mac/XPLM.framework/XPLM
"-framework Security"
ixwebsocket
)
elseif(UNIX)
message("Building for Linux ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(germanairlinesva_xplugin PROPERTIES
NO_SONAME 1
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}
INSTALL_RPATH "\$ORIGIN"
OUTPUT_NAME lin
)
@ -102,6 +101,7 @@ elseif(UNIX)
target_link_libraries(germanairlinesva_xplugin PRIVATE
crypto
pthread
ixwebsocket
)
elseif(WIN32)
message("Building for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
@ -129,6 +129,7 @@ elseif(WIN32)
)
target_link_libraries(germanairlinesva_xplugin PRIVATE
ws2_32.lib
ixwebsocket
)
if(BIT STREQUAL "32")
target_link_libraries(germanairlinesva_xplugin PRIVATE