mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-03-01 21:16:01 +00:00
merge master
This commit is contained in:
@ -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/).
|
||||
```
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -13,6 +13,7 @@ SET(MilkdropPresetFactory_SOURCES
|
||||
PerPointEqn.cpp Param.cpp
|
||||
PerFrameEqn.cpp
|
||||
IdlePreset.cpp
|
||||
../PresetFactory.cpp
|
||||
)
|
||||
|
||||
IF(NOT MSVC)
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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()
|
||||
|
||||
|
||||
@ -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";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user