aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/src
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2009-05-08 15:56:46 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2009-05-08 15:56:46 +0000
commitca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d (patch)
tree67dbd5fd1b29f912cd1638f505070d88774a5aa5 /cmake/src
parentf44a93685ae651a08b51a2688a1c8d4c9ae2d28e (diff)
downloadusdx-ca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d.tar.gz
usdx-ca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d.tar.xz
usdx-ca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d.zip
initial cmake support (let's see if this is better suited than autoconf)
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1717 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'cmake/src')
-rw-r--r--cmake/src/CMakeLists.txt52
-rw-r--r--cmake/src/Makefile.in252
-rw-r--r--cmake/src/base/UConfig.pas8
-rw-r--r--cmake/src/config.inc.in26
-rw-r--r--cmake/src/lib/CMakeLists.txt16
-rw-r--r--cmake/src/lib/FreeImage/CMakeLists.txt3
-rw-r--r--cmake/src/lib/JEDI-SDL/CMakeLists.txt3
-rw-r--r--cmake/src/lib/JEDI-SDL/OpenGL/CMakeLists.txt3
-rw-r--r--cmake/src/lib/JEDI-SDL/SDL/CMakeLists.txt4
-rw-r--r--cmake/src/lib/JEDI-SDL/SDL_Image/CMakeLists.txt3
-rw-r--r--cmake/src/lib/SQLite/CMakeLists.txt3
-rw-r--r--cmake/src/lib/bass/CMakeLists.txt3
-rw-r--r--cmake/src/lib/collections/CMakeLists.txt3
-rw-r--r--cmake/src/lib/ctypes/CMakeLists.txt3
-rw-r--r--cmake/src/lib/ffmpeg/CMakeLists.txt3
-rw-r--r--cmake/src/lib/fft/CMakeLists.txt3
-rw-r--r--cmake/src/lib/freetype/CMakeLists.txt3
-rw-r--r--cmake/src/lib/libpng/CMakeLists.txt3
-rw-r--r--cmake/src/lib/midi/CMakeLists.txt3
-rw-r--r--cmake/src/lib/portaudio/CMakeLists.txt3
-rw-r--r--cmake/src/lib/portmixer/CMakeLists.txt3
-rw-r--r--cmake/src/lib/projectM/CMakeLists.txt6
-rw-r--r--cmake/src/lib/projectM/cwrapper/CMakeLists.txt11
-rw-r--r--cmake/src/lib/projectM/cwrapper/Makefile.in41
-rw-r--r--cmake/src/lib/projectM/cwrapper/projectM-cwrapper.sln20
-rw-r--r--cmake/src/lib/projectM/cwrapper/projectM-cwrapper.vcproj208
-rw-r--r--cmake/src/lib/samplerate/CMakeLists.txt3
-rw-r--r--cmake/src/lib/zlib/CMakeLists.txt3
28 files changed, 157 insertions, 538 deletions
diff --git a/cmake/src/CMakeLists.txt b/cmake/src/CMakeLists.txt
new file mode 100644
index 00000000..5e8ee7f9
--- /dev/null
+++ b/cmake/src/CMakeLists.txt
@@ -0,0 +1,52 @@
+add_subdirectory(lib)
+
+##
+# CONFIGURATION
+##
+
+include(ConfigurePasFile)
+configure_pas_file(${CMAKE_CURRENT_SOURCE_DIR}/config.inc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/config-${FPC_PLATFORM}.inc)
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/paths.inc
+ "INSTALL_DATADIR = '/usr/local/share/ultrastardx';")
+
+##
+# BUILD
+##
+
+#if(DELPHI)
+# PACKAGES ctypes bass midi
+#endif(DELPHI)
+
+set(depends)
+if(libprojectM_USE_CWRAPPER)
+ list(APPEND depends projectM-cwrapper)
+endif(libprojectM_USE_CWRAPPER)
+
+pascal_add_module(ultrastardx ultrastardx.dpr
+# FLAGS -vut
+ UNITS
+ base/*.pas
+ menu/*.pas
+ screens/*.pas
+ media/*.pas
+ lib/other/*.pas
+ ../plugins/SDK/*.pas
+ INCLUDES
+ ${CMAKE_CURRENT_BINARY_DIR}/config-${FPC_PLATFORM}.inc
+ ${CMAKE_CURRENT_BINARY_DIR}/paths.inc
+ PACKAGES
+ collections
+ ffmpeg
+ fft
+ freetype
+ sdl sdl_image opengl
+ portaudio portmixer
+ projectm
+ png
+ samplerate
+ sqlite3
+ zlib
+ DEPENDS ${depends}
+)
diff --git a/cmake/src/Makefile.in b/cmake/src/Makefile.in
deleted file mode 100644
index 3d4b6def..00000000
--- a/cmake/src/Makefile.in
+++ /dev/null
@@ -1,252 +0,0 @@
-#################################################
-# @PACKAGE_STRING@
-# @configure_input@
-#################################################
-
-@SET_MAKE@
-SHELL = /bin/sh
-
-#################################################
-# Standard definitions
-#################################################
-
-prefix ?= @prefix@
-exec_prefix ?= @exec_prefix@
-datarootdir ?= @datarootdir@
-datadir ?= @datadir@
-# project root-dir (directory of configure script)
-top_srcdir ?= @top_srcdir@
-# project src-dir (directory of the current Makefile)
-srcdir ?= @srcdir@
-
-# file-type suffix of executables (e.g. ".exe" in windows)
-EXEEXT ?= @EXEEXT@
-
-#################################################
-# Tools
-#################################################
-
-# recursive dir creation tool (mkdir -p)
-MKDIR ?= @MKDIR_P@
-RM ?= rm -f
-RM_REC ?= $(RM) -r
-
-#################################################
-# General package configuration
-#################################################
-
-USDX_PACKAGE_NAME := @PACKAGE_NAME@
-USDX_VERSION := @PACKAGE_VERSION@
-USDX_TARNAME := @PACKAGE_TARNAME@
-
-#################################################
-# USDX Paths
-#################################################
-
-USDX_SRC_DIR := $(top_srcdir)/src
-USDX_GAME_DIR := $(top_srcdir)/game
-USDX_TOOLS_DIR := $(top_srcdir)/tools
-USDX_BUILD_DIR := $(top_srcdir)/build
-USDX_LIB_DIR := $(USDX_SRC_DIR)/lib
-
-INSTALL_DATADIR := $(datadir)/$(USDX_PACKAGE_NAME)
-
-#################################################
-# FPC config
-#################################################
-
-# Free Pascal compiler binary
-PPC := @PPC@
-# FPC target platform and processor
-PPLATFORM := @FPC_PLATFORM@
-PPROCESSOR := @FPC_PROCESSOR@
-
-# Directories added to the unit path
-PUNIT_FLAGS := -Fu.
-
-# Directory where compiled units (.ppu and .o files) are stored
-PCUNIT_DIR := $(USDX_BUILD_DIR)/fpc-$(PPROCESSOR)-$(PPLATFORM)
-PCUNIT_FLAGS := -FU$(PCUNIT_DIR)
-
-# Directories added to the includes path
-PINC_FLAGS := -Fi$(USDX_LIB_DIR)/JEDI-SDL/SDL/Pas
-
-##
-# PFLAGS
-##
-
-# Defined on debug mode
-ENABLE_DEBUG := @ENABLE_DEBUG@
-
-# Note:
-# - PFLAGS/PFLAGS_* defaults to $(PFLAGS_XYZ_DEFAULT) if not set by the user
-# - if PFLAGS is defined, PFLAGS_* will be ignored on "make all"
-PFLAGS ?= @PFLAGS@
-PFLAGS_BASE ?= @PFLAGS_BASE@
-PFLAGS_DEBUG ?= @PFLAGS_DEBUG@
-PFLAGS_RELEASE ?= @PFLAGS_RELEASE@
-
-# Do not overwrite, just add extra flags
-PFLAGS_EXTRA += @PFLAGS_EXTRA@
-
-# Default PFLAGS, used if PFLAGS/PFLAGS_* was not set by the user
-# - Do not use -dDEBUG because it will enable unwanted features
-# - Do not strip executable (-Xs, set by fpc.cfg) to be GNU make conformant
-# - Use DEBUG_MODE instead of DEBUG to avoid enabling the fpc.cfg DEBUG preset
-# - The flag -vB appends the full path to filenames
-# - Note that fpc.cfg already defines -vinw, so add -v0 first
-# - The stack check (-Ct) might not work with enabled threading
-# - Do we need -Coi?
-PFLAGS_BASE_DEFAULT := -Si -Sg- -Sc- -v0Binwe
-PFLAGS_DEBUG_DEFAULT := -Xs- -g -gl -dDEBUG_MODE
-PFLAGS_RELEASE_DEFAULT := -Xs- -O2
-PFLAGS_EXTRA_DEFAULT :=
-
-# Debug/Release mode flags
-# Note that flags will overwrite previously specified flags,
-# e.g. "-vinwe -vi-" is the same as "-vnwe"
-PFLAGS_DEBUG_ALL := $(PFLAGS_BASE) $(PFLAGS_DEBUG) $(PFLAGS_EXTRA)
-PFLAGS_RELEASE_ALL := $(PFLAGS_BASE) $(PFLAGS_RELEASE) $(PFLAGS_EXTRA)
-
-# Choose default PFLAGS, depending on debug mode.
-# Only used if PFLAGS was not set by the user.
-ifdef ENABLE_DEBUG
-PFLAGS_DEFAULT := $(PFLAGS_DEBUG_ALL)
-else
-PFLAGS_DEFAULT := $(PFLAGS_RELEASE_ALL)
-endif
-
-###
-# linker and library settings
-###
-
-LIBS ?= @LIBS@
-LDFLAGS ?= @LDFLAGS@
-linkflags := $(sort $(LDFLAGS) $(LIBS))
-ifneq ($(linkflags),)
-PLINKFLAGS := -k"$(linkflags)"
-endif
-
-PFLAGS_ALL = $(PFLAGS) $(PDEFINES) $(PLINKFLAGS) $(PINC_FLAGS) $(PUNIT_FLAGS) $(PCUNIT_FLAGS)
-
-#################################################
-# USDX project config
-#################################################
-
-# dpr project file used as input
-USDX_PROJ := ultrastardx.dpr
-# name of executable
-USDX_BIN_NAME ?= ultrastardx$(EXEEXT)
-USDX_BIN := $(USDX_GAME_DIR)/$(USDX_BIN_NAME)
-
-#################################################
-# ProjectM
-#################################################
-
-PROJECTM_CWRAPPER_DIR := $(USDX_LIB_DIR)/projectM/cwrapper
-PROJECTM_CWRAPPER_LIB := $(PROJECTM_CWRAPPER_DIR)/libprojectM-cwrapper.a
-USE_PROJECTM_CWRAPPER := @USE_PROJECTM_CWRAPPER@
-
-#################################################
-# Static libs
-#################################################
-
-STATIC_LIBS :=
-ifeq ($(USE_PROJECTM_CWRAPPER), yes)
-STATIC_LIBS += $(PROJECTM_CWRAPPER_LIB)
-endif
-
-#################################################
-# general targets
-#################################################
-
-.PHONY: all
-all: build
-
-# One shot debug build (always rebuild)
-# Note: we cannot set PFLAGS and call build directly,
-# as target specific flags are not passed at recursive
-# make calls. So call debug-build first.
-.PHONY: debug debug-build
-debug: clean_obj
- $(MAKE) debug-build
-
-debug-build: PFLAGS := $(PFLAGS_DEBUG_ALL)
-debug-build: build
-
-# One shot release build (always rebuild)
-# Note: we cannot set PFLAGS and call build directly,
-# as target specific flags are not passed at recursive
-# make calls. So call release-build first.
-.PHONY: release release-build
-release: clean_obj
- $(MAKE) release-build
-
-release-build: PFLAGS := $(PFLAGS_RELEASE_ALL)
-release-build: build
-
-# Always rebuild, even if no file changed.
-.PHONY: rebuild
-rebuild: clean_obj
- $(MAKE) build
-
-# Build if files changed. Always clean old data before compiling.
-# FPC does not reliably recognize changes, neither in .pas,
-# .inc-files nor static libs (.a/.o). This might result in corrupted
-# builds and renders debugging difficult (because FPC uses outdated
-# .ppu/.o data of files that have been changed).
-.PHONY: build
-build: $(USDX_BIN)
-
-#################################################
-# build
-#################################################
-
-SRC_FILES = $(shell find $(srcdir) -name "*.inc" -o -name "*.pas" -o -name "*.pp")
-
-# To conform to the GNU Coding Standards, INSTALL_DATADIR is
-# not hardcoded so $prefix and $datadir can be changed at any
-# execution of this Makefile.
-# Paths cannot be passed to fpc via -d as with gcc's -D parameter.
-# We use an intermediate file instead.
-#
-# See [info autoconf], "19.5 How Do I `#define' Installation Directories?"
-#
-# Do NOT use paths.inc as target name as it is in the requisite list
-# of $(USDX_BIN).
-.PHONY: create-pathinfo
-create-pathinfo:
- echo "INSTALL_DATADIR = '$(INSTALL_DATADIR)';" > paths.inc
-
-# check if any src-file changed and rebuild
-$(USDX_BIN): $(USDX_PROJ) $(STATIC_LIBS) $(SRC_FILES)
- @echo "==================================="
- @echo "Changed files:"
- @echo "$?"
- @echo "==================================="
- @echo "-----------------------------------"
- @echo "Clean old object data..."
-
- $(MAKE) clean_obj
-
- @echo "-----------------------------------"
-
- $(MKDIR) "$(PCUNIT_DIR)"
- $(MAKE) create-pathinfo
- $(PPC) $(strip $(PFLAGS_ALL)) -o$@ $(USDX_PROJ)
-
-#################################################
-# clean-up
-#################################################
-
-.PHONY: clean
-clean: clean_obj
- $(RM) paths.inc
-
-.PHONY: clean_obj
-clean_obj: clean_bin
- $(RM_REC) "$(PCUNIT_DIR)"
-
-.PHONY: clean_bin
-clean_bin:
- $(RM) "$(USDX_BIN)"
diff --git a/cmake/src/base/UConfig.pas b/cmake/src/base/UConfig.pas
index cb663e2d..dfb51d54 100644
--- a/cmake/src/base/UConfig.pas
+++ b/cmake/src/base/UConfig.pas
@@ -107,13 +107,13 @@ const
// include config-file (defines + constants)
{$IF Defined(MSWindows)}
- {$I ../config-win.inc}
+ {$I config-win.inc}
{$ELSEIF Defined(Linux)}
- {$I ../config-linux.inc}
+ {$I config-linux.inc}
{$ELSEIF Defined(FreeBSD)}
- {$I ../config-freebsd.inc}
+ {$I config-freebsd.inc}
{$ELSEIF Defined(Darwin)}
- {$I ../config-darwin.inc}
+ {$I config-darwin.inc}
{$ELSE}
{$MESSAGE Fatal 'Unknown OS'}
{$IFEND}
diff --git a/cmake/src/config.inc.in b/cmake/src/config.inc.in
index 004f8413..b955aa2c 100644
--- a/cmake/src/config.inc.in
+++ b/cmake/src/config.inc.in
@@ -1,50 +1,50 @@
{*****************************************************************
- * Configuration file for @PACKAGE_STRING@
- * @configure_input@
+ * Configuration file for @PROJECT_NAME@
+ * config-linux.inc. Generated from config.inc.in by CMake.
*****************************************************************}
{* Libraries *}
-{$@DEFINE_HAVE_FFMPEG@ HaveFFmpeg}
+{$CMAKEDEFINE(ffmpeg_FOUND) HaveFFmpeg}
{$IF Defined(HaveFFmpeg) and Defined(IncludeConstants)}
av__codec = 'libavcodec';
LIBAVCODEC_VERSION_MAJOR = @libavcodec_VERSION_MAJOR@;
LIBAVCODEC_VERSION_MINOR = @libavcodec_VERSION_MINOR@;
- LIBAVCODEC_VERSION_RELEASE = @libavcodec_VERSION_RELEASE@;
+ LIBAVCODEC_VERSION_RELEASE = @libavcodec_VERSION_PATCH@;
av__format = 'libavformat';
LIBAVFORMAT_VERSION_MAJOR = @libavformat_VERSION_MAJOR@;
LIBAVFORMAT_VERSION_MINOR = @libavformat_VERSION_MINOR@;
- LIBAVFORMAT_VERSION_RELEASE = @libavformat_VERSION_RELEASE@;
+ LIBAVFORMAT_VERSION_RELEASE = @libavformat_VERSION_PATCH@;
av__util = 'libavutil';
LIBAVUTIL_VERSION_MAJOR = @libavutil_VERSION_MAJOR@;
LIBAVUTIL_VERSION_MINOR = @libavutil_VERSION_MINOR@;
- LIBAVUTIL_VERSION_RELEASE = @libavutil_VERSION_RELEASE@;
+ LIBAVUTIL_VERSION_RELEASE = @libavutil_VERSION_PATCH@;
{$IFEND}
-{$@DEFINE_HAVE_SWSCALE@ HaveSWScale}
+{$CMAKEDEFINE(libswscale_FOUND) HaveSWScale}
{$IF Defined(HaveSWScale) and Defined(IncludeConstants)}
sw__scale = 'libswscale';
LIBSWSCALE_VERSION_MAJOR = @libswscale_VERSION_MAJOR@;
LIBSWSCALE_VERSION_MINOR = @libswscale_VERSION_MINOR@;
- LIBSWSCALE_VERSION_RELEASE = @libswscale_VERSION_RELEASE@;
+ LIBSWSCALE_VERSION_RELEASE = @libswscale_VERSION_PATCH@;
{$IFEND}
-{$@DEFINE_HAVE_PROJECTM@ HaveProjectM}
+{$CMAKEDEFINE(libprojectM_FOUND) HaveProjectM}
{$IF Defined(HaveProjectM) and Defined(IncludeConstants)}
ProjectM_DataDir = '@libprojectM_DATADIR@';
PROJECTM_VERSION_MAJOR = @libprojectM_VERSION_MAJOR@;
PROJECTM_VERSION_MINOR = @libprojectM_VERSION_MINOR@;
- PROJECTM_VERSION_RELEASE = @libprojectM_VERSION_RELEASE@;
+ PROJECTM_VERSION_RELEASE = @libprojectM_VERSION_PATCH@;
{$IFEND}
-{$@DEFINE_HAVE_PORTAUDIO@ HavePortaudio}
+{$CMAKEDEFINE(portaudio_FOUND) HavePortaudio}
{$IF Defined(HavePortaudio) and Defined(IncludeConstants)}
PORTAUDIO_VERSION_MAJOR = @portaudio_VERSION_MAJOR@;
PORTAUDIO_VERSION_MINOR = @portaudio_VERSION_MINOR@;
- PORTAUDIO_VERSION_RELEASE = @portaudio_VERSION_RELEASE@;
+ PORTAUDIO_VERSION_RELEASE = @portaudio_VERSION_PATCH@;
{$IFEND}
-{$@DEFINE_HAVE_PORTMIXER@ HavePortmixer}
+{$CMAKEDEFINE(portmixer_FOUND) HavePortmixer}
diff --git a/cmake/src/lib/CMakeLists.txt b/cmake/src/lib/CMakeLists.txt
new file mode 100644
index 00000000..1136fd8f
--- /dev/null
+++ b/cmake/src/lib/CMakeLists.txt
@@ -0,0 +1,16 @@
+add_subdirectory(bass)
+add_subdirectory(collections)
+add_subdirectory(ctypes)
+add_subdirectory(ffmpeg)
+add_subdirectory(fft)
+add_subdirectory(FreeImage)
+add_subdirectory(freetype)
+add_subdirectory(JEDI-SDL)
+add_subdirectory(libpng)
+add_subdirectory(midi)
+add_subdirectory(portaudio)
+add_subdirectory(portmixer)
+add_subdirectory(projectM)
+add_subdirectory(samplerate)
+add_subdirectory(SQLite)
+add_subdirectory(zlib)
diff --git a/cmake/src/lib/FreeImage/CMakeLists.txt b/cmake/src/lib/FreeImage/CMakeLists.txt
new file mode 100644
index 00000000..873880f6
--- /dev/null
+++ b/cmake/src/lib/FreeImage/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(freeimage
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/JEDI-SDL/CMakeLists.txt b/cmake/src/lib/JEDI-SDL/CMakeLists.txt
new file mode 100644
index 00000000..1b5bfdc9
--- /dev/null
+++ b/cmake/src/lib/JEDI-SDL/CMakeLists.txt
@@ -0,0 +1,3 @@
+add_subdirectory(SDL)
+add_subdirectory(SDL_Image)
+add_subdirectory(OpenGL)
diff --git a/cmake/src/lib/JEDI-SDL/OpenGL/CMakeLists.txt b/cmake/src/lib/JEDI-SDL/OpenGL/CMakeLists.txt
new file mode 100644
index 00000000..2b33cdcf
--- /dev/null
+++ b/cmake/src/lib/JEDI-SDL/OpenGL/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(opengl
+ UNITS Pas/*.pas
+)
diff --git a/cmake/src/lib/JEDI-SDL/SDL/CMakeLists.txt b/cmake/src/lib/JEDI-SDL/SDL/CMakeLists.txt
new file mode 100644
index 00000000..8bd0ae65
--- /dev/null
+++ b/cmake/src/lib/JEDI-SDL/SDL/CMakeLists.txt
@@ -0,0 +1,4 @@
+pascal_add_package(sdl
+ UNITS Pas/*.pas
+ INCLUDES Pas/*.inc
+)
diff --git a/cmake/src/lib/JEDI-SDL/SDL_Image/CMakeLists.txt b/cmake/src/lib/JEDI-SDL/SDL_Image/CMakeLists.txt
new file mode 100644
index 00000000..fb34d8ce
--- /dev/null
+++ b/cmake/src/lib/JEDI-SDL/SDL_Image/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(sdl_image
+ UNITS Pas/*.pas
+)
diff --git a/cmake/src/lib/SQLite/CMakeLists.txt b/cmake/src/lib/SQLite/CMakeLists.txt
new file mode 100644
index 00000000..4a4378b3
--- /dev/null
+++ b/cmake/src/lib/SQLite/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(sqlite3
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/bass/CMakeLists.txt b/cmake/src/lib/bass/CMakeLists.txt
new file mode 100644
index 00000000..c55d0629
--- /dev/null
+++ b/cmake/src/lib/bass/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(bass
+ UNITS delphi/*.pas
+)
diff --git a/cmake/src/lib/collections/CMakeLists.txt b/cmake/src/lib/collections/CMakeLists.txt
new file mode 100644
index 00000000..02480e70
--- /dev/null
+++ b/cmake/src/lib/collections/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(collections
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/ctypes/CMakeLists.txt b/cmake/src/lib/ctypes/CMakeLists.txt
new file mode 100644
index 00000000..64827ee2
--- /dev/null
+++ b/cmake/src/lib/ctypes/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(ctypes
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/ffmpeg/CMakeLists.txt b/cmake/src/lib/ffmpeg/CMakeLists.txt
new file mode 100644
index 00000000..0db265ca
--- /dev/null
+++ b/cmake/src/lib/ffmpeg/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(ffmpeg
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/fft/CMakeLists.txt b/cmake/src/lib/fft/CMakeLists.txt
new file mode 100644
index 00000000..f38808c8
--- /dev/null
+++ b/cmake/src/lib/fft/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(fft
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/freetype/CMakeLists.txt b/cmake/src/lib/freetype/CMakeLists.txt
new file mode 100644
index 00000000..772834f4
--- /dev/null
+++ b/cmake/src/lib/freetype/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(freetype
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/libpng/CMakeLists.txt b/cmake/src/lib/libpng/CMakeLists.txt
new file mode 100644
index 00000000..9e5aaf52
--- /dev/null
+++ b/cmake/src/lib/libpng/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(png
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/midi/CMakeLists.txt b/cmake/src/lib/midi/CMakeLists.txt
new file mode 100644
index 00000000..f3265e44
--- /dev/null
+++ b/cmake/src/lib/midi/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(midi
+ UNITS *.pas *.PAS
+)
diff --git a/cmake/src/lib/portaudio/CMakeLists.txt b/cmake/src/lib/portaudio/CMakeLists.txt
new file mode 100644
index 00000000..3e18119b
--- /dev/null
+++ b/cmake/src/lib/portaudio/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(portaudio
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/portmixer/CMakeLists.txt b/cmake/src/lib/portmixer/CMakeLists.txt
new file mode 100644
index 00000000..74a4b437
--- /dev/null
+++ b/cmake/src/lib/portmixer/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(portmixer
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/projectM/CMakeLists.txt b/cmake/src/lib/projectM/CMakeLists.txt
new file mode 100644
index 00000000..3598d0b5
--- /dev/null
+++ b/cmake/src/lib/projectM/CMakeLists.txt
@@ -0,0 +1,6 @@
+pascal_add_package(projectm
+ UNITS *.pas
+ INCLUDES *.inc
+ OBJECT_DIRS ${CMAKE_CURRENT_BINARY_DIR}
+)
+add_subdirectory(cwrapper)
diff --git a/cmake/src/lib/projectM/cwrapper/CMakeLists.txt b/cmake/src/lib/projectM/cwrapper/CMakeLists.txt
new file mode 100644
index 00000000..90880cd8
--- /dev/null
+++ b/cmake/src/lib/projectM/cwrapper/CMakeLists.txt
@@ -0,0 +1,11 @@
+if(libprojectM_USE_CWRAPPER)
+ include_directories(${libprojectM_INCLUDEDIR}/libprojectM)
+ add_definitions(-DPROJECTM_VERSION_INT=${libprojectM_VERSION_INT})
+
+ set(projectm_cwrapper_srcs projectM-cwrapper.cpp)
+ if(WIN32)
+ add_library(projectM-cwrapper SHARED ${projectm_cwrapper_srcs})
+ else(WIN32)
+ add_library(projectM-cwrapper STATIC ${projectm_cwrapper_srcs})
+ endif(WIN32)
+endif(libprojectM_USE_CWRAPPER)
diff --git a/cmake/src/lib/projectM/cwrapper/Makefile.in b/cmake/src/lib/projectM/cwrapper/Makefile.in
deleted file mode 100644
index fef3b80b..00000000
--- a/cmake/src/lib/projectM/cwrapper/Makefile.in
+++ /dev/null
@@ -1,41 +0,0 @@
-#################################################
-# projectM C-wrapper
-# @configure_input@
-#################################################
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-
-OBJECTS = projectM-cwrapper.o
-LIBRARY = libprojectM-cwrapper.a
-
-CXX = @CXX@
-CXXFLAGS += @CXXFLAGS@
-INCLUDES = -I@libprojectM_INCLUDEDIR@/libprojectM
-DEFINES = -DPROJECTM_VERSION_INT=@libprojectM_VERSION_INT@
-RANLIB = @RANLIB@
-
-.PHONY: all clean distclean strip
-
-all : $(LIBRARY)
-
-$(LIBRARY): $(OBJECTS)
- ar ruv $(LIBRARY) $(OBJECTS)
- $(RANLIB) $(LIBRARY)
-
-%.o : %.cpp
- $(CXX) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -c $(<) -o $@
-
-clean :
- rm -f $(LIBRARY)
- rm -f $(OBJECTS)
-
-distclean: clean
- rm -rf Makefile
-
-strip :
- strip $(LIBRARY)
- $(RANLIB) $(LIBRARY)
-
diff --git a/cmake/src/lib/projectM/cwrapper/projectM-cwrapper.sln b/cmake/src/lib/projectM/cwrapper/projectM-cwrapper.sln
deleted file mode 100644
index e05f79a3..00000000
--- a/cmake/src/lib/projectM/cwrapper/projectM-cwrapper.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectM-cwrapper", "projectM-cwrapper.vcproj", "{8E653284-12F3-4A90-9D0D-4195557051F7}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {8E653284-12F3-4A90-9D0D-4195557051F7}.Debug|Win32.ActiveCfg = Debug|Win32
- {8E653284-12F3-4A90-9D0D-4195557051F7}.Debug|Win32.Build.0 = Debug|Win32
- {8E653284-12F3-4A90-9D0D-4195557051F7}.Release|Win32.ActiveCfg = Release|Win32
- {8E653284-12F3-4A90-9D0D-4195557051F7}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/cmake/src/lib/projectM/cwrapper/projectM-cwrapper.vcproj b/cmake/src/lib/projectM/cwrapper/projectM-cwrapper.vcproj
deleted file mode 100644
index 94e848d7..00000000
--- a/cmake/src/lib/projectM/cwrapper/projectM-cwrapper.vcproj
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="projectM-cwrapper"
- ProjectGUID="{8E653284-12F3-4A90-9D0D-4195557051F7}"
- RootNamespace="projectMcwrapper"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;D:\daten\ultrastar\libprojectM\libprojectM-1.2.0\projectM&quot;;&quot;D:\daten\ultrastar\libprojectM\libs\pthreads\Pre-built.2\include&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PROJECTMCWRAPPER_EXPORTS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libprojectM.lib"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;D:\daten\ultrastar\libprojectM\libprojectM-1.2.0\projectM\Debug&quot;"
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;D:\daten\ultrastar\libprojectM\libprojectM-1.2.0\projectM&quot;;&quot;D:\daten\ultrastar\libprojectM\libs\pthreads\Pre-built.2\include&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PROJECTMCWRAPPER_EXPORTS"
- ExceptionHandling="1"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libprojectM.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;D:\daten\ultrastar\libprojectM\libprojectM-1.2.0\projectM\Release&quot;"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Quelldateien"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\projectM-cwrapper.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Headerdateien"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\projectM-cwrapper.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Ressourcendateien"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/cmake/src/lib/samplerate/CMakeLists.txt b/cmake/src/lib/samplerate/CMakeLists.txt
new file mode 100644
index 00000000..adea4fe1
--- /dev/null
+++ b/cmake/src/lib/samplerate/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(samplerate
+ UNITS *.pas
+)
diff --git a/cmake/src/lib/zlib/CMakeLists.txt b/cmake/src/lib/zlib/CMakeLists.txt
new file mode 100644
index 00000000..66b42b7e
--- /dev/null
+++ b/cmake/src/lib/zlib/CMakeLists.txt
@@ -0,0 +1,3 @@
+pascal_add_package(zlib
+ UNITS *.pas
+)