Skip to content
Jeffrey Carpenter edited this page Jul 25, 2015 · 5 revisions

Linking to nomlib from an application from a GNU or BSD Makefile:

# Source engine dependencies tree
NOMLIB_ROOT=${HOME}/Projects/nomlib.git/third-party/osx

# Destination engine installation prefix
NOMLIB_DEPS_PREFIX=${HOME}/Library/Frameworks

SRC=nomlib_project.cpp
OUTPUT_BINARY=nomlib_project

CFLAGS=-Wall -Wunused -Wno-unused-variable -O0
LDFLAGS=

NOMLIB_CFLAGS=-F${NOMLIB_DEPS_PREFIX} -I${NOMLIB_ROOT}/SDL2.framework/Headers
NOMLIB_LDFLAGS=-F${NOMLIB_DEPS_PREFIX} -framework nomlib-audio \
-framework nomlib-core -framework nomlib-file -framework nomlib-graphics \
-framework nomlib-math -framework nomlib-system
DEPS_RPATH=-rpath ${NOMLIB_DEPS_PREFIX} -rpath ${NOMLIB_ROOT}

all: nomlib_project

nomlib_project: ${SRC}
	/usr/bin/clang++ -std=c++11 -stdlib=libc++ ${CFLAGS} ${NOMLIB_CFLAGS} ${DEPS_RPATH} ${SRC} -o ${OUTPUT_BINARY} ${LDFLAGS} ${NOMLIB_LDFLAGS}

run: nomlib_project
	DYLD_FRAMEWORK_PATH=${NOMLIB_DEPS_PREFIX} ./${OUTPUT_BINARY}

An example of linking to nomlib from a CMake project:

  1. nomlib.git: nomlib-config.cmake
  2. ttcards.git: CMakeLists.txt

TODO: Create a minimal CMake project example from the ttcards repository