diff --git a/.gitignore b/.gitignore index e266685966..86b550efbc 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ project.xcworkspace *.lo *.la *.a +projectM-*.tar.gz .deps/ .libs/ Makefile diff --git a/.travis.yml b/.travis.yml index 99dc997155..df91fbf8fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,18 @@ before_script: ./autogen.sh before_install: - eval "${MATRIX_EVAL}" -script: ./configure && make -j8 +script: + - ./configure --prefix=$PWD/local && make -j8 && make install # build from checkoout + - make dist && tar -zxf projectM-*.tar.gz && cd projectM-* && ./configure --prefix=$PWD/local && make -j8 && make install # build from dist\ + - echo "PWD $PWD" + - ls . + - test -e src/projectM-sdl/projectMSDL + - test -e src/libprojectM/libprojectM.la + - test -e local/share/projectM/fonts/Vera.ttf + - test -e local/share/projectM/shaders/blur.cg + - test -d local/share/projectM/presets + - test -e local/lib/libprojectM.la + - test -e local/include/projectM.hpp # test on GCC and Clang matrix: diff --git a/Makefile.am b/Makefile.am index 8d0d22ebcd..6e1f9d416a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,13 +1,21 @@ SUBDIRS=src -EXTRA_DIST=README.md AUTHORS.txt +PRESETSDIR = presets +EXTRA_DIST=README.md AUTHORS.txt presets fonts src/libprojectM/Renderer/blur.cg src/libprojectM/Renderer/projectM.cg $(PRESETSDIR) CLEANFILES= -pm_data_dir = @datarootdir@ +# aka /usr/local/share/projectM +pm_data_dir = $(pkgdatadir) pm_font_dir = $(pm_data_dir)/fonts pm_presets_dir = $(pm_data_dir)/presets pm_shaders_dir = $(pm_data_dir)/shaders -pm_font__DATA = fonts -pm_presets__DATA = presets +# files to install +pm_data__DATA = src/libprojectM/config.inp +pm_font__DATA = fonts/Vera.ttf fonts/VeraMono.ttf pm_shaders__DATA = src/libprojectM/Renderer/blur.cg \ - src/libprojectM/Renderer/projectM.cg + src/libprojectM/Renderer/projectM.cg + +# find and install all preset files +install-data-local: + test -z $(pkgdatadir) || $(MKDIR_P) $(pm_presets_dir) + find "$(PRESETSDIR)" -type f -exec $(INSTALL_DATA) {} $(pm_presets_dir) \; diff --git a/README.md b/README.md index f4e3904577..f51c3c44b8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Build Status](https://travis-ci.org/projectM-visualizer/projectm.svg?branch=master)](https://travis-ci.org/projectM-visualizer/projectm) + ![Logo](https://github.com/projectM-visualizer/projectm/raw/master/web/logo.png) ## projectM - The most advanced open-source music visualizer @@ -87,6 +89,7 @@ We're on IRC at irc.freenode.net #projectM ## Authors [Authors](https://github.com/projectM-visualizer/projectm/raw/master/AUTHORS.txt) + If you would like to help improve this project, either with documentation, code, porting, hardware or anything else please let us know! We gladly accept pull requests and issues. ## License diff --git a/configure.ac b/configure.ac index 17657fb5ad..ef9088a2d3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_INIT([projectM], [2.0.0], [mischa@mvstg.biz], [projectM], [https://github.com/revmischa/projectm]) -AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) +AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects tar-pax]) m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) LT_INIT diff --git a/src/libprojectM/Makefile.am b/src/libprojectM/Makefile.am index b05974498d..fde2cb55cc 100644 --- a/src/libprojectM/Makefile.am +++ b/src/libprojectM/Makefile.am @@ -12,7 +12,6 @@ AM_CPPFLAGS = \ # system headers/libraries/data to install include_HEADERS = projectM.hpp lib_LTLIBRARIES = libprojectM.la # public, possibly-shared library -dist_pkgdata_DATA = config.inp # link flags libprojectM_la_LDFLAGS = -no-undefined -version-info 0:2:0 @@ -24,9 +23,28 @@ $(top_srcdir)/src/libprojectM/NativePresetFactory/libNativePresetFactory.la \ $(top_srcdir)/src/libprojectM/Renderer/libRenderer.la libprojectM_la_SOURCES = ConfigFile.cpp Preset.cpp PresetLoader.cpp timer.cpp \ KeyHandler.cpp PresetChooser.cpp TimeKeeper.cpp PCM.cpp PresetFactory.cpp \ - fftsg.cpp wipemalloc.cpp PipelineMerger.cpp PresetFactoryManager.cpp projectM.cpp + fftsg.cpp wipemalloc.cpp PipelineMerger.cpp PresetFactoryManager.cpp projectM.cpp \ + Common.hpp PipelineMerger.hpp PresetLoader.hpp\ + HungarianMethod.hpp Preset.hpp RandomNumberGenerators.hpp\ + IdleTextures.hpp PresetChooser.hpp TimeKeeper.hpp\ + KeyHandler.hpp PresetFactory.hpp projectM.hpp\ + PCM.hpp PresetFactoryManager.hpp\ + projectM.hpp \ + ConfigFile.h glew.h\ + carbontoprojectM.h glxew.h\ + cocoatoprojectM.h lvtoprojectM.h\ + dlldefs.h resource.h\ + event.h sdltoprojectM.h\ + fatal.h timer.h\ + fftsg.h win32-dirent.h\ + glError.h wipemalloc.h\ + omptl/omptl_numeric_extentions_ser.h\ + omptl/omptl_algorithm_par.h omptl/omptl_numeric_par.h\ + omptl/omptl_algorithm_ser.h omptl/omptl_numeric_ser.h\ + omptl/omptl_numeric_extentions.h omptl/omptl_tools.h\ + omptl/omptl_numeric_extentions_par.h omptl/omptl omptl/omptl_numeric\ + omptl/omptl_algorithm -pkginclude_HEADERS = projectM.hpp pkgconfigdir = $(libdir)/pkgconfig # pkgconfig_DATA = src/libprojectM.pc # EXTRA_DIST += src/libprojectM.pc.in diff --git a/src/libprojectM/MilkdropPresetFactory/Makefile.am b/src/libprojectM/MilkdropPresetFactory/Makefile.am index 495c94f86b..57d7c98875 100644 --- a/src/libprojectM/MilkdropPresetFactory/Makefile.am +++ b/src/libprojectM/MilkdropPresetFactory/Makefile.am @@ -5,7 +5,15 @@ BuiltinFuncs.cpp Func.cpp BuiltinParams.cpp IdlePreset.cpp Parser.cpp \ InitCond.cpp PerFrameEqn.cpp CustomShape.cpp \ PerPixelEqn.cpp CustomWave.cpp MilkdropPreset.cpp PerPointEqn.cpp \ Eval.cpp MilkdropPresetFactory.cpp PresetFrameIO.cpp \ -Expr.cpp Param.cpp +Expr.cpp Param.cpp \ +BuiltinFuncs.hpp Func.hpp ParamUtils.hpp\ +BuiltinParams.hpp IdlePreset.hpp Parser.hpp\ +CValue.hpp InitCond.hpp PerFrameEqn.hpp\ +CustomShape.hpp InitCondUtils.hpp PerPixelEqn.hpp\ +CustomWave.hpp MilkdropPreset.hpp PerPointEqn.hpp\ +Eval.hpp MilkdropPresetFactory.hpp PresetFrameIO.hpp\ +Expr.hpp Param.hpp +: libMilkdropPresetFactory_la_CPPFLAGS = ${my_CFLAGS} \ -I$(top_srcdir)/src/libprojectM diff --git a/src/libprojectM/NativePresetFactory/Makefile.am b/src/libprojectM/NativePresetFactory/Makefile.am index e9649e51d4..54eb210e48 100644 --- a/src/libprojectM/NativePresetFactory/Makefile.am +++ b/src/libprojectM/NativePresetFactory/Makefile.am @@ -2,9 +2,8 @@ noinst_LTLIBRARIES=libNativePresetFactory.la libNativePresetFactory_la_SOURCES= \ NativePreset.hpp NativePresetFactory.hpp \ - MilkdropCompatability.hpp NativePresetFactory.cpp + MilkdropCompatability.hpp NativePresetFactory.cpp \ + MilkdropCompatability.hpp NativePreset.hpp NativePresetFactory.hpp libNativePresetFactory_la_CPPFLAGS = ${my_CFLAGS} \ -I$(top_srcdir)/src/libprojectM - - diff --git a/src/libprojectM/Renderer/Makefile.am b/src/libprojectM/Renderer/Makefile.am index 7d4cd4327a..e6ba436881 100644 --- a/src/libprojectM/Renderer/Makefile.am +++ b/src/libprojectM/Renderer/Makefile.am @@ -22,8 +22,23 @@ libRenderer_la_SOURCES = \ TextureManager.cpp \ VideoEcho.cpp \ RenderItemDistanceMetric.cpp \ - RenderItemMatcher.cpp + RenderItemMatcher.cpp \ + BeatDetect.hpp PipelineContext.hpp ShaderEngine.hpp\ + FBO.hpp RenderItemDistanceMetric.hpp TextureManager.hpp\ + Filters.hpp RenderItemMatcher.hpp Transformation.hpp\ + MilkdropWaveform.hpp RenderItemMergeFunction.hpp UserTexture.hpp\ + PerPixelMesh.hpp Renderable.hpp VideoEcho.hpp\ + PerlinNoise.hpp Renderer.hpp Waveform.hpp\ + Pipeline.hpp Shader.hpp\ + SOIL2/SOIL2.h SOIL2/stbi_DDS.h\ + SOIL2/etc1_utils.h SOIL2/stbi_DDS_c.h\ + SOIL2/image_DXT.h SOIL2/stbi_ext.h\ + SOIL2/image_helper.h SOIL2/stbi_ext_c.h\ + SOIL2/pkm_helper.h SOIL2/stbi_pkm.h\ + SOIL2/pvr_helper.h SOIL2/stbi_pkm_c.h\ + SOIL2/stb_image.h SOIL2/stbi_pvr.h\ + SOIL2/stb_image_write.h SOIL2/stbi_pvr_c.h + libRenderer_la_CPPFLAGS = ${my_CFLAGS} \ -I$(top_srcdir)/src/libprojectM - diff --git a/src/projectM-sdl/Makefile.am b/src/projectM-sdl/Makefile.am index 8a97842f7e..d75e1d7bb8 100644 --- a/src/projectM-sdl/Makefile.am +++ b/src/projectM-sdl/Makefile.am @@ -11,7 +11,7 @@ AM_CFLAGS = ${my_CFLAGS} \ -fdata-sections bin_PROGRAMS = projectMSDL -projectMSDL_SOURCES = pmSDL.cpp projectM_SDL_main.cpp +projectMSDL_SOURCES = pmSDL.cpp projectM_SDL_main.cpp pmSDL.hpp projectMSDL_LDADD = ${SDL_LIBS} ${top_srcdir}/src/libprojectM/libprojectM.la projectMSDL_LDFLAGS = -static projectMSDL_PROGRAM = projectMSDL