summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--CMakeLists.txt9
-rw-r--r--cmake/opentrack-boilerplate.cmake33
-rw-r--r--cmake/opentrack-hier.cmake21
-rw-r--r--cmake/opentrack-install.cmake2
-rw-r--r--cmake/opentrack-platform.cmake20
-rw-r--r--cmake/opentrack-qt.cmake9
-rw-r--r--logic/CMakeLists.txt6
-rw-r--r--macosx/CMakeLists.txt6
-rw-r--r--macosx/Info.plist (renamed from macosx/opentrack.app/Contents/Info.plist)4
-rw-r--r--macosx/PkgInfo1
-rwxr-xr-xmacosx/install-fail-tool10
-rwxr-xr-xmacosx/make-app-bundle.sh41
-rw-r--r--macosx/opentrack.app/Contents/PkgInfo1
-rwxr-xr-xmacosx/opentrack.sh2
-rw-r--r--migration/CMakeLists.txt2
-rw-r--r--modules.txt37
-rw-r--r--pose-widget/CMakeLists.txt2
-rw-r--r--x-plane-plugin/CMakeLists.txt15
19 files changed, 145 insertions, 77 deletions
diff --git a/.gitignore b/.gitignore
index 23394e5e..db6619b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/.vs/
/CMakeSettings.json
.gtm/
+.vscode
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a7a95d2f..448d7667 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -93,8 +93,15 @@ function(otr_add_subdirs)
foreach(k ${_globbed})
get_filename_component(k "${k}" DIRECTORY)
- add_subdirectory("${k}")
+ # we want to compile macosx last so we can run proper install scripts
+ if (k MATCHES "macosx$")
+ set(o ${k})
+ else()
+ add_subdirectory("${k}")
+ endif()
endforeach()
+ # Add macosx last
+ add_subdirectory("${o}")
endfunction()
otr_add_subdirs()
diff --git a/cmake/opentrack-boilerplate.cmake b/cmake/opentrack-boilerplate.cmake
index ffa4ea02..7e9231ed 100644
--- a/cmake/opentrack-boilerplate.cmake
+++ b/cmake/opentrack-boilerplate.cmake
@@ -61,8 +61,8 @@ function(otr_glob_sources var)
endfunction()
function(otr_fixup_subsystem n)
- otr_find_msvc_editbin(editbin-pathname)
if(MSVC)
+ otr_find_msvc_editbin(editbin-pathname)
set(subsystem WINDOWS)
get_property(type TARGET "${n}" PROPERTY TYPE)
if (NOT type STREQUAL "STATIC_LIBRARY")
@@ -143,15 +143,17 @@ function(otr_module n_)
set(arg_NO-I18N TRUE)
endif()
- if(NOT WIN32)
- set(subsys "")
- elseif(arg_WIN32-CONSOLE)
- set(subsys "")
- else()
- set(subsys "WIN32")
- endif()
-
if(arg_EXECUTABLE)
+ if (APPLE)
+ set(subsys "MACOSX_BUNDLE")
+ elseif(NOT WIN32)
+ set(subsys "")
+ elseif(arg_WIN32-CONSOLE)
+ set(subsys "")
+ else()
+ set(subsys "WIN32")
+ endif()
+
add_executable(${n} ${subsys} "${${n}-all}")
set_target_properties(${n} PROPERTIES
SUFFIX "${opentrack-binary-suffix}"
@@ -216,12 +218,23 @@ function(otr_module n_)
endif()
if(NOT arg_NO-INSTALL)
+ # Librarys/executable
if(arg_BIN)
- install(TARGETS "${n}"
+ if (APPLE)
+ install(TARGETS "${n}"
+ RUNTIME DESTINATION ${opentrack-hier-bin}
+ BUNDLE DESTINATION ${opentrack-hier-bin}
+ LIBRARY DESTINATION ${opentrack-hier-bin}/opentrack.app/Contents/MacOS/
+ RESOURCE DESTINATION ${opentrack-hier-bin}/opentrack.app/Resource
+ PERMISSIONS ${opentrack-perms-exec})
+ else()
+ install(TARGETS "${n}"
RUNTIME DESTINATION ${opentrack-hier-bin}
LIBRARY DESTINATION ${opentrack-hier-pfx}
PERMISSIONS ${opentrack-perms-exec})
+ endif()
else()
+ # Plugins
install(TARGETS "${n}" ${opentrack-hier-str}
PERMISSIONS ${opentrack-perms-exec})
endif()
diff --git a/cmake/opentrack-hier.cmake b/cmake/opentrack-hier.cmake
index 7dcdb52d..c94c6d57 100644
--- a/cmake/opentrack-hier.cmake
+++ b/cmake/opentrack-hier.cmake
@@ -9,38 +9,41 @@
include_guard(GLOBAL)
-set(opentrack-install-rpath "")
if(APPLE)
- set(opentrack-hier-pfx ".")
- set(opentrack-hier-path "/") # MUST HAVE A TRAILING BACKSLASH
+ set(opentrack-hier-pfx "${CMAKE_INSTALL_PREFIX}/opentrack.app/Contents/MacOS/Plugins")
+ set(opentrack-hier-path "/Plugins/") # MUST HAVE A TRAILING BACKSLASH, Used in APP
set(opentrack-hier-doc "/") # MUST HAVE A TRAILING BACKSLASH
- set(opentrack-hier-bin ".")
+ set(opentrack-hier-bin "${CMAKE_INSTALL_PREFIX}")
set(opentrack-doc-pfx "./doc")
set(opentrack-doc-src-pfx "./source-code")
- set(opentrack-i18n-pfx "./i18n")
- set(opentrack-i18n-path "./i18n")
+ set(opentrack-i18n-pfx "opentrack.app/Contents/Resources") # used during install
+ set(opentrack-i18n-path "../Resources/i18n") # used in application
+ set(opentrack-install-rpath "./")
+ set(opentrack-hier-str RUNTIME DESTINATION ${opentrack-hier-pfx} LIBRARY DESTINATION ${opentrack-hier-pfx})
elseif(WIN32)
set(opentrack-hier-pfx "modules")
set(opentrack-hier-path "/${opentrack-hier-pfx}/") # MUST HAVE A TRAILING BACKSLASH
set(opentrack-hier-doc "/doc/") # MUST HAVE A TRAILING BACKSLASH
set(opentrack-hier-bin ".")
+ set(opentrack-hier-str RUNTIME DESTINATION ${opentrack-hier-pfx} LIBRARY DESTINATION ${opentrack-hier-pfx})
set(opentrack-doc-pfx "./doc")
set(opentrack-doc-src-pfx "./source-code")
set(opentrack-i18n-pfx "./i18n")
set(opentrack-i18n-path "./i18n")
set(opentrack-hier-debug "./debug")
+ set(opentrack-install-rpath "")
else()
set(opentrack-hier-pfx "libexec/opentrack")
set(opentrack-hier-path "/../${opentrack-hier-pfx}/") # MUST HAVE A TRAILING BACKSLASH
set(opentrack-hier-doc "/share/doc/opentrack/") # MUST HAVE A TRAILING BACKSLASH
set(opentrack-hier-bin "bin")
+ set(opentrack-hier-str RUNTIME DESTINATION ${opentrack-hier-pfx} LIBRARY DESTINATION ${opentrack-hier-pfx})
set(opentrack-doc-pfx "./share/doc/opentrack")
set(opentrack-doc-src-pfx "./share/doc/opentrack/source-code")
set(opentrack-install-rpath "${CMAKE_INSTALL_PREFIX}/${opentrack-hier-pfx}")
set(opentrack-i18n-pfx "./share/opentrack/i18n")
set(opentrack-i18n-path "../share/opentrack/i18n")
endif()
-set(opentrack-hier-str RUNTIME DESTINATION ${opentrack-hier-pfx} LIBRARY DESTINATION ${opentrack-hier-pfx})
function(otr_escape_string var str)
string(REGEX REPLACE "([^_A-Za-z0-9./:-])" "\\\\\\1" str "${str}")
@@ -50,9 +53,7 @@ endfunction()
set(opentrack-contrib-pfx "${opentrack-doc-pfx}/contrib")
set(opentrack-binary-suffix "")
-if(APPLE)
- set(opentrack-binary-suffix ".bin")
-elseif(WIN32)
+if(WIN32)
set(opentrack-binary-suffix ".exe")
endif()
diff --git a/cmake/opentrack-install.cmake b/cmake/opentrack-install.cmake
index 2b745a82..784cf59a 100644
--- a/cmake/opentrack-install.cmake
+++ b/cmake/opentrack-install.cmake
@@ -71,9 +71,11 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
cleanup_visual_studio_debug()
endif()
+if (NOT APPLE)
otr_install_exec("${opentrack-hier-pfx}" FILES "${CMAKE_SOURCE_DIR}/bin/freetrackclient.dll")
otr_install_exec("${opentrack-hier-pfx}" FILES "${CMAKE_SOURCE_DIR}/bin/freetrackclient64.dll")
otr_install_exec("${opentrack-hier-pfx}" FILES
"${CMAKE_SOURCE_DIR}/bin/NPClient.dll"
"${CMAKE_SOURCE_DIR}/bin/NPClient64.dll"
"${CMAKE_SOURCE_DIR}/bin/TrackIR.exe")
+endif() \ No newline at end of file
diff --git a/cmake/opentrack-platform.cmake b/cmake/opentrack-platform.cmake
index 0ebe53a7..35de63a4 100644
--- a/cmake/opentrack-platform.cmake
+++ b/cmake/opentrack-platform.cmake
@@ -43,10 +43,12 @@ set(CMAKE_CXX_STANDARD_DEFAULT 17)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_CXX_EXTENSIONS FALSE)
-set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
-set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-set(CMAKE_SKIP_INSTALL_RPATH FALSE)
-set(CMAKE_SKIP_RPATH FALSE)
+IF (NOT APPLE)
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ set(CMAKE_SKIP_INSTALL_RPATH FALSE)
+ set(CMAKE_SKIP_RPATH FALSE)
+endif()
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
@@ -155,16 +157,6 @@ if(MSVC)
endforeach()
endif()
-if(APPLE)
- # Removed because of Macro error
- # add_compile_definitions(-stdlib=libc++)
- add_link_options(-stdlib=libc++)
-
- # Build failure cannot link to frameworks
- #add_link_options(-framework Cocoa -framework CoreFoundation -framework Carbon)
- #link_libraries(objc z)
-endif()
-
if(NOT MSVC)
include(FindPkgConfig)
endif()
diff --git a/cmake/opentrack-qt.cmake b/cmake/opentrack-qt.cmake
index a13afc97..650db4fc 100644
--- a/cmake/opentrack-qt.cmake
+++ b/cmake/opentrack-qt.cmake
@@ -2,19 +2,20 @@ include_guard(GLOBAL)
if(WIN32)
find_package(Qt5Gui REQUIRED COMPONENTS QWindowsIntegrationPlugin)
endif()
-find_package(Qt5 REQUIRED COMPONENTS Core Network Widgets LinguistTools Gui QUIET)
+find_package(Qt5 REQUIRED COMPONENTS Core Network Widgets LinguistTools Gui DBus QUIET)
find_package(Qt5 COMPONENTS SerialPort Multimedia QUIET)
-set(MY_QT_LIBS ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Multimedia_LIBRARIES})
-
+set(MY_QT_LIBS ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5DBus_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Multimedia_LIBRARIES})
function(otr_install_qt_libs)
- foreach(i Qt5::Core Qt5::Gui Qt5::Network Qt5::SerialPort Qt5::Widgets Qt5::Multimedia)
+ foreach(i Qt5::Core Qt5::Gui Qt5::DBus Qt5::Network Qt5::SerialPort Qt5::Widgets Qt5::Multimedia)
if(NOT TARGET "${i}")
continue()
endif()
otr_install_lib(${i} ".")
endforeach()
+ if(WIN32)
otr_install_lib(Qt5::QWindowsIntegrationPlugin "./platforms")
+ endif()
endfunction()
otr_install_qt_libs()
diff --git a/logic/CMakeLists.txt b/logic/CMakeLists.txt
index f3f128af..f3344798 100644
--- a/logic/CMakeLists.txt
+++ b/logic/CMakeLists.txt
@@ -1,7 +1,7 @@
otr_module(logic BIN)
-target_link_libraries(opentrack-logic opentrack-spline)
+target_link_libraries(${self} opentrack-spline)
if(NOT WIN32)
- target_link_libraries(opentrack-logic opentrack-qxt-mini)
+ target_link_libraries(${self} opentrack-qxt-mini)
else()
- target_link_libraries(opentrack-logic opentrack-dinput winmm)
+ target_link_libraries(${self} opentrack-dinput winmm)
endif()
diff --git a/macosx/CMakeLists.txt b/macosx/CMakeLists.txt
index 89901251..8520e9e9 100644
--- a/macosx/CMakeLists.txt
+++ b/macosx/CMakeLists.txt
@@ -1,13 +1,11 @@
if(APPLE)
otr_escape_string(srcdir "${CMAKE_SOURCE_DIR}")
- otr_escape_string(bindir "${CMAKE_BINARY_DIR}")
otr_escape_string(instdir "${CMAKE_INSTALL_PREFIX}")
otr_escape_string(commit "${OPENTRACK_COMMIT}")
install(CODE "
- execute_process(COMMAND /bin/sh \"${srcdir}/macosx/make-app-bundle.sh\"
+ execute_process(COMMAND /bin/sh \"${srcdir}/macosx/make-app-bundle.sh\"
\"${srcdir}/macosx\"
\"${instdir}\"
- \"${bindir}\"
- \"${commit}\")
+ \"${commit}\")
")
endif()
diff --git a/macosx/opentrack.app/Contents/Info.plist b/macosx/Info.plist
index 41ca402a..38b8e0e7 100644
--- a/macosx/opentrack.app/Contents/Info.plist
+++ b/macosx/Info.plist
@@ -22,5 +22,9 @@
<string>opentrack</string>
<key>CFBundleSignature</key>
<string>????</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>NSHighResolutionCapable</key>
+ <string>True</string>
</dict>
</plist>
diff --git a/macosx/PkgInfo b/macosx/PkgInfo
new file mode 100644
index 00000000..6f749b0f
--- /dev/null
+++ b/macosx/PkgInfo
@@ -0,0 +1 @@
+APPL????
diff --git a/macosx/install-fail-tool b/macosx/install-fail-tool
index a5464c18..16284562 100755
--- a/macosx/install-fail-tool
+++ b/macosx/install-fail-tool
@@ -4,22 +4,22 @@ test -n "$1" || exit 1
dir="$1"
-for i in "$dir"/* "$dir"/*/* "$dir"/*/*/*; do
- { test -x "$i" && test -f "$i"; } || continue
+for i in "$dir"/*; do
+ echo $i
+ { test -f "$i"; } || continue
case "$i" in
*.dll|*.exe) continue ;;
*) : ;;
esac
- case "$i" in
- *.dylib|*.bin) strip -x "$i" ;; esac
echo ---- $i ----
install_name_tool -id "@executable_path/$(echo "$i" | sed -e "s,^$dir/,,")" "$i"
otool -L "$i" | awk '{ print $1 }' |
while read l; do
j="$(basename -- "$l")"
+ echo === $j ===
if test -e "$dir/$j"; then
- install_name_tool -change "$l" "@executable_path/$j" "$i"
+ install_name_tool -change "$l" "@rpath/$j" "$i"
fi
done
done
diff --git a/macosx/make-app-bundle.sh b/macosx/make-app-bundle.sh
index 05259702..5181b141 100755
--- a/macosx/make-app-bundle.sh
+++ b/macosx/make-app-bundle.sh
@@ -1,41 +1,42 @@
#!/bin/sh
APPNAME=opentrack
+# Alternative we could look at https://github.com/arl/macdeployqtfix ??
-dir="$1"
+#macosx directory
+dir="$1"
test -n "$dir" || exit 1
+# install directory
install="$2"
test -n "$install" || exit 1
-output_dir="$3"
-test -n "$output_dir" || exit 1
-version="$4"
+version="$3"
test -n "$version" || exit 1
tmp="$(mktemp -d "/tmp/$APPNAME-tmp.XXXXXXX")"
test $? -eq 0 || exit 1
-rm -f -- "$install/.DS_Store"
-sh "$dir/install-fail-tool" "$install"
+# Add framework and other libraries
+macdeployqt "$install/$APPNAME.app" -libpath="$install/$APPNAME.app/Contents/MacOS"
-cp -R "$dir/opentrack.app" "$tmp/" || exit 1
-cp -R "$install" "$tmp/$APPNAME.app/Contents/MacOS" || exit 1
-sed -i '' -e "s#@OPENTRACK-VERSION@#$version#g" "$tmp/$APPNAME.app/Contents/Info.plist" || exit 1
+# Fixup dylib linker issues
+sh "$dir/install-fail-tool" "$install/$APPNAME.app/Contents/Frameworks"
-mkdir "$tmp/$APPNAME.iconset" || exit 1
-mkdir "$tmp/$APPNAME.app/Contents/Resources" || exit 1
-cp "$dir"/opentrack.sh "$tmp/$APPNAME.app/Contents/MacOS" || exit 1
+# Copy our own plist and set correct version
+cp "$dir/Info.plist" "$install/$APPNAME.app/Contents/"
+cp "$dir/PkgInfo" "$install/$APPNAME.app/Contents/"
+cp "$dir/opentrack.sh" "$install/$APPNAME.app/Contents/MacOS/"
+sed -i '' -e "s#@OPENTRACK-VERSION@#$version#g" "$install/$APPNAME.app/Contents/Info.plist" || exit 1
+# Build iconset
+mkdir "$tmp/$APPNAME.iconset" || exit 1
sips -z 16 16 "$dir/../gui/images/opentrack.png" --out "$tmp/$APPNAME.iconset/icon_16x16.png" || exit 1
sips -z 32 32 "$dir/../gui/images/opentrack.png" --out "$tmp/$APPNAME.iconset/icon_16x16@2x.png" || exit 1
sips -z 32 32 "$dir/../gui/images/opentrack.png" --out "$tmp/$APPNAME.iconset/icon_32x32.png" || exit 1
sips -z 64 64 "$dir/../gui/images/opentrack.png" --out "$tmp/$APPNAME.iconset/icon_32x32@2x.png" || exit 1
sips -z 128 128 "$dir/../gui/images/opentrack.png" --out "$tmp/$APPNAME.iconset/icon_128x128.png" || exit 1
-
-iconutil -c icns -o "$tmp/$APPNAME.app/Contents/Resources/$APPNAME.icns" "$tmp/$APPNAME.iconset"
-rm -r "$tmp/$APPNAME.iconset"
-
-cd "$tmp" || exit 1
-rm -f "$output_dir/$version-macosx.zip"
-zip -9r "$output_dir/$version-macosx.zip" "$APPNAME.app" || exit 1
+iconutil -c icns -o "$install/$APPNAME.app/Contents/Resources/$APPNAME.icns" "$tmp/$APPNAME.iconset"
rm -rf "$tmp"
-ls -lh "$output_dir/$version-macosx.zip"
+
+# Zip it up
+#zip -9r "$install/$version-macosx.zip" "$APPNAME.app" || exit 1
+#ls -lh "$install/$version-macosx.zip"
diff --git a/macosx/opentrack.app/Contents/PkgInfo b/macosx/opentrack.app/Contents/PkgInfo
deleted file mode 100644
index b18f8c6c..00000000
--- a/macosx/opentrack.app/Contents/PkgInfo
+++ /dev/null
@@ -1 +0,0 @@
-APPLopentrack
diff --git a/macosx/opentrack.sh b/macosx/opentrack.sh
index 74a911e2..788afe96 100755
--- a/macosx/opentrack.sh
+++ b/macosx/opentrack.sh
@@ -1,6 +1,6 @@
#!/bin/sh
cd -- "$(dirname -- "$0")" &&
-exec ./opentrack.bin -platformpluginpath "$(pwd)" "$@"
+exec ./opentrack -platformpluginpath "$(pwd)" "$@"
exit 1
diff --git a/migration/CMakeLists.txt b/migration/CMakeLists.txt
index b2dfac6d..effeddcb 100644
--- a/migration/CMakeLists.txt
+++ b/migration/CMakeLists.txt
@@ -1,5 +1,5 @@
otr_module(migration BIN)
-target_link_libraries(opentrack-migration opentrack-logic opentrack-spline)
+target_link_libraries(${self} opentrack-logic opentrack-spline)
if(CMAKE_COMPILER_IS_CLANGXX)
target_compile_options(${self} PRIVATE -Wno-weak-vtables)
endif()
diff --git a/modules.txt b/modules.txt
new file mode 100644
index 00000000..c9c96a43
--- /dev/null
+++ b/modules.txt
@@ -0,0 +1,37 @@
+Not copied
+--------------
+logic BIN target_link_libraries(${self} opentrack-spline)
+migration BIN target_link_libraries(${self} opentrack-logic opentrack-spline)
+pose-widget BIN #target_link_libraries(${self})
+user-interface BIN target_link_libraries(${self} opentrack-migration opentrack-logic opentrack-spline opentrack-pose-widget)
+
+copied and fixed
+--------------
+api NO-COMPAT BIN
+compat NO-COMPAT BIN
+options NO-COMPAT BIN target_link_libraries(opentrack-options opentrack-compat)
+qtx-mini NO-COMPAT BIN
+spline BIN
+video BIN
+
+
+boiler
+--------------
+ if(NOT arg_NO-COMPAT)
+ target_link_libraries(${n} opentrack-api opentrack-options opentrack-compat)
+ endif()
+
+opentrack
+--------------
+target_link_libraries(${self} opentrack-user-interface opentrack-version)
+
+from opentrack mainwindow
+--------------
+Most lickly not used
+ foreach(k user-interface logic pose-widget migration spline)
+ target_link_libraries(${self} opentrack-${k})
+ endforeach()
+
+trackmouse
+--------------
+target_link_libraries(${self} opentrack-user-interface opentrack-version) \ No newline at end of file
diff --git a/pose-widget/CMakeLists.txt b/pose-widget/CMakeLists.txt
index fd109bc3..7c196e80 100644
--- a/pose-widget/CMakeLists.txt
+++ b/pose-widget/CMakeLists.txt
@@ -1,2 +1,2 @@
otr_module(pose-widget BIN)
-target_link_libraries(opentrack-pose-widget)
+#target_link_libraries(${self})
diff --git a/x-plane-plugin/CMakeLists.txt b/x-plane-plugin/CMakeLists.txt
index 1d985091..54bcaf34 100644
--- a/x-plane-plugin/CMakeLists.txt
+++ b/x-plane-plugin/CMakeLists.txt
@@ -2,9 +2,13 @@ if(LINUX OR APPLE)
set(SDK_XPLANE "" CACHE PATH "Path to the X-Plane SDK")
if(SDK_XPLANE)
- otr_module(xplane-plugin NO-QT)
+ if (APPLE)
+ otr_module(xplane-plugin NO-QT NO-INSTALL)
+ else()
+ otr_module(xplane-plugin NO-QT)
+ endif()
# probably librt already included
- #install(FILES ${opentrack-xplane-plugin-c} DESTINATION "${opentrack-doc-src-pfx}/opentrack-xplane-plugin")
+ #install(FILES ${opentrack-xplane-plugin-c} DESTINATION "opentrack-hier-pfx")
target_include_directories(opentrack-xplane-plugin SYSTEM PUBLIC ${SDK_XPLANE}/CHeaders/XPLM)
if(APPLE)
@@ -15,6 +19,13 @@ if(LINUX OR APPLE)
target_link_options(${self} PRIVATE
"-F${SDK_XPLANE}/Libraries/Mac/"
-framework XPLM)
+
+ install(TARGETS "${self}"
+ RUNTIME DESTINATION ${opentrack-hier-bin}/xplane
+ BUNDLE DESTINATION ${opentrack-hier-bin}/xplane
+ LIBRARY DESTINATION ${opentrack-hier-bin}/xplane
+ PERMISSIONS ${opentrack-perms-exec})
+
elseif(CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(${self} PRIVATE -DLIN -DXPLM200 -DXPLM210)
target_link_options(${self} PRIVATE -rdynamic -nodefaultlibs)