Skip to content

Commit 4db90df

Browse files
committed
more cmake housekeeping
1 parent 2c4aedf commit 4db90df

File tree

1 file changed

+49
-23
lines changed

1 file changed

+49
-23
lines changed

companion/src/CMakeLists.txt

Lines changed: 49 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "(Linux|FreeBSD)")
2020
message(STATUS "Simulators library search path: " ${SIMULATOR_LIB_PATH})
2121
endif()
2222

23-
if(APPLE)
24-
# This the name that the user will see in the generated DMG and what the application
25-
# will be called under /Applications. We include the version string to make installing
26-
# different versions side-by-side
27-
set(COMPANION_OSX_APP_BUNDLE_NAME "EdgeTX Companion ${VERSION_MAJOR}.${VERSION_MINOR}")
28-
endif(APPLE)
29-
3023
option(DEBUG_STORAGE_IMPORT "Turn on debug output for storage import") # Disabled by default
3124
if(DEBUG_STORAGE_IMPORT)
3225
add_definitions(-DDEBUG_STORAGE_IMPORT)
@@ -322,47 +315,74 @@ elseif(WIN32)
322315
set(COMPANION_TARGETS_DIR "${COMPANION_TARGETS_DIR}/windows")
323316
endif()
324317

325-
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
326-
message(STATUS "install " ${CMAKE_BINARY_DIR} " to " ${CMAKE_INSTALL_PREFIX})
318+
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
319+
message(STATUS "Install " ${CMAKE_BINARY_DIR} " to " ${CMAKE_INSTALL_PREFIX})
320+
install(TARGETS ${COMPANION_NAME}
321+
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
322+
install(TARGETS ${SIMULATOR_NAME}
323+
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
324+
# configure and set variables used by package script
327325
set(COMPANION_DESKTOP_FILE ${CMAKE_CURRENT_BINARY_DIR}/${COMPANION_NAME}.desktop)
328-
set(SIMULATOR_DESKTOP_FILE ${CMAKE_CURRENT_BINARY_DIR}/${SIMULATOR_NAME}.desktop)
329326
configure_file(${COMPANION_TARGETS_DIR}/companion.desktop.in ${COMPANION_DESKTOP_FILE} @ONLY)
327+
328+
set(SIMULATOR_DESKTOP_FILE ${CMAKE_CURRENT_BINARY_DIR}/${SIMULATOR_NAME}.desktop)
330329
configure_file(${COMPANION_TARGETS_DIR}/simulator.desktop.in ${SIMULATOR_DESKTOP_FILE} @ONLY)
331-
install(TARGETS ${COMPANION_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
332-
install(TARGETS ${SIMULATOR_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
333-
install(DIRECTORY ${CMAKE_BINARY_DIR}/plugins/ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/${COMPANION_NAME})
330+
# libsim*.so files
331+
install(DIRECTORY ${CMAKE_BINARY_DIR}/plugins/
332+
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/${COMPANION_NAME})
333+
# application icons
334334
set(icon_sizes "16;22;24;32;48;64;128;256;512")
335335
foreach(icon_size ${icon_sizes})
336-
install(FILES "images/linuxicons/${icon_size}x${icon_size}/companion.png" DESTINATION
337-
"${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${icon_size}x${icon_size}/apps" RENAME "companion${APP_NAME_SUFFIX}.png")
336+
install(FILES "images/linuxicons/${icon_size}x${icon_size}/companion.png"
337+
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${icon_size}x${icon_size}/apps"
338+
RENAME "${COMPANION_NAME}.png")
338339
endforeach()
340+
339341
unset(icon_size)
340342
unset(icon_sizes)
341-
install(FILES "images/linuxicons/scalable/companion.svg" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps" RENAME "companion${APP_NAME_SUFFIX}.svg")
342-
install(FILES "${COMPANION_TARGETS_DIR}/45-companion-taranis.rules" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d" RENAME "45-companion${APP_NAME_SUFFIX}-taranis.rules")
343-
install(FILES "${COMPANION_TARGETS_DIR}/45-usbasp.rules" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d" RENAME "45-companion${APP_NAME_SUFFIX}-usbasp.rules")
343+
344+
install(FILES "images/linuxicons/scalable/companion.svg"
345+
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps"
346+
RENAME "${COMPANION_NAME}.svg")
347+
348+
# udev rules
349+
install(FILES "${COMPANION_TARGETS_DIR}/45-companion-taranis.rules"
350+
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d"
351+
RENAME "45-${COMPANION_NAME}-taranis.rules")
352+
353+
install(FILES "${COMPANION_TARGETS_DIR}/45-usbasp.rules"
354+
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d"
355+
RENAME "45-${COMPANION_NAME}-usbasp.rules")
344356

345357
if(LIBSSL1_FOUND)
346-
install(DIRECTORY ${LIBSSL1_LIBRARY_DIR}/ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib FILES_MATCHING PATTERN "libcrypto.so.*" PATTERN "libssl.so.*")
358+
install(DIRECTORY ${LIBSSL1_LIBRARY_DIR}/
359+
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
360+
FILES_MATCHING PATTERN "libcrypto.so.*" PATTERN "libssl.so.*")
347361
endif()
348362

349363
if(LIBUSB1_FOUND)
350-
install(DIRECTORY ${LIBUSB1_LIBRARY_DIR}/ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib FILES_MATCHING PATTERN "libusb-1.0.so*")
364+
install(DIRECTORY ${LIBUSB1_LIBRARY_DIR}/
365+
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
366+
FILES_MATCHING PATTERN "libusb-1.0.so*")
351367
if(DFU_UTIL_FOUND)
352-
install(FILES "${DFU_UTIL_PATH}" DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
368+
# dfuutil is an app
369+
install(FILES "${DFU_UTIL_PATH}"
370+
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
353371
endif()
354372
endif()
355373

356374
set(OperatingSystem "Linux")
357375
# Shortcut target
358376
add_custom_target(companion DEPENDS ${COMPANION_NAME})
359377
add_custom_target(simulator DEPENDS ${SIMULATOR_NAME})
378+
360379
elseif(WIN32)
361380
set(INSTALL_DESTINATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}")
362381
message(STATUS "Install to " ${INSTALL_DESTINATION})
363-
# companion & simulator binaries
382+
# companion and simulator apps
364383
install(TARGETS ${COMPANION_NAME} DESTINATION ${INSTALL_DESTINATION})
365384
install(TARGETS ${SIMULATOR_NAME} DESTINATION ${INSTALL_DESTINATION})
385+
# libsim dlls into same directory as apps
366386
install(DIRECTORY ${CMAKE_BINARY_DIR}/plugins/ DESTINATION ${INSTALL_DESTINATION})
367387

368388
# supporting utilities
@@ -390,7 +410,9 @@ elseif(WIN32)
390410
endif()
391411
if(EXISTS "${OPENSSL_SSL_LIBRARY_DIR}")
392412
# install only files Qt networking requires
393-
install(DIRECTORY ${OPENSSL_SSL_LIBRARY_DIR}/ DESTINATION ${INSTALL_DESTINATION} FILES_MATCHING PATTERN "libcrypto-*.dll" PATTERN "libssl-*.dll")
413+
install(DIRECTORY ${OPENSSL_SSL_LIBRARY_DIR}/
414+
DESTINATION ${INSTALL_DESTINATION}
415+
FILES_MATCHING PATTERN "libcrypto-*.dll" PATTERN "libssl-*.dll")
394416
endif()
395417
endif(OPENSSL_FOUND)
396418

@@ -433,6 +455,10 @@ IF(APPLE)
433455
#set_target_properties(${COMPANION_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${COMPANION_TARGETS_PATH}/MacOSXBundleInfo.plist.in)
434456
#set_target_properties(${SIMULATOR_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${COMPANION_TARGETS_PATH}/MacOSXBundleInfo.plist.in)
435457

458+
# This the name that the user will see in the generated DMG and what the application
459+
# will be called under /Applications. We include the version string to make installing
460+
# different versions side-by-side
461+
set(COMPANION_OSX_APP_BUNDLE_NAME "EdgeTX Companion ${VERSION_MAJOR}.${VERSION_MINOR}")
436462
set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.edgetx.companion")
437463

438464
install(TARGETS ${COMPANION_NAME}

0 commit comments

Comments
 (0)