use shell application to avoid fixup on Electron

This commit is contained in:
Stephen Birarda 2016-01-06 15:26:41 -08:00
parent 35394289a4
commit b7154cacd2
3 changed files with 36 additions and 3 deletions

View file

@ -12,10 +12,42 @@
macro(install_beside_console)
# install this component beside the installed server-console executable
if (APPLE)
set(COMPONENT_DESTINATION "Applications/High Fidelity/Server Console.app/Contents/MacOS/")
set(SHELL_APP_CONTENTS "Components.app/Contents")
set(COMPONENT_DESTINATION "${SHELL_APP_CONTENTS}/MacOS")
else ()
set(COMPONENT_DESTINATION .)
endif ()
install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION ${COMPONENT_DESTINATION} COMPONENT ${SERVER_COMPONENT})
install(
TARGETS ${TARGET_NAME}
RUNTIME DESTINATION ${COMPONENT_DESTINATION}
COMPONENT ${SERVER_COMPONENT}
)
if (APPLE)
# during the install phase, call fixup to drop the shared libraries for these components in the right place
set(EXECUTABLE_NEEDING_FIXUP "\${CMAKE_INSTALL_PREFIX}/${COMPONENT_DESTINATION}/${TARGET_NAME}")
install(CODE "
include(BundleUtilities)
fixup_bundle(\"${EXECUTABLE_NEEDING_FIXUP}\" \"\" \"${FIXUP_LIBS}\")
" COMPONENT ${SERVER_COMPONENT})
# once installed copy the contents of the shell Components.app to the console application
set(CONSOLE_INSTALL_PATH "Applications/High Fidelity/Server Console.app")
set(INSTALLED_CONSOLE_CONTENTS "\${CMAKE_INSTALL_PREFIX}/${CONSOLE_INSTALL_PATH}/Contents")
set(INSTALLED_SHELL_CONTENTS "\${CMAKE_INSTALL_PREFIX}/${SHELL_APP_CONTENTS}")
install(CODE "
message(STATUS \"CHECKING ${INSTALLED_SHELL_CONTENTS}/Frameworks/*\")
file(GLOB FRAMEWORKS \"${INSTALLED_SHELL_CONTENTS}/Frameworks/*\")
message(STATUS \"Copying \${FRAMEWORKS} to ${INSTALLED_CONSOLE_CONTENTS}/Frameworks\")
file(COPY \${FRAMEWORKS} DESTINATION \"${INSTALLED_CONSOLE_CONTENTS}/Frameworks\")
file(GLOB BINARIES \"${INSTALLED_SHELL_CONTENTS}/MacOS/*\")
message(STATUS \"Copying \${BINARIES} to ${INSTALLED_CONSOLE_CONTENTS}/Frameworks\")
file(COPY \${BINARIES} DESTINATION \"${INSTALLED_CONSOLE_CONTENTS}/MacOS\")
" COMPONENT ${SERVER_COMPONENT})
endif ()
endmacro()

1
console/.gitignore vendored
View file

@ -1,4 +1,5 @@
Server\ Console-*/
server-console-*/
electron-packager/
npm-debug.log
logs/

View file

@ -23,7 +23,7 @@ var options = {
arch: "x64",
platform: platform,
icon: "resources/" + iconName,
ignore: "logs|(S|s)erver(\\s|-)(C|c)onsole-\\S+"
ignore: "logs|(S|s)erver(\\s|-)(C|c)onsole-\\S+|electron-packager"
}
const EXEC_NAME = "server-console";