C++11 2D game framework using SDL2
First, ensure that you have the following core dependencies installed:
- cmake v2.8.12+
- git
- doxygen v1.8.x and graphviz only if you want to generate developer documentation.
Next, you should visit the dependencies section for your platform. After these mundane chores are complete, you should be ready to start the building process for your platform!
git clone "https://github.com/i8degrees/nomlib.git" nomlib.git
mkdir build && cd buildAfter you have the dependencies taken care of, execute the following commands at your terminal prompt:
# XCode project files can be generated by passing -GXcode
cmake -DDEBUG=on -DDEBUG_ASSERT=on -DEXAMPLES=off -DNOM_BUILD_TESTS=on -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_INSTALL_PREFIX=~/Library/Frameworks ..
make
make test
make installUpon a successful build, you should have the library modules built as OS X framework bundles, installed wherever CMAKE_INSTALL_PREFIX was set to.
A Linux build is presently under way and can be tracked via the feature/LinuxPort git branch. Back in development years of nomlib, circa 2014, clang was not a viable build platform (yet!) for Linux. But, now in 2025, the switch over to has aided my porting work. I now have approximately 90% of the porting work completed.
- 2016
My current platform build options for the feature/LinuxPort branch
# 2016
cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DDEBUG=on -DDEBUG_ASSERT=on -DEXAMPLES=off -DNOM_BUILD_TESTS=on
# My current platform build options for the feature/LinuxPort branch
cmake -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DDEBUG=on -DDEBUG_ASSERT=on -DEXAMPLES=off -DNOM_BUILD_TESTS=on -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..
make
#make test
#make install2026Latest platform default build set
# 2026
cmake -S /mnt/fs1/Projects/nomlib.git -B /tmp/nom-debug \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DDEBUG=on -DDEBUG_ASSERT=on -DEXAMPLES=on -DNOM_BUILD_TESTS=on
#-DGTEST_ROOT= -DGTEST_INCLUDE_DIR= -DGTEST_LIBRARY=Until I get around to writing the proper instructions, you may take a look at my
.travis.yml build script in the project root of nomlib for hints!
NOTE: Alpha build quality. This has only been tested on MS Windows 7.
After you have the dependencies taken care of, execute the following commands at the DOS prompt:
git clone https://github.com/i8degrees/nomlib
cd nomlib
mkdir build && cd build
cmake -G"Visual Studio 12" -DARCH_32=on -DDEBUG=on -DDEBUG_ASSERT=on -DEXAMPLES=off -DNOM_BUILD_TESTS=on ..Upon a successful generation, you should have populated your current build directory with several Visual Studio project files -- nomlib.vcxproj is the top-level solution.
Build options are passed to cmake with the -D option. For example, to change the installation prefix:
cmake -D CMAKE_INSTALL_PREFIX=~/Library/Frameworks ..
-
Installation path: -D CMAKE_INSTALL_PREFIX=<DIRECTORY_PREFIX>
- Defaults to your current build directory
-
Documentation: -D DOCS=<BOOLEAN>
- Defaults to OFF
- When built (ON), the resulting documentation will reside in a new directory named docs
-
Examples: -D EXAMPLES=<BOOLEAN>
- Defaults to OFF
- When built (ON), the resulting binaries will reside in a new directory named examples
-
Debugging: -D DEBUG=<BOOLEAN> -D DEBUG_ASSERT=<BOOLEAN>
- Defaults to OFF
-
Universal binary: -D UNIVERSAL=<BOOLEAN>
- Defaults to OFF
Removal is provided by executing make uninstall within your current build directory.
IMPORTANT: If you are building multiple target types with the generated MSVCPP or Xcode project files, each of these targets must be kept in separate build directories!
Required OS X version: 10.7
See third-party/README.md for where to obtain pre-packaged libraries and how to install them.
Required version: Microsoft Windows Vista
NOTE: This has not been verified.
See third-party/README.md for where to obtain pre-packaged libraries and how to install them.
-
Microsoft Visual Studio Express 2013 for Windows
- Required software tools in your system PATH
- MSVSCPP -- <MSVSCPP_INSTALL_PATH>\bin
- CMake -- <CMAKE_INSTALL_PATH>\bin
- Git -- <GIT_INSTALL_PATH>\bin
- Required software tools in your system PATH
If this is your first time installing the tools, you might be happy to know that the official installers can do this task for you automatically.
