mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-02-27 05:45:58 +00:00
static linking support to cmakelists.
very old mac changes finally committed..pray. git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@983 6778bc44-b910-0410-a7a0-be141de4315d
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -6,6 +6,11 @@ OPTION (USE_FBO "Use Framebuffer Objects for increased rendering quality. Disab
|
||||
|
||||
OPTION (USE_GLES1 "Use OpenGL ES 1.x" OFF)
|
||||
|
||||
|
||||
#OPTION (FTGL_STATIC "Build the projectM target library in the platform's native static (NOT shared) format." OFF)
|
||||
|
||||
OPTION (BUILD_PROJECTM_STATIC "Build the projectM target library in the platform's native static (NOT shared) format." OFF)
|
||||
|
||||
SET(SOIL_SOURCES image_DXT.c image_helper.c SOIL.c stb_image_aug.c)
|
||||
|
||||
SET(projectM_SOURCES projectM.cpp FBO.cpp InitCond.cpp
|
||||
@ -32,7 +37,12 @@ if(USE_FBO)
|
||||
ADD_DEFINITIONS(-DUSE_FBO)
|
||||
endif(USE_FBO)
|
||||
|
||||
if (BUILD_PROJECTM_STATIC)
|
||||
ADD_LIBRARY(projectM STATIC ${projectM_SOURCES})
|
||||
else(BUILD_PROJECTM_STATIC)
|
||||
ADD_LIBRARY(projectM SHARED ${projectM_SOURCES})
|
||||
endif(BUILD_PROJECTM_STATIC)
|
||||
|
||||
SET_TARGET_PROPERTIES(projectM PROPERTIES VERSION 2.00 SOVERSION 2)
|
||||
|
||||
if (APPLE)
|
||||
@ -62,7 +72,6 @@ endif(FTGL_FOUND)
|
||||
|
||||
TARGET_LINK_LIBRARIES(projectM GLEW ${OPENGL_LIBRARIES} m ${IMAGE_LOADING_LIBS})
|
||||
|
||||
|
||||
IF(USE_FTGL)
|
||||
if (FTGL_FOUND)
|
||||
MESSAGE(STATUS "[projectM] FTGL font support was detected and enabled.")
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
PROJECT(projectM-jack)
|
||||
|
||||
OPTION(QT_JACK_SUPPORT "Enable Qt4 GUI Support for the projectM jack port" ON)
|
||||
OPTION(BUILD_PROJECTM_JACK_STATIC "Build a binary that only depends on jack and stnadard MACOSX libraries" OFF)
|
||||
|
||||
if (QT_JACK_SUPPORT)
|
||||
|
||||
@ -77,7 +78,13 @@ LINK_DIRECTORIES(${PROJECTM_LINK} ${JACK_LDFLAGS})
|
||||
|
||||
ADD_EXECUTABLE(projectM-jack ${projectM_jack_SRCS} ${projectM_jack_MOC_SRCS})
|
||||
|
||||
TARGET_LINK_LIBRARIES(projectM-jack projectM-qt projectM jack ${QT_QTGUI_LIBRARIES} ${QT_QTOPENGL_LIBRARIES} ${QT_QTCORE_LIBRARIES} ${QT_LIBRARIES})
|
||||
if (BUILD_PROJECTM_JACK_STATIC)
|
||||
SET(PACKAGED_LIBRARIES ${PROJECTM_ROOT_BINARY_DIR}/projectM-engine/libprojectM.a ${PROJECTM_ROOT_BINARY_DIR}/projectM-qt/libprojectM-qt.a)
|
||||
else (BUILD_PROJECTM_JACK_STATIC)
|
||||
SET(PACKAGED_LIBRARIES projectM-qt projectM)
|
||||
endif (BUILD_PROJECTM_JACK_STATIC)
|
||||
|
||||
TARGET_LINK_LIBRARIES(projectM-jack ${PACKAGED_LIBRARIES} jack ${QT_QTGUI_LIBRARIES} ${QT_QTOPENGL_LIBRARIES} ${QT_QTCORE_LIBRARIES} ${QT_LIBRARIES})
|
||||
|
||||
INSTALL(TARGETS projectM-jack DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
|
||||
install(FILES "projectM-jack.desktop" DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
|
||||
|
||||
@ -12,6 +12,7 @@ else(${CMAKE_PROJECT_NAME} MATCHES "PROJECTM_ROOT")
|
||||
pkg_search_module(LIBPROJECTM REQUIRED libprojectM)
|
||||
endif(${CMAKE_PROJECT_NAME} MATCHES "PROJECTM_ROOT")
|
||||
|
||||
OPTION(BUILD_PROJECTM_QT_STATIC "Build a static library of projectM-qt rather than the usual shared library format" OFF)
|
||||
|
||||
find_package(Qt4 REQUIRED) # find and setup Qt4 for this project
|
||||
include(${QT_USE_FILE})
|
||||
@ -36,7 +37,7 @@ ADD_DEFINITIONS(-DLINUX -DPROJECTM_PREFIX='"${PROJECTM_PREFIX}"')
|
||||
ADD_DEFINITIONS(${QT_DEFINITIONS})
|
||||
ADD_DEFINITIONS(-DQT_PLUGIN)
|
||||
ADD_DEFINITIONS(-DQT_NO_DEBUG)
|
||||
ADD_DEFINITIONS(-DQT_SHARED)
|
||||
ADD_DEFINITIONS(-DQT_STATIC)
|
||||
|
||||
# the variable "projectM-qt_SRCS" contains all .cpp files of this project
|
||||
set(projectM-qt_SRCS
|
||||
@ -93,7 +94,11 @@ qt4_wrap_ui(projectM-qt_UIS_H ${projectM-qt_UIS})
|
||||
# After this call, foo_MOC_SRCS = moc_Class1.cxx moc_Class2.cxx moc_Class3.cxx.
|
||||
qt4_wrap_cpp(projectM-qt_MOC_SRCS ${projectM-qt_MOC_HDRS})
|
||||
|
||||
if (BUILD_PROJECTM_QT_STATIC)
|
||||
ADD_LIBRARY(projectM-qt STATIC ${projectM-qt_SRCS} ${projectM-qt_RC_SRCS} ${projectM-qt_MOC_SRCS} ${projectM-qt_UIS_H})
|
||||
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_TARGET_PROPERTIES(projectM-qt PROPERTIES VERSION 1.10 SOVERSION 1)
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ ADD_DEFINITIONS(-DLINUX)
|
||||
|
||||
if (${CMAKE_PROJECT_NAME} MATCHES "PROJECTM_ROOT")
|
||||
set(PROJECTM_INCLUDE ${PROJECTM_ROOT_SOURCE_DIR}/projectM-engine)
|
||||
set(PROJECTM_LINK ${PROJECTM_ROOT_BINARY_DIR}/projectM-engine)
|
||||
-engine)
|
||||
elseif (${CMAKE_PROJECT_NAME} MATCHES ${PROJECT_NAME})
|
||||
set(PROJECTM_INCLUDE ${LIBPROJECTM_INCLUDEDIR}/libprojectM)
|
||||
set(PROJECTM_LINK ${LIBPROJECTM_LDFLAGS})
|
||||
@ -32,8 +32,8 @@ endif (${CMAKE_PROJECT_NAME} MATCHES "PROJECTM_ROOT")
|
||||
INCLUDE_DIRECTORIES(${PROJECTM_INCLUDE} ${SDL_INCLUDE_DIR} ${GTK_INCLUDE_DIR})
|
||||
LINK_DIRECTORIES(${PROJECTM_LINK})
|
||||
|
||||
TARGET_LINK_LIBRARIES(projectM-test projectM ${SDL_LIBRARY} ${GTK_LIBRARIES})
|
||||
TARGET_LINK_LIBRARIES(projectM-test-memleak projectM ${SDL_LIBRARY} ${GTK_LIBRARIES})
|
||||
TARGET_LINK_LIBRARIES(projectM-test-texture projectM ${SDL_LIBRARY} ${GTK_LIBRARIES})
|
||||
TARGET_LINK_LIBRARIES(projectM-test projectM ${SDL_LIBRARY})
|
||||
TARGET_LINK_LIBRARIES(projectM-test-memleak projectM ${SDL_LIBRARY} )
|
||||
TARGET_LINK_LIBRARIES(projectM-test-texture projectM ${SDL_LIBRARY} )
|
||||
|
||||
INSTALL(TARGETS projectM-test projectM-test-texture DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
#include <string>
|
||||
#include "getConfigFilename.h"
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
// get the full pathname of a configfile
|
||||
std::string getConfigFilename()
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <SDL/SDL.h>
|
||||
#include <sys/stat.h>
|
||||
#include <projectM.hpp>
|
||||
#include "sdltoprojectM.h"
|
||||
|
||||
|
||||
@ -21,23 +21,63 @@
|
||||
|
||||
#include "video_init.h"
|
||||
#include <projectM.hpp>
|
||||
#include "sdltoprojectM.h"
|
||||
//#include "sdltoprojectM.h"
|
||||
#include "ConfigFile.h"
|
||||
#include "getConfigFilename.h"
|
||||
|
||||
//FIXME: these don't have to be global
|
||||
projectM *globalPM = NULL;
|
||||
//projectM *globalPM = NULL;
|
||||
int wvw, wvh, fvw, fvh;
|
||||
bool fullscreen;
|
||||
|
||||
#ifdef LINUX
|
||||
#include <SDL.h>
|
||||
#endif
|
||||
#ifdef __APPLE__
|
||||
#include <SDL.h>
|
||||
#endif
|
||||
|
||||
void renderLoop();
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
/*
|
||||
// fix `fullscreen quit kills mouse` issue.
|
||||
atexit(SDL_Quit);
|
||||
|
||||
std::string config_filename = getConfigFilename();
|
||||
ConfigFile config(config_filename);
|
||||
|
||||
// window dimensions from configfile
|
||||
wvw = config.read<int>("Window Width", 512);
|
||||
wvh = config.read<int>("Window Height", 512);
|
||||
fullscreen = config.read("Fullscreen", true);
|
||||
|
||||
init_display(wvw, wvh, &fvw, &fvh, fullscreen);
|
||||
|
||||
SDL_WM_SetCaption(PROJECTM_TITLE, NULL);
|
||||
|
||||
globalPM = new projectM(config_filename);
|
||||
|
||||
// if started fullscreen, give PM new viewport dimensions
|
||||
if (fullscreen)
|
||||
globalPM->projectM_resetGL(fvw, fvh);
|
||||
|
||||
renderLoop();
|
||||
|
||||
// not reached
|
||||
*/
|
||||
return 1;
|
||||
}
|
||||
|
||||
void renderLoop()
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
projectMEvent evt;
|
||||
projectMKeycode key;
|
||||
projectMModifier mod;
|
||||
|
||||
// projectMEvent evt;
|
||||
// projectMKeycode key;
|
||||
// projectMModifier mod;
|
||||
#if 0
|
||||
/** Process SDL events */
|
||||
SDL_Event event;
|
||||
while (SDL_PollEvent(&event))
|
||||
@ -90,38 +130,11 @@ void renderLoop()
|
||||
globalPM->key_handler(evt, key, mod);
|
||||
break;
|
||||
}
|
||||
}
|
||||
globalPM->renderFrame();
|
||||
SDL_GL_SwapBuffers();
|
||||
}
|
||||
#endif
|
||||
//globalPM->renderFrame();
|
||||
// SDL_GL_SwapBuffers();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// fix `fullscreen quit kills mouse` issue.
|
||||
atexit(SDL_Quit);
|
||||
|
||||
std::string config_filename = getConfigFilename();
|
||||
ConfigFile config(config_filename);
|
||||
|
||||
// window dimensions from configfile
|
||||
wvw = config.read<int>("Window Width", 512);
|
||||
wvh = config.read<int>("Window Height", 512);
|
||||
fullscreen = config.read("Fullscreen", true);
|
||||
|
||||
init_display(wvw, wvh, &fvw, &fvh, fullscreen);
|
||||
|
||||
SDL_WM_SetCaption(PROJECTM_TITLE, NULL);
|
||||
|
||||
globalPM = new projectM(config_filename);
|
||||
|
||||
// if started fullscreen, give PM new viewport dimensions
|
||||
if (fullscreen)
|
||||
globalPM->projectM_resetGL(fvw, fvh);
|
||||
|
||||
renderLoop();
|
||||
|
||||
// not reached
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -28,47 +28,47 @@
|
||||
#include <SDL/SDL.h>
|
||||
#endif
|
||||
|
||||
projectMEvent sdl2pmEvent( SDL_Event event ) { \
|
||||
inline projectMEvent sdl2pmEvent( SDL_Event event ) {
|
||||
|
||||
switch ( event.type ) { \
|
||||
switch ( event.type ) {
|
||||
case SDL_VIDEORESIZE:
|
||||
return PROJECTM_VIDEORESIZE; \
|
||||
case SDL_KEYUP: \
|
||||
return PROJECTM_KEYUP; \
|
||||
case SDL_KEYDOWN: \
|
||||
return PROJECTM_KEYDOWN; \
|
||||
return PROJECTM_VIDEORESIZE;
|
||||
case SDL_KEYUP:
|
||||
return PROJECTM_KEYUP;
|
||||
case SDL_KEYDOWN:
|
||||
return PROJECTM_KEYDOWN;
|
||||
default:
|
||||
return PROJECTM_KEYUP; \
|
||||
} \
|
||||
} \
|
||||
return PROJECTM_KEYUP;
|
||||
}
|
||||
}
|
||||
|
||||
projectMKeycode sdl2pmKeycode( SDLKey keysym ) { \
|
||||
switch ( keysym ) { \
|
||||
case SDLK_F1: \
|
||||
return PROJECTM_K_F1; \
|
||||
case SDLK_F2: \
|
||||
return PROJECTM_K_F2; \
|
||||
case SDLK_F3: \
|
||||
return PROJECTM_K_F3; \
|
||||
case SDLK_F4: \
|
||||
return PROJECTM_K_F4; \
|
||||
case SDLK_F5: \
|
||||
return PROJECTM_K_F5; \
|
||||
case SDLK_F6: \
|
||||
return PROJECTM_K_F6; \
|
||||
case SDLK_F7: \
|
||||
return PROJECTM_K_F7; \
|
||||
case SDLK_F8: \
|
||||
return PROJECTM_K_F8; \
|
||||
case SDLK_F9: \
|
||||
return PROJECTM_K_F9; \
|
||||
case SDLK_F10: \
|
||||
return PROJECTM_K_F10; \
|
||||
case SDLK_F11: \
|
||||
return PROJECTM_K_F11; \
|
||||
case SDLK_F12: \
|
||||
return PROJECTM_K_F12; \
|
||||
case SDLK_ESCAPE: \
|
||||
projectMKeycode sdl2pmKeycode( SDLKey keysym ) {
|
||||
switch ( keysym ) {
|
||||
case SDLK_F1:
|
||||
return PROJECTM_K_F1;
|
||||
case SDLK_F2:
|
||||
return PROJECTM_K_F2;
|
||||
case SDLK_F3:
|
||||
return PROJECTM_K_F3;
|
||||
case SDLK_F4:
|
||||
return PROJECTM_K_F4;
|
||||
case SDLK_F5:
|
||||
return PROJECTM_K_F5;
|
||||
case SDLK_F6:
|
||||
return PROJECTM_K_F6;
|
||||
case SDLK_F7:
|
||||
return PROJECTM_K_F7;
|
||||
case SDLK_F8:
|
||||
return PROJECTM_K_F8;
|
||||
case SDLK_F9:
|
||||
return PROJECTM_K_F9;
|
||||
case SDLK_F10:
|
||||
return PROJECTM_K_F10;
|
||||
case SDLK_F11:
|
||||
return PROJECTM_K_F11;
|
||||
case SDLK_F12:
|
||||
return PROJECTM_K_F12;
|
||||
case SDLK_ESCAPE:
|
||||
return PROJECTM_K_ESCAPE;
|
||||
case SDLK_a:
|
||||
return PROJECTM_K_a;
|
||||
@ -137,13 +137,13 @@ projectMKeycode sdl2pmKeycode( SDLKey keysym ) { \
|
||||
case SDLK_PAGEDOWN:
|
||||
return PROJECTM_K_PAGEDOWN;
|
||||
|
||||
default: \
|
||||
return PROJECTM_K_NONE; \
|
||||
} \
|
||||
} \
|
||||
default:
|
||||
return PROJECTM_K_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
projectMModifier sdl2pmModifier( SDLMod mod ) { \
|
||||
return PROJECTM_KMOD_LSHIFT; \
|
||||
} \
|
||||
inline projectMModifier sdl2pmModifier( SDLMod mod ) {
|
||||
return PROJECTM_KMOD_LSHIFT;
|
||||
}
|
||||
|
||||
#endif /** _SDLTOPROJECTM_H */
|
||||
|
||||
Reference in New Issue
Block a user