User Tag List

Page 3 of 6 FirstFirst 1 2 3 4 5 ... LastLast
Results 21 to 30 of 59

Thread: Building on Mac and Linux

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,030
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.75%
    Quote Originally Posted by Gleeok View Post
    This is somewhat a conglomeration of different topics.

    Sorry guys; I'm a little unsure about the repo status as well. Keep in mind that 'master' is a few years of random commits - this represents the shardstorm repo as well. Most of these are from Saffith and I don't know what he wants to keep and throw away. I know that I want to keep all my changes, though the most I've done with ZC this last year is to basically get it all open sourced, and I'm not too sure about what's going on with it on the source code level: The files between the trunk and 2.50 can vary wildly, and I'm skeptical that this won't introduce really stupid (and potentially nasty) bugs. Testing will be required, and after 2.50.4 I think we should bump the major version.

    I think I might feel better about merging files into 'cmake 2.50.x' one at a time. I've never done such a large "code squish" before, and certainly not one with multiple devs that represent both such a large time frame and also with an interestingly complex codebase that users count on to be stable at the same time. My subversion skills are also very basic as well, which I think is normally a good thing not having to lean on tools too much, but not so much here. To put it another way, my git skills are simply terrible.

    Instead of CMake I'd prefer to migrate over my custom build from the trunk since it eliminates minutes (over 400% faster) off of the compile times and binary sizes, but I can download CMake and test it anyway.





    We definitely will not be accepting any pull requests until everyone gets settled anyway so what's the difference?



    [edit]
    Downloading now...

    1)Okay, so branch 'cmake' is definitely the WIP 2.50.x->master? So that's the one I should start dumping things into, right?

    2)Can we just swap that one with master once the minor issues get sorted out, then worry about the rest of it afterward, or does anything else need to be done first?

    3)2.50.x should be kept for 2.50.3 and short-term only minor bugfixes then, and we will accept only bugfixes for this branch then; is this also correct?


    [edit2]
    If we have people maintaining project files for different builds can we just have cmake as a 'backup' for everyone else?


    ..The holidays are getting to me. I'll have to start this project tomorrow. My brain is turning into mush.
    Let's do this: we will make the cmake branch (containing the 2.50.x changes) the master, and then we can look together at the changes you've made to the current master and merge them in one at a time, if they still make sense. Saffith was unhappy with some of the changes in the current master branch, but we can discuss with him and pull out the good bits.

    I don't know if you've used CMake before, but it's basically a makefile for makefiles. You hit a button and it generated the MSVC 2010 project file for you, the MSVC 2016 project file for me, the Linux Makefile for Saffith and ZoriaRPG, etc. That way you do not have parallel but different builds set up by different developers for each platform, and you do not have to worry (as much) about one of the builds becoming out of sync with all of the others. If you want to add or remove a .cpp file from ZQuest, for example, you make the change in one place, in the CMakeLists.txt, and it automatically modifies the MSVC 2010 project file, 2016 project file, the Linux Makefile, etc.

    CMake also makes it easy for new developers to download the source code and build ZC, as it's an extremely common and standard tool for multi-platform projects.

    There should be no problem getting CMake to configure the MSVC project to speed up compilation (presumably, by using precompiled headers?). I will help you with this, once the basic compilation is working.

    EDIT: And if you're getting errors, feel free to ping me on Skype (id: evouga) and we can sort them out together. (That also goes for you, Saffith).

  2. #2
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,961
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.43%
    @ZoriaRPG - ZC has always had the current dev branch as main in the past; we're just used it I guess. For everyone else bitching about it during the holiday season remember that it's the holidays. Please stop bitching about it. Just swapping A<-->B around in the repo doesn't do anything. It needs some elbow grease as well. Thank you come again.

    @DarkDragon : The reason I never use cmake is because it never works right. It's always complained about missing files or whatever else. I'll give it a go, though I don't mind maintaining a project file.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  3. #3
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,030
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.75%
    Quote Originally Posted by Gleeok View Post
    @ZoriaRPG - ZC has always had the current dev branch as main in the past; we're just used it I guess. For everyone else bitching about it during the holiday season remember that it's the holidays. Please stop bitching about it. Just swapping A<-->B around in the repo doesn't do anything. It needs some elbow grease as well. Thank you come again.
    Yes, exactly.

    @DarkDragon : The reason I never use cmake is because it never works right. It's always complained about missing files or whatever else. I'll give it a go, though I don't mind maintaining a project file.
    It can be tricky to configure the CMakeLists file at first but I will help get it to work. Let me know what errors it gives you

  4. #4
    Keese
    ZC Developer

    Join Date
    Jan 2007
    Age
    34
    Posts
    52
    Mentioned
    27 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    783
    Level
    9
    vBActivity - Bars
    Lv. Percent
    81.92%
    Quote Originally Posted by Gleeok View Post
    @ZoriaRPG - ZC has always had the current dev branch as main in the past; we're just used it I guess. For everyone else bitching about it during the holiday season remember that it's the holidays. Please stop bitching about it. Just swapping A<-->B around in the repo doesn't do anything. It needs some elbow grease as well. Thank you come again.
    It would've saved me the trouble of getting master working, only to realize that nobody's actually using it.

    I wasn't complaining. I was just responding to the "how could you possibly think nothing is happening?" sentiment, since the answer was pretty obvious from my perspective. Again, my point wasn't that you should do it, but that since it's so easy and you aren't doing it, I am obviously completely disconnected from everything and have no clue what's going on.

    You know, like I said in every post I made in this thread.

  5. #5
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,961
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.43%
    LINK : fatal error LNK1104: cannot open file 'legacy_stdio_definitions.lib'

    LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
    LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

    LTCG in debug is crazy sauce.

    edit:

    2>loadpng.lib(regpng.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
    2>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
    2>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

    4>ffscript.ypp(596) : error C3861: 'snprintf': identifier not found




    Quote Originally Posted by Grayswandir View Post
    It would've saved me the trouble of getting master working, only to realize that nobody's actually using it.

    I wasn't complaining. I was just responding to the "how could you possibly think nothing is happening?" sentiment, since the answer was pretty obvious from my perspective. Again, my point wasn't that you should do it, but that since it's so easy and you aren't doing it, I am obviously completely disconnected from everything and have no clue what's going on.

    You know, like I said in every post I made in this thread.
    It's okay, nobody else knows what is going either.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  6. #6
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,030
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.75%
    I can fix the library issue but I don't remember the snprintf workaround. Do you know how you're fixing it in your project file?

  7. #7
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,030
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.75%
    I've pushed a fix for the libraries. Can you to regenerate/rebuild?

    I'm guessing you will still get the _snprintf error though. Do you know how you fixed that?

    EDIT: Oh never mind looks like you already added the necessary #defines.

  8. #8
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,961
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.43%
    Quote Originally Posted by DarkDragon View Post
    I've pushed a fix for the libraries. Can you to regenerate/rebuild?

    I'm guessing you will still get the _snprintf error though. Do you know how you fixed that?

    EDIT: Oh never mind looks like you already added the necessary #defines.
    I've got it compiled for 2008. I'll try 2010 and also update the source later with my changes. Congrats, you are the first person in the history of CMAKE to actually make some c++ nonsense work. (Not joking, it's always usually awful) Thanks!

    (Although the build times are too long,~I can just fix that later.)


    Quote Originally Posted by DarkDragon View Post
    Let's get to the bottom of things then...

    My understanding (and correct me on any point that is wrong):
    1. The public releases of ZC lately (2.50.3, etc) have been based on the 2.50.x branch of the repository.
    2. Independently, Gleeok and others have been committing new features/fixes to the master branch of the repository.
    3. The master branch contains many valuable changes.
    4. The master branch also contains some changes that are considered by Saffith (and perhaps other) as "garbage."
    5. 2.50.x contains changes that have not been applied to master.

    So where does that leave us? Clearly 2.50.x (with cleanup which we're currently undertaking) must become the master branch, since that is the branch from which public binaries are actually being published. We cannot use the code from the current master branch for at least two reasons:
    - it is not in sync with the current publicly-released binaries;
    - some of the changes are "garbage" and need to be reconsidered.

    Hence the plan to make 2.50.x the new master, and to look through the current-master changes and incorporate those that are worthwhile, while avoiding the garbage. Once that is done, the repository will be in a healthy state and we can start e.g. discussing changing the Allegro version or pulling in some of ZoriaRPG and Grayswandir et al's changes.

    If I've gotten something wrong or you disagree with any of the above, by all means, please let me know.
    That's basically what I was thinking.
    Last edited by Gleeok; 12-27-2016 at 01:09 AM.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  9. #9
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,961
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.43%
    This is going well: "#error platform not supported"

    Haven't even got to run cmake yet.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  10. #10
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,030
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.75%
    What did you run that gave this error?

    You should run CMake before doing anything else. Download from https://cmake.org/download/ and run the GUI. It will ask for a folder containing the source, and a folder where to put the build files. Select the root folder for the former and ./build for the latter. Then hit "generate." If there are no errors, it should create for you a Visual Studio project file that you can open inside of ./build.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social