Team-comtress-2: Macos support for local dev?

Created on 16 Jan 2021  ·  14Comments  ·  Source: mastercomfig/team-comtress-2

Description

Hey, awesome project. But I did not seem to find a way to start the build on my Mac. After I followed the steps from the Basic Installation and run (instead of .bat file)

./hl2_osx -steam -game tf -insecure -novid -nojoy -nosteamcontroller -particle_fallback 2

I get the following:

Снимок экрана 2021-01-16 в 22 48 41

I guess it is somehow related to the fact that the executable hl2_osx was not originated from the build but was copied from the local copy of TF2. Is there any way to start the build using MacOS and if there is not, are there any plans about it?

Checklist


  • [ ] None of the open or closed issues document this idea.
  • [ ] This is a new idea, not a bug.
  • [x] This idea does not seriously affect game balance.
  • [x] This is obviously an improvement, not something that people commonly disagree on.
  • [x] This is not an idea for new game content (e.g. new weapons, maps, sounds).


  • [ ] This idea is for the code of the game, not for textures, sounds, or other resources.
  • [x] This idea has been implemented in vanilla TF2.
  • [ ] There is proof that this idea is well liked (e.g. a history of use of a similar mod in a competitive league).
  • [ ] This idea has been implemented in a mod.
  • [ ] This feature has existed in the vanilla game but was removed.
  • [x] This idea is for internal procedures or tooling (e.g. improving the build process, supporting new systems).

Screenshots

enhancement needs triage

All 14 comments

Is there any way to start the build using MacOS and if there is not, are there any plans about it?

Use wine or build it yourself. https://github.com/mastercomfig/team-comtress-2/wiki/Mac-Build-Instructions

The documentation for building on Mac is empty or am I missing something? 🙂

That's by design!

The documentation for building on Mac is empty or am I missing something? slightly_smiling_face

Currently no one has put in work to create a build process. If you feel like it should be there, you could start trying yourself. #486 could be good reference.

Got it, I will try my best though I'm not experienced in compiling C++ projects) If I manage to build it on Mac I will contribute

@Kefir100 unfortunately there's a bug with Xcode where only libraries are present the project target schemas.
its also currently broken and crashing unfortunately.
vgui_surfacelib needs 10.5 sdk, also some minor tweaking to the xcconfig file.
on default settings xcode may not proceed further into compiling if a project fails, not too sure on that, mileage may vary
you also will need to manually compile protobuf according to alliedmodders wiki instructions.

@Juesto Thanks for the advice, I have tried several approaches but unfortunately none of them worked. Currently I'm trying to compile without use of Xcode at all.

xcode will be required, if you could post the problems you're having here or in the discord we could try to help you out.

@Juesto Thanks for the advice, I have tried several approaches but unfortunately none of them worked. Currently I'm trying to compile without use of Xcode at all.

unfortunately that's currently not possible due to how vpc was designed around.
it may be possible but it's not entirely practical to put effort solely in that.
thanks for understanding, feel free to have a chat with us, as melvyn2 had pointed out,

Finally got back to the discussion and I have got several questions about the build process 🙂

  1. What does vpc stand for?
  2. Why are there multiple vpc scripts (external/vpc/devtools/bin/vpc and devtools/bin/vpc) ?
  3. As far as I can see the build process contains:

    • Building the external dependencies from source (why not just download them?)

    • Compiling the source code

      Am I missing any steps?

  4. What are tiers in the project?
  5. Have you considered building inside Docker containers?
  1. VPC is Valve Project Creator, it creates projects for other build systems.
  2. Ask valve
  3. Hosting precompiled files is a worse solution because the point is to be able to modify the source code and build from it. Additionally, files built on one system may not work for others.
  4. tier0, tier1, etc. are c++ libraries that contain common code used by other code.
  5. SteamRT is already a runtime for reproducible builds, and while it doesn't work yet, the support is there in the build script.

addendum to what melvyn2 said:

Finally got back to the discussion and I have got several questions about the build process

  1. What does vpc stand for?

Valve Project Creator, initially it did just create projects hence the name but it has evolved into a solution generator

  1. Why are there multiple vpc scripts (external/vpc/devtools/bin/vpc and devtools/bin/vpc) ?

what you should be using is devtools/bin/vpc which is a script file for posix that automatically builds vpc from that source location for the respective platform for you the first time you run it or when you make changes, don't worry about it, just how they decided to structure it

  1. As far as I can see the build process contains:
  • Building the external dependencies from source (why not just download them?)

you realize we're dealing with something that is gray area, right?
the more source code at hand, the better, this is common practice.
the only reason where you may only have precompiled stuff is when licensing doesn't permit modification or is unpractical to deal with the dependency burden they require.

  • Compiling the source code
    Am I missing any steps?

you run vpc to get the respective projects and solutions before attempting to compile source code at all with the designated applications

  1. What are tiers in the project?

Valve's replacement of MSVC++ bits, they handle memory, mathlib, sdk common tasks, etc

  1. Have you considered building inside Docker containers?

It's not easy to integrate Valve methods used here into standard CI/CD. but we are slowly getting there soon™

@Juesto @melvyn2 Thanks mates for such detailed answers) I guess the first step in creating a build for Mac is getting VPC to work?

@Juesto @melvyn2 Thanks mates for such detailed answers) I guess the first step in creating a build for Mac is getting VPC to work?

it already works, coms changes has broken POSIX unfortunately.
there's a bug with Xcode and vpc where only libraries would have a target/schema, executables and other types are MIA.
i already explained you many of it's known gotchas earlier @Kefir100

Was this page helpful?
0 / 5 - 0 ratings