Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(ready) Build IVAN.app for Mac OS X #388

Merged
merged 12 commits into from Jun 10, 2018
Merged

(ready) Build IVAN.app for Mac OS X #388

merged 12 commits into from Jun 10, 2018

Conversation

jakwings
Copy link
Member

@jakwings jakwings commented Jun 2, 2018

ping #343

Todos:

CMakeLists.txt Outdated
@@ -10,7 +10,14 @@ set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
add_definitions(-DIVAN_VERSION="${PROJECT_VERSION}" -DUSE_SDL)

if(UNIX)
option(BUILD_MAC_APP "Build standalone application for MacOS" OFF)
Copy link
Member Author

@jakwings jakwings Jun 2, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I need to make it independent of Travis CI.

@jakwings jakwings changed the title WIP: update build configuration for osx (ready) Build IVAN.app for Mac OS X Jun 3, 2018
@jakwings
Copy link
Member Author

jakwings commented Jun 3, 2018

This is ready now. Please review and see if it brings problems for the windows build.

The compiled windows app is also at https://github.com/jakwings/ivan/releases/tag/Personal

@AquariusPower
Copy link
Contributor

interesting,
I dont know if you tried to use the dbgmsg.h/.cpp?

I use it only on my machine, didn't commit here cuz of BSD3,
now I think if I turned it into a library, and document there the same way, it would be ok I guess.

btw, I am not saying this debug log is the best thing around, so if there is something better to add to ivan I would like to know :)

PS.: it generates a lot of debug log (that requires using it's disable-able macros),
as I didnt manage to debug on linux (because the eclipse setup is not working and I dont know how to fix it. Eclipse only helps to navigate the code and autocompletion).

@jakwings
Copy link
Member Author

jakwings commented Jun 4, 2018

Ah, this: https://www.gnu.org/licenses/gpl-faq.html#OrigBSD

The SDL2 frameworks are using the BSD-3-clause license. I'm still not sure if it is okay, according to https://spdx.org/licenses/

Thanks for the info, I'll try -DDBGMSG next time. (Ah, I don't use Eclipse. :-P)

@jakwings
Copy link
Member Author

jakwings commented Jun 4, 2018

Ok, it seems the SDL2's BSD license is almost the same as the BSD 3-Clause "New" or "Revised" License, which is listed as compatible with FSF projects.

https://spdx.org/licenses/BSD-3-Clause.html

@AquariusPower
Copy link
Contributor

btw I am not very good about it,
sometimes they begin to make things too detailed (with reason probably)
and I cant focus for too long on what they are trying to explain :/

that's why I love BSD3 xD

thanks on the links btw!

I have to use eclipse cuz of my machine speed, intellijIdea is extremellly heavy and have some license clauses I didnt like (not saying they are bad clauses, just that I didnt like it, probably just having a hard time to understand/follow them again..)

@jakwings jakwings changed the title (ready) Build IVAN.app for Mac OS X (wip) Build IVAN.app for Mac OS X Jun 4, 2018
@jakwings jakwings changed the title (wip) Build IVAN.app for Mac OS X (ready) Build IVAN.app for Mac OS X Jun 4, 2018
@jakwings
Copy link
Member Author

jakwings commented Jun 4, 2018

After tweaking .travis.yml for a while, I think I have sorted out a bit where Travis uses its own parser for variables and globs in the config. 😓

@jakwings
Copy link
Member Author

jakwings commented Jun 4, 2018

The latest executables are at https://github.com/jakwings/ivan/releases/tag/Personal

@@ -15,8 +25,8 @@ set_source_files_properties(
PROPERTIES HEADER_FILE_ONLY TRUE)

add_executable(ivan ${IVAN_SOURCES} Resource/Ivan.rc)
target_include_directories(ivan PUBLIC Include ../Felib/Include ../audio ../fantasyname)
target_link_libraries(ivan FeLib FeAudio SDL2_mixer pcre xbrzscale fantasyname)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get a linker error in the MSYS2 compiler if SDL2_mixer is omitted. Adding it makes it work again.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to fix FindSDl2.cmake. I shouldn't put the flags for SDL2_mixer into SDL2_LIBRARY and SDL2_INCLUDE_DIR.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I check SDL 1.2.0 as well?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I check SDL 1.2.0 as well?

I don't know of anyone in the community who is compiling with SDL 1.2.0, so I don't think we need to support the check for that.

@ryfactor
Copy link
Member

ryfactor commented Jun 5, 2018

This is great work @iology

ivan.exe from your personal build works correctly. Just one issue remaining for the MSYS2 compile system, but it is a small thing (see inline comment about SDL2_mixer).

Can you confirm that CI deployment is still triggered by pushing a v054 style tag to the master branch?

Otherwise it is ready to be merged. Should I update the version and push a tag immediately after merging? (@iology, you can also do the honours).

@jakwings
Copy link
Member Author

jakwings commented Jun 5, 2018

The latest build: https://github.com/jakwings/ivan/releases/tag/v054-test
Please help check msys2.

Should I update the version and push a tag immediately after merging? (@iology, you can also do the honours).

My pleasure, but I don't know how frequently the game should be released. What about other recent PRs? I can't feel how many people are eager for a mac release. 😅

@ryfactor
Copy link
Member

ryfactor commented Jun 5, 2018

Yup MSYS2 works.

My pleasure, but I don't know how frequently the game should be released. What about other recent PRs? I can't feel how many people are eager for a mac release. 😅

I'm not sentimental about version numbers, as long as we never reach 1.0... lol nah
Can you increment the version number, commit that, and then push a tag? I'll merge. That hasn't been tried before and I just want to see if that works.

@jakwings
Copy link
Member Author

jakwings commented Jun 5, 2018

Only members can push a tag for this repo. My tag will still stay on my fork. /facepalm

@jakwings
Copy link
Member Author

jakwings commented Jun 5, 2018

Done. The merge button doesn't pull tags, I think.

@jakwings
Copy link
Member Author

jakwings commented Jun 5, 2018

I have an urge to clean up the makefiles a bit more. Please wait. ;-)

@jakwings
Copy link
Member Author

jakwings commented Jun 5, 2018

I've tried my best to eliminate all places where spaces can cause troubles, except CXXFLAGS, LDFLAGS, etc. (blame cmake and Makefile)

Files: https://github.com/jakwings/ivan/releases/tag/v054-test2

J.W added 2 commits June 5, 2018 18:23
"Space costs time."
Also the release for IVAN.app. WOO HOO
@jakwings
Copy link
Member Author

jakwings commented Jun 5, 2018

The ivan.exe seems to run well with Wine too. The midi is great. What's the best soundfont you found for "fluidsynth" or the like to emulate the sound on windows? This is the one I'm using now: https://packages.debian.org/stretch/all/fluid-soundfont-gm/download

@AquariusPower
Copy link
Contributor

I havent tried ivan with Wine, now I wonder if midi may work better? some linux midi issues here
I will take a look at the midi code :)

@jakwings
Copy link
Member Author

jakwings commented Jun 6, 2018

The midi is better on Windows. I will need to provide configs for fluidsynth to chain several soundfonts to achieve the best effect. Tough work.

@ryfactor
Copy link
Member

ryfactor commented Jun 6, 2018

What's the best soundfont you found for "fluidsynth" or the like to emulate the sound on windows?

I dunno. @AdrianGin what sound fonts do you use?

@AquariusPower
Copy link
Contributor

I thought there was nothing better than GM

@AdrianGin
Copy link
Contributor

I use the Roland GM provided in Windows for 'testing' just because that's what it will sound like for most users. Yamaha XG one's are a good balance between good sounding and soundfont size.

When designing the soundtracks, it's a case of providing to the lowest common denominator!

@jakwings
Copy link
Member Author

Can this be merged now (without the version change)? Or I'm going to submit another PR for properly locating libpcre on mac.

@ryfactor
Copy link
Member

Sorry for the delay. I'll merge it as it is, the version number needs to change at some point anyway, let it be today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants