merge master

This commit is contained in:
Mischa Spiegelmock
2016-08-02 19:18:16 -07:00
8 changed files with 60 additions and 95 deletions

View File

@ -2,6 +2,9 @@
* [Prebuilt iTunes plugin installer](https://github.com/revmischa/projectm/releases)
* [OSX Build instructions](BUILDING_OSX.txt)
# Linux:
* sudo apt-get install cmake-curses-gui libsdl2-dev libglew-dev libftgl-dev
# Building
Requires [cmake](https://cmake.org/download/).
```

View File

@ -6,44 +6,21 @@ cmake_minimum_required(VERSION 2.6.0)
set(PROJECTM_ROOT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
if(EMSCRIPTEN)
SET(INCLUDE-PROJECTM-QT OFF)
SET(INCLUDE-PROJECTM-PULSEAUDIO OFF)
SET(INCLUDE-PROJECTM-LIBVISUAL OFF)
SET(INCLUDE-PROJECTM-TEST OFF)
SET(INCLUDE-PROJECTM-EMSCRIPTEN ON)
SET(INCLUDE-NATIVE-SAMPLES OFF)
SET(EMSCRIPTEN-DEFAULT ON)
elseif(EMSCRIPTEN)
SET(EMSCRIPTEN-DEFAULT OFF)
endif(EMSCRIPTEN)
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# sensible OSX defaults
SET(INCLUDE-PROJECTM-QT OFF)
SET(INCLUDE-PROJECTM-PULSEAUDIO OFF)
SET(INCLUDE-PROJECTM-LIBVISUAL OFF)
SET(INCLUDE-PROJECTM-TEST ON)
SET(INCLUDE-PROJECTM-EMSCRIPTEN OFF)
SET(INCLUDE-PROJECTM-SDL ON)
SET(INCLUDE-NATIVE-SAMPLES ON)
ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# sensible other OS defaults? whatever's easiest to build
SET(INCLUDE-PROJECTM-QT OFF)
SET(INCLUDE-PROJECTM-PULSEAUDIO OFF)
SET(INCLUDE-PROJECTM-LIBVISUAL OFF)
SET(INCLUDE-PROJECTM-TEST ON)
SET(INCLUDE-PROJECTM-EMSCRIPTEN OFF)
SET(INCLUDE-PROJECTM-SDL ON)
SET(INCLUDE-NATIVE-SAMPLES ON)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
OPTION(INCLUDE-PROJECTM-QT "Build the projectM Qt4 user interface extension library (recommended)" ${INCLUDE-PROJECTM-QT})
OPTION(INCLUDE-PROJECTM-PULSEAUDIO "Build the projectM pulse audio client (recommended for fedora users)" ${INCLUDE-PROJECTM-PULSEAUDIO})
OPTION(INCLUDE-PROJECTM-LIBVISUAL "Build the projectM libvisual client" ${INCLUDE-PROJECTM-LIBVISUAL})
OPTION(INCLUDE-PROJECTM-LIBVISUAL-ALSA "Build experimental libvisual / alsa input standalone client" ${INCLUDE-PROJECTM-LIBVISUAL-ALSA})
OPTION(INCLUDE-PROJECTM-JACK "Build the projectM JACK client" ${INCLUDE-PROJECTM-JACK})
OPTION(INCLUDE-PROJECTM-TEST "Build the projectM test suite" ${INCLUDE-PROJECTM-TEST})
OPTION(INCLUDE-PROJECTM-EMSCRIPTEN "Build projectM for the web (emscripten)" ${INCLUDE-PROJECTM-EMSCRIPTEN})
OPTION(INCLUDE-PROJECTM-XMMS "Build the projectM xmms module (deprecated, use audacious instead)" ${INCLUDE-PROJECTM-XMMS})
OPTION(INCLUDE-PROJECTM-SDL "Build the projectM SDL application" ${INCLUDE-PROJECTM-SDL})
OPTION(INCLUDE-NATIVE-SAMPLES "Build the projectM native preset sample collection " ${INCLUDE-NATIVE-SAMPLES})
OPTION(INCLUDE-PROJECTM-QT "Build the projectM Qt4 user interface extension library (recommended)" OFF)
OPTION(INCLUDE-PROJECTM-PULSEAUDIO "Build the projectM pulse audio client (recommended for fedora users)" OFF)
OPTION(INCLUDE-PROJECTM-LIBVISUAL "Build the projectM libvisual client" OFF)
OPTION(INCLUDE-PROJECTM-LIBVISUAL-ALSA "Build experimental libvisual / alsa input standalone client" OFF)
OPTION(INCLUDE-PROJECTM-JACK "Build the projectM JACK client" OFF)
OPTION(INCLUDE-PROJECTM-TEST "Build the projectM test suite" OFF)
OPTION(INCLUDE-PROJECTM-EMSCRIPTEN "Build projectM for the web (emscripten)" ${EMSCRIPTEN-DEFAULT})
OPTION(INCLUDE-PROJECTM-XMMS "Build the projectM xmms module (deprecated, use audacious instead)" OFF)
OPTION(INCLUDE-PROJECTM-SDL "Build the projectM SDL application" ON)
OPTION(INCLUDE-NATIVE-SAMPLES "Build the projectM native preset sample collection " ON)
add_subdirectory (libprojectM)

View File

@ -7,47 +7,40 @@ INCLUDE(CMakeDependentOption)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# projectM version block
set(PROJECTM_VERSION 2.1.0)
set(PROJECTM_VERSION 2.2.0)
set(PROJECTM_ABI_LEVEL 2)
#
SET(USE_THREADS_DEF ON)
SET(USE_FTGL_DEF ON)
SET(USE_FBO_DEF ON)
if (EMSCRIPTEN)
SET(USE_THREADS-DEF OFF)
SET(USE_FTGL_DEF ON)
SET(USE_FBO_DEF OFF)
SET(USE_GLES1 ON)
SET(USE_INCLUDED_GLEW OFF)
SET(USE_THREADS OFF)
SET(USE_OPENMP OFF)
SET(USE_FTGL OFF)
SET(USE_FBO OFF)
SET(BUILD_PROJECTM_STATIC ON)
SET(DISABLE_NATIVE_PRESETS ON)
SET(USE_CG OFF)
SET(APPLE )
SET(LINUX )
SET(OPENGL_gl_LIBRARY "fake_gl_lib.a")
SET(GLEW_LIBRARY "gl.symbols")
ADD_DEFINITIONS(-DDISABLE_NATIVE_PRESETS)
endif (EMSCRIPTEN)
if (APPLE)
SET(USE_INCLUDED_GLEW OFF)
SET(USE_FTGL OFF)
SET(USE_OPENMP OFF)
SET(BUILD_PROJECTM_STATIC ON)
SET(USE_FBO ON)
SET(USE_CG ON)
SET(USE_GLES1 OFF)
endif(APPLE)
OPTION (USE_GLES1 "Use OpenGL ES" ${USE_GLES1})
OPTION (USE_GLES1 "Use OpenGL ES" OFF)
CMAKE_DEPENDENT_OPTION (USE_FBO "Use Framebuffer Objects for increased rendering quality. Disable this if you are experiencing problems on older or poorly supported hardware." ON "${USE_GLES1}" OFF) # disabled by default for GLES
OPTION(USE_FTGL "Use FTGL for on-screen fonts (found on your system)" ${USE_FTGL})
OPTION (USE_THREADS "Use threads for parallelization" ${USE_THREADS})
OPTION (USE_OPENMP "Use OpenMP and OMPTL for multi-core parallelization" ${USE_OPENMP})
OPTION (USE_INCLUDED_GLEW "Use projectM's included implemention of GLEW" ${USE_INCLUDED_GLEW})
OPTION (USE_CG "Use Cg for Pixel Shader support" ${USE_CG})
OPTION (USE_DEVIL "Use devIL for image loading rather than the builtin SOIL library" ${USE_DEVIL})
OPTION (BUILD_PROJECTM_STATIC "Build the projectM target library in the platform's native static (NOT shared) format." ${BUILD_PROJECTM_STATIC})
OPTION(USE_FTGL "Use FTGL for on-screen fonts" ${USE_FTGL_DEF})
OPTION (USE_THREADS "Use threads for parallelization" ${USE_THREADS_DEF})
OPTION (USE_OPENMP "Use OpenMP and OMPTL for multi-core parallelization" OFF)
OPTION (USE_INCLUDED_GLEW "Use projectM's included implemention of GLEW" OFF)
OPTION (USE_CG "Use Cg for Pixel Shader support" OFF)
OPTION (USE_DEVIL "Use devIL for image loading rather than the builtin SOIL library" OFF)
OPTION (BUILD_PROJECTM_STATIC "Build the projectM target library in the platform's native static (NOT shared) format." ON)
OPTION (DISABLE_NATIVE_PRESETS "Turn off support for native (C++ style) presets" ${DISABLE_NATIVE_PRESETS})
OPTION (DISABLE_MILKDROP_PRESETS "Turn off support for Milkdrop (.milk / .prjm) presets" ${DISABLE_MILKDROP_PRESETS})
@ -133,8 +126,6 @@ else(BUILD_PROJECTM_STATIC)
ADD_LIBRARY(projectM SHARED ${projectM_SOURCES})
endif(BUILD_PROJECTM_STATIC)
set_property(TARGET projectM PROPERTY LINK_INTERFACE_LIBRARIES "")
set_property(TARGET projectM PROPERTY IMPORTED_LINK_DEPENDENT_LIBRARIES "")
SET_TARGET_PROPERTIES(projectM PROPERTIES VERSION ${PROJECTM_VERSION} SOVERSION ${PROJECTM_ABI_LEVEL})
if (USE_THREADS)
@ -228,34 +219,23 @@ else(MSVC)
endif(MSVC)
# compiling on arm? relocation is gonna fail unless position-independent
IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l" )
IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l" OR NOT ${DISABLE_NATIVE_PRESETS})
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-fPIC")
ENDIF( CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l" )
ENDIF( CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l" OR NOT ${DISABLE_NATIVE_PRESETS})
if(BUILD_PROJECTM_STATIC)
TARGET_LINK_LIBRARIES(projectM Renderer
${IMAGE_LINK_TARGETS}
${CG_LINK_TARGETS}
${PRESET_FACTORY_LINK_TARGETS}
${GLEW_LIBRARY}
${FTGL_LINK_TARGETS}
${MATH_LIBRARIES}
${COREFOUNDATION_LIBRARIES}
${OPENGL_LIBRARIES}
dl
)
else(BUILD_PROJECTM_STATIC)
TARGET_LINK_LIBRARIES(projectM Renderer
${IMAGE_LINK_TARGETS}
${CG_LINK_TARGETS}
${PRESET_FACTORY_LINK_TARGETS}
${GLEW_LIBRARY}
${FTGL_LINK_TARGETS}
${MATH_LIBRARIES}
${OPENGL_LIBRARIES}
dl
)
endif(BUILD_PROJECTM_STATIC)
SET(projectM_LIBRARIES_TO_LINK
Renderer
${IMAGE_LINK_TARGETS}
${CG_LINK_TARGETS}
${PRESET_FACTORY_LINK_TARGETS}
${GLEW_LIBRARY}
${FTGL_LINK_TARGETS}
${MATH_LIBRARIES}
${COREFOUNDATION_LIBRARIES}
${OPENGL_LIBRARIES}
dl
)
TARGET_LINK_LIBRARIES(projectM ${projectM_LIBRARIES_TO_LINK})
SET(projectM_FONT_MENU "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" CACHE FILEPATH "Path to the default menu TrueType font")
SET(projectM_FONT_TITLE "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" CACHE FILEPATH "Path to the default title TrueType font")

View File

@ -13,6 +13,7 @@ SET(MilkdropPresetFactory_SOURCES
PerPointEqn.cpp Param.cpp
PerFrameEqn.cpp
IdlePreset.cpp
../PresetFactory.cpp
)
IF(NOT MSVC)

View File

@ -26,6 +26,7 @@ SET(Renderer_SOURCES
VideoEcho.cpp
RenderItemDistanceMetric.cpp
RenderItemMatcher.cpp
../KeyHandler.cpp
${SOIL_SOURCES}
)
@ -48,7 +49,7 @@ else (APPLE)
set(COREFOUNDATION_LIBRARY )
endif(APPLE)
INCLUDE_DIRECTORIES(${projectM_SOURCE_DIR})
INCLUDE_DIRECTORIES(${projectM_SOURCE_DIR} ${projectM_SOURCE_DIR}/Renderer)
ADD_LIBRARY(Renderer STATIC ${Renderer_SOURCES})
TARGET_LINK_LIBRARIES(Renderer ${MATH_LIBRARIES}

View File

@ -111,8 +111,6 @@ else(BUILD_PROJECTM_QT_STATIC)
ADD_LIBRARY(projectM-qt SHARED ${projectM-qt_SRCS} ${projectM-qt_RC_SRCS} ${projectM-qt_MOC_SRCS} ${projectM-qt_UIS_H})
endif(BUILD_PROJECTM_QT_STATIC)
set_property(TARGET projectM-qt PROPERTY LINK_INTERFACE_LIBRARIES "")
set_property(TARGET projectM-qt PROPERTY IMPORTED_LINK_DEPENDENT_LIBRARIES "")
SET_TARGET_PROPERTIES(projectM-qt PROPERTIES VERSION ${PROJECTM_QT_VERSION} SOVERSION ${PROJECTM_QT_ABI_LEVEL})
if (${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")

View File

@ -1,4 +1,4 @@
# Install script for directory: /Users/bobo/dev/projectm/src/projectM-sdl
# Install script for directory: /home/cyber/dev/projectM/src/projectM-sdl
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@ -27,3 +27,8 @@ if(NOT CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_INSTALL_SO_NO_EXE "1")
endif()

View File

@ -152,7 +152,7 @@ int main( int argc, char *argv[] ) {
app.settings.easterEgg = 0; // ???
app.settings.shuffleEnabled = 1;
app.settings.softCutRatingsEnabled = 1; // ???
app.settings.presetURL = "presets_tryptonaut";
app.settings.presetURL = "../../presets/presets_tryptonaut";
app.settings.menuFontURL = "fonts/Vera.ttf";
app.settings.titleFontURL = "fonts/Vera.ttf";