Browse Source

Initial project setup

master
Macoy Madson 6 years ago
parent
commit
aded61166f
  1. 25
      Jamfile
  2. 88
      Jamrules
  3. BIN
      bin/liveMusicMachine
  4. 7
      src/Main.cpp

25
Jamfile

@ -0,0 +1,25 @@
SubDir . ;
SubDirC++Flags $(ALLLIBSC++FLAGS) ;
if $(WINDOWS)
{
SUFEXE = .exe ;
}
Main liveMusicMachine : src/Main.cpp ;
MakeLocate liveMusicMachine : bin ;
#LinkLibraries liveMusicMachine : libBase20 ;
#
#if $(WINDOWS)
#{
# MakeLocate liveMusicMachine.exe : windowsBin ;
#}
#else
#{
# MakeLocate liveMusicMachine : bin ;
#}
#
#SubInclude . libs ;

88
Jamrules

@ -0,0 +1,88 @@
# Building Tests:
# jam clean
# jam -j4 -q
# Building Windows:
# jam clean
# jam -j4 -q -sWINDOWS=true
# (if building the same target repeatedly, don't clean, if that wasn't obvious)
##
## Compiler
##
CC = gcc ;
# GCC
#C++ = g++ ;
#LINK = g++ ;
# Clang
C++ = clang++ ;
LINK = clang++ ;
##
## Compiler arguments
##
## Argument explanation
#
# g = debug symbols
# -O0 = compile without optimizations for debugging
#
# -Wall -Wextra = Error detection/tolerance
# -Wno-unused-parameter = I should probably get rid of this at some point
# Arguments used on all projects, regardless of any variables
C++FLAGS = -std=c++11 -Wall -Wextra -Wno-unused-parameter ;
ALLLIBSC++FLAGS = -g ;
# Required arguments for linux
LINUXC++FLAGS = -g ;
# Required arguments for Windows
#WINDOWSC++FLAGS = -g -stdlib=libc++ -fPIC ;
#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-win32 ;
#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-w64-mingw32 ;
LINKLIBS = -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system ;
KEEPOBJS = true ; # This doesn't actually fix anything, though it seems like it should
NOARSCAN = true ; # This actually fixes the problem
#AR = ar rUu ; # I was thinking maybe the AR command was wrong (always outputting deterministically)
# It doesn't seem like this is the problem though
AR = ar cr ;
LINKFLAGS = -Wl,-rpath,. ;
WINDOWSC++FLAGS = -g -Iwin/SFML-2.4.0/include -lstdc++11 -std=c++11 ;
# ALLLIBSC++FLAGS should be used for all libraries which might be used by both tests and WINDOWS
if $(WINDOWS)
{
# C++ = x86_64-w64-mingw32-g++ ;
C++ = i686-w64-mingw32-g++ ;
ALLLIBSC++FLAGS = $(WINDOWSC++FLAGS) ;
# LINK = x86_64-w64-mingw32-g++ ;
LINK = i686-w64-mingw32-g++ ;
LINKLIBS = -Lwin/SFML-2.4.0/lib -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system ;
AR = i686-w64-mingw32-ar cr ;
}
else
{
ALLLIBSC++FLAGS = $(LINUXC++FLAGS) ;
}
OPTIM = -O0 ;
HDRS = libs/base2.0 ;
# Some helpful Jam commands
# -q : stop on failed target
# -jN : use N cores
# -sVAR=VAL : Set VAR to VAL. Note that setting WINDOWS=false is the same as setting UNREAL=true,
# frustratingly
# -dx : print commands being used
# -n : don't actually run commands

BIN
bin/liveMusicMachine

Binary file not shown.

7
src/Main.cpp

@ -0,0 +1,7 @@
#include <iostream>
int main()
{
std::cout << "Hello, world!\n";
return 0;
}
Loading…
Cancel
Save