diff --git a/CMakeModules/BuildInstaller.cmake b/CMakeModules/BuildInstaller.cmake index fefec2662..f1d65a0fa 100644 --- a/CMakeModules/BuildInstaller.cmake +++ b/CMakeModules/BuildInstaller.cmake @@ -4,7 +4,7 @@ if(WIN32) set(PLATFORM "windows") elseif(APPLE) set(PLATFORM "mac") -elseif(LINUX) +elseif(UNIX) set(PLATFORM "linux") else() message(FATAL_ERROR "Cannot build installer for this unsupported platform") @@ -13,16 +13,26 @@ endif() set(DIST_DIR "${BUILD_DIR}/dist") set(ARCHIVE "${PLATFORM}.7z") +file(MAKE_DIRECTORY ${BUILD_DIR}) file(MAKE_DIRECTORY ${DIST_DIR}) file(DOWNLOAD https://github.com/citra-emu/ext-windows-bin/raw/master/qtifw/${ARCHIVE} "${BUILD_DIR}/${ARCHIVE}" SHOW_PROGRESS) execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${BUILD_DIR}/${ARCHIVE}" WORKING_DIRECTORY "${BUILD_DIR}/") +set(TARGET_NAME "citra-setup-${PLATFORM}") set(CONFIG_FILE "${SRC_DIR}/config/config_${PLATFORM}.xml") set(INSTALLER_BASE "${BUILD_DIR}/installerbase_${PLATFORM}") set(BINARY_CREATOR "${BUILD_DIR}/binarycreator_${PLATFORM}") set(PACKAGES_DIR "${BUILD_DIR}/packages") file(MAKE_DIRECTORY ${PACKAGES_DIR}) +if (UNIX OR APPLE) + execute_process(COMMAND chmod 744 ${BINARY_CREATOR}) +endif() + execute_process(COMMAND ${BINARY_CREATOR} -t ${INSTALLER_BASE} -n -c ${CONFIG_FILE} -p ${PACKAGES_DIR} ${TARGET_FILE}) + +if (APPLE) + execute_process(COMMAND chmod 744 ${TARGET_FILE}.app/Contents/MacOS/${TARGET_NAME}) +endif() diff --git a/dist/installer/CMakeLists.txt b/dist/installer/CMakeLists.txt index 57630d7dc..4fbebaf13 100644 --- a/dist/installer/CMakeLists.txt +++ b/dist/installer/CMakeLists.txt @@ -3,13 +3,14 @@ if(WIN32) set(PLATFORM "windows") elseif(APPLE) set(PLATFORM "mac") -elseif(LINUX) +elseif(UNIX) set(PLATFORM "linux") endif() set(BUILD_DIR "${CMAKE_BINARY_DIR}/installer") set(DIST_DIR "${BUILD_DIR}/dist") set(TARGET_FILE "${DIST_DIR}/citra-setup-${PLATFORM}") +file(MAKE_DIRECTORY ${BUILD_DIR}) # Adds a custom target that will run the BuildInstaller.cmake file # CMake can't just run a cmake function as a custom command, so this is a way around it. @@ -19,4 +20,4 @@ add_custom_command(OUTPUT "${TARGET_FILE}" WORKING_DIRECTORY ${BUILD_DIR} ) -add_custom_target(installer DEPENDS ${TARGET_FILE}) \ No newline at end of file +add_custom_target(installer DEPENDS ${TARGET_FILE})