From 70a2b3023a6ff26775d5644a7cd25fa9e2433e6a Mon Sep 17 00:00:00 2001 From: mjbudd77 Date: Sun, 12 Jul 2020 11:50:18 -0400 Subject: [PATCH] Added logic to generate a mac osx drag and drop package. --- fceux.icns | Bin 0 -> 1770 bytes pipelines/macOS_build.sh | 22 +++++++++++---------- src/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 fceux.icns diff --git a/fceux.icns b/fceux.icns new file mode 100644 index 0000000000000000000000000000000000000000..3c7ef062b453ac7cd3143a2c69347d29dc4ad0ea GIT binary patch literal 1770 zcmcIjOKuZE5Pgn6LY$({02`Kll$KaU1U6jYjb~!w5C~Sthn>YD8_s~#JER>vuK%%9t>8kgty6U-o`0~wLVDjtm==n3?;Ag@$zz-P52*h|MXO2OPGAR)Q z@*Rf4;?x2aM=1f}MBGZdR%Dzb;S5cBN(P$iLui0y6^VnCZkZrtiUY;p=fbxNc!WBK z=AuqH3GmJvEpOIgtfYWI-(VO5c^(Gd&v350PQwC?5-tt#{)e?(o4Ekh8RKW|frg1! zsN)T)_(l6h=c^7dhA}Vt-0#S0ETx8XfOAC+=Qh+3=GN7q)NoS6t<<2YQE`&BU}(VQ zfXgh#9n(-_(bOPYHSR|A-UX?lDSI_E7mcQv?2@d)l;Z$8=Nk-6krQpUsvJv=nUtC9 z+i7FkNgC%QjdPMlZPICQXVN%H<0OrfH2T)^3t$XmN}7^eq~TZn=-1_G#Q16LP4FZ7 z`MEhi8%&vpzo%4LpZs2v1K!?&O-_zt6qQ~NPY*%+lp|1-1`AexhGW9p)}*ov)YPN6 zMCFryy@YQ#dhz-dFnWT&TdAxqSsnBT;{njSZH?aDaxli0@G7(q*Pm=f-gf%``0fVw zO=$Rz3K@Q!P~dHZ9%>I8+C0Fr+Yz>57Bl=YY-cvyD&! literal 0 HcmV?d00001 diff --git a/pipelines/macOS_build.sh b/pipelines/macOS_build.sh index f32e52f4..a058d91f 100755 --- a/pipelines/macOS_build.sh +++ b/pipelines/macOS_build.sh @@ -6,6 +6,10 @@ pwd uname -a sw_vers +FCEUX_VERSION_MAJOR=2 +FCEUX_VERSION_MINOR=2 +FCEUX_VERSION_PATCH=3 + SCRIPT_DIR=$( cd $(dirname $BASH_SOURCE[0]); pwd ); NPROC=`getconf _NPROCESSORS_ONLN`; @@ -53,23 +57,21 @@ cd build; #$QMAKE .. cmake \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX/usr \ + -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + -DCMAKE_PROJECT_VERSION_MAJOR=$FCEUX_VERSION_MAJOR \ + -DCMAKE_PROJECT_VERSION_MINOR=$FCEUX_VERSION_MINOR \ + -DCMAKE_PROJECT_VERSION_PATCH=$FCEUX_VERSION_PATCH \ + -DCPACK_PACKAGE_VERSION_MAJOR=$FCEUX_VERSION_MAJOR \ + -DCPACK_PACKAGE_VERSION_MINOR=$FCEUX_VERSION_MINOR \ + -DCPACK_PACKAGE_VERSION_PATCH=$FCEUX_VERSION_PATCH \ .. || exit 1 make -j $NPROC || exit 1 make install || exit 1 +cpack -G DragNDrop || exit 1 # Debug via ssh if necessary if [ ! -z $APPVEYOR_SSH_BLOCK ]; then curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e - fi -if [ -e $INSTALL_PREFIX/usr/bin/fceux ]; then - echo '**************************************************************' - echo 'Printing Shared Object Dependencies for fceux Executable' - echo '**************************************************************' - otool -L $INSTALL_PREFIX/usr/bin/fceux -else - echo "Error: Executable Failed to build: $INSTALL_PREFIX/usr/bin/fceux"; - exit 1; -fi diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 05207915..6ea527ae 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,6 +3,8 @@ set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) +set( APP_NAME fceux) + if(WIN32) set(SOURCES ${SRC_CORE} ${SRC_DRIVERS_COMMON} ${SRC_DRIVERS_WIN}) include_directories( ${CMAKE_SOURCE_DIR}/src/drivers/win/directx ${CMAKE_SOURCE_DIR}/src/drivers/win/zlib ) @@ -410,9 +412,20 @@ add_custom_command( set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp PROPERTY SKIP_AUTOGEN ON) -add_executable( fceux ${SOURCES} ../resources.qrc +if (APPLE) + +set(MACOSX_BUNDLE_ICON_FILE fceux.icns) +set(APP_ICON ${CMAKE_SOURCE_DIR}/fceux.icns ) +set_source_files_properties( ${APP_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" ) + +add_executable( ${APP_NAME} MACOSX_BUNDLE ${APP_ICON} ${SOURCES} ../resources.qrc ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp) +else() +add_executable( ${APP_NAME} ${SOURCES} ../resources.qrc + ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp) +endif() + target_link_libraries( fceux ${Qt5Widgets_LIBRARIES} ${Qt5OpenGL_LIBRARIES} @@ -423,7 +436,29 @@ target_link_libraries( fceux ${SYS_LIBS} ) -install( TARGETS fceux +if (APPLE) + +install( TARGETS ${APP_NAME} + BUNDLE DESTINATION . COMPONENT Runtime + RUNTIME DESTINATION bin COMPONENT Runtime ) + +set( APPS ${CMAKE_INSTALL_PREFIX}/${APP_NAME}.app) +set( DIRS ${CMAKE_BINARY_DIR} /usr/local/lib) + +message(STATUS APPS: ${APPS}) +message(STATUS DIRS: ${DIRS} ) + +#set(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}/fceux.icns ) +#set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/fceux.icns ) +set(CPACK_GENERATOR "DRAGNDROP") +include(CPACK) + +install( CODE "include(BundleUtilities) + fixup_bundle( \"${APPS}\" \"\" \"${DIRS}\") ") + +else(APPLE) + +install( TARGETS ${APP_NAME} RUNTIME DESTINATION bin ) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/auxlib.lua DESTINATION share/fceux/luaScripts ) @@ -432,3 +467,5 @@ install( FILES ${CMAKE_SOURCE_DIR}/fceux.png DESTINA install( FILES ${CMAKE_SOURCE_DIR}/fceux.desktop DESTINATION share/applications ) install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux.6 DESTINATION share/man/man6 ) install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux-net-server.6 DESTINATION share/man/man6 ) + +endif(APPLE)