View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000793 | Spring engine | General | public | 2008-01-07 14:48 | 2009-06-15 09:37 | ||||
Reporter | Commander | ||||||||
Assigned To | |||||||||
Priority | normal | Severity | feature | Reproducibility | always | ||||
Status | closed | Resolution | suspended | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0000793: [patch] Revive Mac Support, now usable | ||||||||
Description | The build now results in a self-contained, double-clickable application bundle, which includes AIs. It will look for maps and mods inside the surrounding directory. The patch is missing a binary icon file, which can be downloaded here: http://fabian.herb-clan.de/spring.icns Place it in the new Mac directory (see below) BTW, i use git now locally. I heard some of you do as well, maybe we can collaborate over that in the future. | ||||||||
Additional Information | Changes: - XCode project files for main app and AIs are now in a new "Mac" directory under the spring source tree. I hope that is OK. IMHO it's much cleaner and more logical to place it there. - New project for building AIs - Created a new MacFileSystemHandler class derived from UnixFileSystemHandler for directory handling on a Mac | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
ILMTitan (reporter) 2008-01-12 07:25 |
On my windows Mingw build, I get errors in trunk/rts/System/Platform/Mac/MacFileSystemHandler.cpp line 9 CoreFoundation/CoreFoundation.h: No such file or directory |
Commander (reporter) 2008-01-12 15:52 |
OK, I changed filelist.py to exclude the Platform/Mac directory. I didn't know this wasn't done already. Other new changes in the 2008-01-12 patch: - Fixed s3o loader, so it runs on big endian machines - Unitsync compiles, yet without Java and Python bindings - Error messages appear as GUI dialog now instead of stdout (at least some of them) - Enable sync checking - Some refactoring on Mac specific utilities |
ILMTitan (reporter) 2008-01-12 20:50 |
Now i get errors in trunk/rts/Rendering/UnitModels/s3o.h line 4 byteorder.h: No such file or directory. |
Commander (reporter) 2008-01-13 00:16 |
Crap. I'll test on Linux before sending my next patch. |
tvo (reporter) 2008-01-14 19:32 |
I'd rather have the Mac directory with xcode files under build/, otherwise we need to change the MSVC project files and the scons buildsystem to keep stuff consistent. On that note, I'm looking at a cmake buildsystem. This should be able to generate the xcode project files (though I will need help to get necessary compile flags right on Mac). |
Commander (reporter) 2008-01-15 00:15 |
Do you mean build/ under rts/? However, my project uses the files under game/ and installer/ as well, to build the complete application. And I don't even know where the project files for global AI are, or where I should put mine. SCons has a file in the root directory already. Concerning cmake: There is much more than just compile flags that get into an XCode project. I don't see any benefits in using cmake for creating XCode projects yet. |
tvo (reporter) 2008-01-15 10:31 |
Yes, rts/build. Besides consistency, this would also fit in the picture that it should be possible to just check out trunk/rts/ to build the engine. This is not possible yet, but I'd still like to strive towards that, and not clutter up the root (trunk/) any more. (Except for springcontent.sdz and bitmaps.sdz generation I think this goal would actually be reached now using the cmake build system.) MSVC project files refer to game/ too. SConstruct refers to installer/ too. At the time, I had to place SConstruct in the root because scons can't refer to paths above it's toplevel SConstruct. All helper modules are still in rts/build/scons. On another note, MSVC project files would work a lot better if they were directly in trunk/ (some MSVC functionality is broken now), but still they are in rts/build/, for consistency. Have you tried cmake? Try for example putting http://pastebin.com/f596a6543 in trunk/AI/Global/KAIK-0.13, generate XCode project from it using cmake, and check whether anything is wrong. (It might not link if dylibs work like DLLs (not allowing undefined symbols) and not like SOs (allowing undefined symbols)) Major advantage is that there doesn't need to be a Mac person around all times to update project file. Even for MSVC project files the past has proven that project files are NEVER updated in time, so usually they don't compile for weeks after someone added/moved a single file. For AIs, I'd suggest not adding them to the same XCode file as the engine, or even putting them in the same directory: there exists more AIs then are available in the SVN, and it would be best if they can just use a simple template file instead of needing to modify Spring project files. Anyway, committed the C++ changes / refactors after fixing them to build on Linux. Needed to fix only one #include path: all other build systems add rts/ and rts/System/ to the include path, so byteorder.h needed to be Platform/byteorder.h. Thank you for your work so far! |
Commander (reporter) 2008-01-24 16:58 |
Sorry for my late answer. I tried CMake with the file you provided, and Xcode says: /bin/sh: /Users/fabianherb/devel/spring-project/spring/AI/Global/KAIK-0.13/Project.build/Debug/../../../game/AI/Bot-libs/KAIK-0.13.dylib.build/Script-33AE2033AE2033AE20000000.sh: No such file or directory It seems there are not enough "../"s in the path. I put the CMakeLists.txt into the KAIK directory as you said, and the project files are created there as well. I'll try to correct the paths next time. As a side note: Theoretically, we could build the Mac version of Spring using Scons as well. But this is more difficult than with Xcode. AIs have never been in the same project as the engine. Creating a template for other AIs is possible. Have to go now, I will add some notes later... |
Commander (reporter) 2008-01-29 00:37 |
I tried ajusting the paths in CMakeLists.txt to no avail (which is propably breaking other build backends anyway). Maybe it's a fault of CMake, not being compatible to Xcode 3.0 or something. |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2008-01-07 14:48 | Commander | New Issue | |
2008-01-07 14:48 | Commander | File Added: spring-mac-2008-01-07.patch.bz2 | |
2008-01-12 07:25 | ILMTitan | Note Added: 0001787 | |
2008-01-12 11:39 | ILMTitan | Status | new => feedback |
2008-01-12 15:35 | Commander | File Added: spring-mac-2008-01-12.patch.bz2 | |
2008-01-12 15:52 | Commander | Note Added: 0001789 | |
2008-01-12 20:50 | ILMTitan | Note Added: 0001791 | |
2008-01-13 00:16 | Commander | Note Added: 0001792 | |
2008-01-14 19:32 | tvo | Note Added: 0001822 | |
2008-01-15 00:15 | Commander | Note Added: 0001849 | |
2008-01-15 10:31 | tvo | Note Added: 0001852 | |
2008-01-24 16:58 | Commander | Note Added: 0001884 | |
2008-01-29 00:37 | Commander | Note Added: 0001901 | |
2009-06-15 09:37 | Auswaschbar | Status | feedback => closed |
2009-06-15 09:37 | Auswaschbar | Resolution | open => suspended |