Giter Site home page Giter Site logo

spirrwell / source-sdk-2013-cmake Goto Github PK

View Code? Open in Web Editor NEW
15.0 2.0 2.0 479.28 MB

License: Other

ReScript 0.12% C++ 95.17% C 3.69% Shell 0.01% Batchfile 0.02% Perl 0.23% Makefile 0.03% GLSL 0.31% Assembly 0.01% CMake 0.44% Objective-C++ 0.01%

source-sdk-2013-cmake's Introduction

Source SDK 2013 - CMake

This project ports the buildsystem from VPC to CMake.

The layout of the CMake projects should be similar to that of VPC. Hopefully it should feel familiar even if you have no experience with CMake. The base scripts are in _cmake_scripts. Each project has its own corresponding .cmake file similar to VPC.

Example: src/tier1/tier1.vpc -> src/tier1/tier1.cmake

The batch and shell scripts to generate projects now call CMake instead and place project files in a created "build" directory. If you're comfortable with CMake, you don't have to rely on these at all and can use your favorite IDE's CMake integration.

If your folder structure for SDK2013 is different, you should only have to modify SRCDIR and GAMEDIR in the CMakeLists.txt file if you need to move things around.

Compiler Support

General

By default, this targets C++14 since modern VS defaults to C++14 anyway.

Windows

VS2019 and VS2022 are known to build, but this is untested with older versions.

Linux

GCC 5 or greater should also work fine. This repo should build out of the box with the Steam Runtime Soldier container. Scout will require a bit of tinkering to update CMake and switch to GCC 5 or higher.

macOS

This should also build on macOS. Just note that for Xcode, only versions 9.4.1 and earlier support the i386 architecture. If building from a different IDE, or command line, you might not have to worry about this depending on your setup. The project generation scripts should output Makefiles by default.

Building with macOS 10.13.6 (High Sierra) is recommended. Please check this project out if you're interested in a macOS container: https://github.com/sickcodes/Docker-OSX

Credits

I'd like to thank JJL772, OzxyBox, and those behind the Source-PlusPlus repo which includes Joshua Ashton, SCell555, and Gocnak.

The modified particles.lib that allows modern VS to build came from Source-PlusPlus: https://github.com/Joshua-Ashton/Source-PlusPlus

JJL772 has a repo which helped me with the ABI difference issues on newer GCC versions: https://github.com/JJL772/source-sdk-2013

OzxyBox has a Source SDK repo which supports VS2022 which I referenced for help a few times. This CMake port is not NEARLY as extensive as the changes here: https://github.com/ozxybox/source-mp13-vs2022

source-sdk-2013-cmake's People

Contributors

spirrwell avatar joeludwig avatar jorgenpt avatar narendraumate avatar sortie avatar alanedwardes avatar bruced-valve avatar jstasiak avatar nephyrin avatar mikesartain avatar neico avatar psychonic avatar alfred-valve avatar plesiecki avatar

Stargazers

yehor avatar Armaturo avatar Mikael K. avatar Erin Sharp avatar Jeremy L. avatar Carl-Y avatar Devafler2019 avatar  avatar Jan avatar ENDERZOMBI102 avatar Agrimar avatar Krispy avatar Kiefer avatar Demez avatar InevitablyDivinity avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.