[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso CMakeLists.txt src/traverso/CMakeLists...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso CMakeLists.txt src/traverso/CMakeLists... |
Date: |
Thu, 08 Nov 2007 11:32:50 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/11/08 11:32:50
Modified files:
. : CMakeLists.txt
src/traverso : CMakeLists.txt
Log message:
* Ported relaytool to cmake build
* add -fPIC by default as compile option in release build, else the fpu
sse runtime detection still doesn't work
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/CMakeLists.txt?cvsroot=traverso&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/CMakeLists.txt?cvsroot=traverso&r1=1.4&r2=1.5
Patches:
Index: CMakeLists.txt
===================================================================
RCS file: /sources/traverso/traverso/CMakeLists.txt,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- CMakeLists.txt 7 Nov 2007 21:36:00 -0000 1.10
+++ CMakeLists.txt 8 Nov 2007 11:32:50 -0000 1.11
@@ -30,6 +30,8 @@
OPTION(WANT_DEBUG "Debug build" OFF)
OPTION(WANT_OPENGL "Build Traverso with OpenGL support" ON)
OPTION(WANT_TRAVERSO_DEBUG "Provides 4 levels of debug ouput on the command
line, always on for DEBUG builds" OFF)
+OPTION(WANT_THREAD_CHECK"Checks at runtime if functions are called from the
correct thread, used by developers for debugging" OFF)
+OPTION(WANT_VECLIB_OPTIMIZATIONS "Build with veclib optimizations (Only for
PPC based Mac OS X)" OFF)
SET(MAIN_DIR_NAME "src")
@@ -54,6 +56,7 @@
SET(WANT_TRAVERSO_DEBUG ON)
ELSE(WANT_DEBUG)
SET(CMAKE_BUILD_TYPE RELEASE)
+ ADD_DEFINITIONS(-DQT_NO_DEBUG)
ENDIF(WANT_DEBUG)
@@ -82,27 +85,14 @@
SET(MINIMAL_FFTW_VERSION 3.0.0)
-IF(APPLE)
- SET( ENV{MACOSX_DEPLOYMENT_TARGET} 10.3 )
- SET( ENV{LD_PREBIND} 1 )
- SET( ENV{LD_PREBIND_ALLOW_OVERLAP} 1 )
- SET(CMAKE_CXX_FLAGS_DEBUG "-O2 -g3 -fno-inline-functions -Wall")
- SET(CMAKE_C_FLAGS_DEBUG "-O2 -g3 -fno-inline-functions -Wall")
- SET(BUILD_MAC_BUNDLE 1)
-# Uncomment if dest. target is (at least) tiger (works maybe on other targets
as well ?)
-# DEFINES += BUILD_VECLIB_OPTIMIZATIONS
-# LIBS += -framework Accelerate
-ELSE(APPLE)
- SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -Wall")
- SET(CMAKE_C_FLAGS_DEBUG "-O0 -g3 -Wall")
-ENDIF(APPLE)
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -Wall")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -Wall -fPIC")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -Wall")
-SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall")
INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake)
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
+
# Check for PKG-CONFIG
FIND_PACKAGE(PkgConfig REQUIRED)
IF(PKG_CONFIG_FOUND)
@@ -111,6 +101,7 @@
MESSAGE(FATAL_ERROR "Program pkg-config not found")
ENDIF(PKG_CONFIG_FOUND)
+
#FIND DEPENDENCIES
SET (QT_MIN_VERSION "4.2.0")
FIND_PACKAGE(Qt4 REQUIRED)
@@ -131,46 +122,6 @@
ENDIF(WANT_OPENGL)
-IF(WANT_ALSA)
- CHECK_INCLUDE_FILE("alsa/asoundlib.h" HAVE_ASOUNDLIB_H)
- IF(NOT HAVE_ASOUNDLIB_H)
- MESSAGE(FATAL_ERROR "alsa support requested, but alsa
development headers could not be found!\nPlease install the alsa development
package (Usually called libasound-dev), remove CMakeCache.txt and run cmake
again")
- ENDIF(NOT HAVE_ASOUNDLIB_H)
-
- PKG_CHECK_MODULES(ALSA alsa>=${MINIMAL_ALSA_VERSION})
- IF (ALSA_FOUND)
- MESSAGE("-- ALSA Library Found OK")
- ADD_DEFINITIONS(-DALSA_SUPPORT)
- SET(HAVE_ALSA TRUE)
- ENDIF(ALSA_FOUND)
-ELSE(WANT_ALSA)
- MESSAGE("-- ALSA support: Disabled")
- SET(HAVE_ALSA FALSE)
-ENDIF(WANT_ALSA)
-
-
-IF(WANT_JACK)
- CHECK_INCLUDE_FILE("jack/jack.h" HAVE_JACK_H)
- IF(NOT HAVE_JACK_H)
- MESSAGE(FATAL_ERROR "jack support requested, but jack
development headers could not be found!\nPlease install the jack development
package, remove CMakeCache.txt and run cmake again")
- ENDIF(NOT HAVE_JACK_H)
-
- PKG_CHECK_MODULES(JACK jack>=${MINIMAL_JACK_VERSION})
- IF(JACK_FOUND)
- ADD_DEFINITIONS(-DJACK_SUPPORT)
- MESSAGE("-- Jack Library Found OK")
- SET(HAVE_JACK TRUE)
- SET(JACK_LIBS ${JACK_LIBRARIES})
- LIST(APPEND JACK_LIB_DIR ${JACK_LIBDIR} ${JACK_LIBRARY_DIRS})
- LIST(APPEND JACK_INC_DIR ${JACK_INCLUDEDIR}
${JACK_INCLUDE_DIRS})
- ELSE(JACK_FOUND)
- MESSAGE(FATAL_ERROR "jack support requested, but jack libraries
could not be found!\nPlease install the jack runtime libraries, remove
CMakeCache.txt and run cmake again")
- ENDIF(JACK_FOUND)
-ELSE(WANT_JACK)
- MESSAGE("-- Jack support: Disabled")
- SET(HAVE_JACK FALSE)
-ENDIF(WANT_JACK)
-
IF(WANT_PORTAUDIO)
CHECK_INCLUDE_FILE("portaudio.h" HAVE_PORTAUDIO_H)
@@ -187,6 +138,7 @@
SET(HAVE_PORTAUDIO FALSE)
ENDIF(WANT_PORTAUDIO)
+
IF(WANT_LV2)
IF(USE_SYSTEM_SLV2_LIBRARY)
CHECK_INCLUDE_FILE("slv2/slv2.h" HAVE_SLV2_H)
@@ -331,42 +283,133 @@
)
-IF(WIN32)
- LINK_LIBRARIES(
- ${QT_QTMAIN_LIBRARY}
- )
- ADD_DEFINITIONS(-DQT_DLL)
-ENDIF(WIN32)
+CHECK_FUNCTION_EXISTS(posix_memalign HAVE_POSIX_MEMALIGN)
+IF(NOT HAVE_POSIX_MEMALIGN)
+ ADD_DEFINITIONS(-DNO_POSIX_MEMALIGN)
+ MESSAGE("Did not find posix_memalign(), using malloc")
+ENDIF(NOT HAVE_POSIX_MEMALIGN)
+
+
+CHECK_FUNCTION_EXISTS(mlock HAVE_MLOCK)
+IF(HAVE_MLOCK)
+ ADD_DEFINITIONS(-DUSE_MLOCK)
+ENDIF(HAVE_MLOCK)
+
+
+# Enable large file support
+# TODO
+# QMAKE_CXXFLAGS += $$system(getconf LFS_CFLAGS)
+
+
+IF(UNIX)
+
+ # Check GCC for PCH support
+ SET(USE_PCH FALSE)
+ IF(WANT_PCH)
+ FIND_PACKAGE(PCHSupport)
+ IF(PCHSupport_FOUND)
+ SET(USE_PCH TRUE)
+ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -include
${CMAKE_SOURCE_DIR}/src/precompile.h -Winvalid-pch")
+ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}
-include ${CMAKE_SOURCE_DIR}/src/precompile.h -Winvalid-pch")
+ MESSAGE(STATUS "Enabling precompiled headers for GCC
${gcc_compiler_version}")
+ ENDIF(PCHSupport_FOUND)
+ ELSE(WANT_PCH)
+ #QT_DEFENITIONS are added by pch, so when no pch support add them now!
+ ADD_DEFINITIONS(${QT_DEFINITIONS})
+ ENDIF(WANT_PCH)
+
+
+#BEGIN Mac OS X section
+ IF(APPLE)
+# @ MAC OS X builders, I've NO IDEA what this should be, please have a look at
it
+# It should be possible to create a working bundle with CPack using stuff
+# defined here ....???
+ SET( ENV{MACOSX_DEPLOYMENT_TARGET} 10.3 )
+ SET( ENV{LD_PREBIND} 1 )
+ SET( ENV{LD_PREBIND_ALLOW_OVERLAP} 1 )
+
+# Bundle setup
+ SET(BUILD_MAC_BUNDLE 1)
+ set(MACOSX_BUNDLE_ICON_FILE
${PROJECT_SOURCE_DIR}/resources/images/traverso_mac.icns)
-IF(APPLE)
+ IF(WANT_VECLIB_OPTIMIZATIONS)
+ ADD_DEFINITIONS(-DBUILD_VECLIB_OPTIMIZATIONS)
+ LINK_LIBRARIES( "-framework Accelerate" )
+ ENDIF(WANT_VECLIB_OPTIMIZATIONS)
+
+# This was copy pasted from another project, please remove if it's not needed!!
LINK_LIBRARIES( "-undefined dynamic_lookup" )
LINK_LIBRARIES( "-framework CoreFoundation" )
-ENDIF(APPLE)
+ ENDIF(APPLE)
+# END Mac OS X section
-CHECK_FUNCTION_EXISTS(posix_memalign HAVE_POSIX_MEMALIGN)
-IF(NOT HAVE_POSIX_MEMALIGN)
- ADD_DEFINITIONS(-DNO_POSIX_MEMALIGN)
- MESSAGE("Did not find posix_memalign(), using malloc")
-ENDIF(NOT HAVE_POSIX_MEMALIGN)
+#BEGIN LINUX section
+ IF(WANT_ALSA)
+ CHECK_INCLUDE_FILE("alsa/asoundlib.h" HAVE_ASOUNDLIB_H)
+ IF(NOT HAVE_ASOUNDLIB_H)
+ MESSAGE(FATAL_ERROR "alsa support requested, but alsa
development headers could not be found!\nPlease install the alsa development
package (Usually called libasound-dev), remove CMakeCache.txt and run cmake
again")
+ ENDIF(NOT HAVE_ASOUNDLIB_H)
+
+ PKG_CHECK_MODULES(ALSA alsa>=${MINIMAL_ALSA_VERSION})
+ IF (ALSA_FOUND)
+ MESSAGE("-- ALSA Library Found OK")
+ ADD_DEFINITIONS(-DALSA_SUPPORT)
+ SET(HAVE_ALSA TRUE)
+ ENDIF(ALSA_FOUND)
+ ELSE(WANT_ALSA)
+ MESSAGE("-- ALSA support: Disabled")
+ SET(HAVE_ALSA FALSE)
+ ENDIF(WANT_ALSA)
+
+ find_program(RELAYTOOL_EXECUTABLE NAMES relaytool)
+ IF(RELAYTOOL_EXECUTABLE)
+ ADD_DEFINITIONS(-DRELAYTOOL_PRESENT)
+ ENDIF(RELAYTOOL_EXECUTABLE)
+
+# END LINUX section
+
+
+ IF(WANT_JACK)
+ CHECK_INCLUDE_FILE("jack/jack.h" HAVE_JACK_H)
+ IF(NOT HAVE_JACK_H)
+ MESSAGE(FATAL_ERROR "jack support requested, but jack
development headers could not be found!\nPlease install the jack development
package, remove CMakeCache.txt and run cmake again")
+ ENDIF(NOT HAVE_JACK_H)
-execute_process(
+ PKG_CHECK_MODULES(JACK jack>=${MINIMAL_JACK_VERSION})
+ IF(JACK_FOUND)
+ ADD_DEFINITIONS(-DJACK_SUPPORT)
+ MESSAGE("-- Jack Library Found OK")
+ SET(HAVE_JACK TRUE)
+ SET(JACK_LIBS ${JACK_LIBRARIES})
+ LIST(APPEND JACK_LIB_DIR ${JACK_LIBDIR}
${JACK_LIBRARY_DIRS})
+ LIST(APPEND JACK_INC_DIR ${JACK_INCLUDEDIR}
${JACK_INCLUDE_DIRS})
+ ELSE(JACK_FOUND)
+ MESSAGE(FATAL_ERROR "jack support requested, but jack
libraries could not be found!\nPlease install the jack runtime libraries,
remove CMakeCache.txt and run cmake again")
+ ENDIF(JACK_FOUND)
+ ELSE(WANT_JACK)
+ MESSAGE("-- Jack support: Disabled")
+ SET(HAVE_JACK FALSE)
+ ENDIF(WANT_JACK)
+
+
+ IF(NOT WANT_DEBUG)
+# Detect the architecture we are compiling on
+ execute_process(
COMMAND uname -m
OUTPUT_VARIABLE uname_invoke_result
RESULT_VARIABLE uname_failed
-)
-
-execute_process(
+ )
+# Get the cpu flags to add the most optimal optimization flags to
the compiler
+ execute_process(
COMMAND cat /proc/cpuinfo
COMMAND grep ^flags
OUTPUT_VARIABLE cat_invoke_result
RESULT_VARIABLE cat_failed
-)
+ )
-IF(UNIX)
- IF(NOT WANT_DEBUG)
SET(HOST_SUPPORTS_SSE FALSE)
IF(cat_invoke_result MATCHES sse)
@@ -407,22 +450,25 @@
SET(IS_ARCH_X86 TRUE)
ENDIF(uname_invoke_result MATCHES i[456]86)
ENDIF(NOT WANT_DEBUG)
+
+
+ELSE(UNIX)
+
+# Windows section
+ IF(WIN32)
+ LINK_LIBRARIES(
+ ${QT_QTMAIN_LIBRARY}
+ )
+ ADD_DEFINITIONS(-DQT_DLL)
+ ENDIF(WIN32)
+
+
ENDIF(UNIX)
-# Check GCC for PCH support
-SET(USE_PCH FALSE)
-IF(WANT_PCH)
- FIND_PACKAGE(PCHSupport)
- IF(PCHSupport_FOUND)
- SET(USE_PCH TRUE)
- SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -include
${CMAKE_SOURCE_DIR}/src/precompile.h -Winvalid-pch")
- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -include
${CMAKE_SOURCE_DIR}/src/precompile.h -Winvalid-pch")
- MESSAGE(STATUS "Enabling precompiled headers for GCC
${gcc_compiler_version}")
- ENDIF(PCHSupport_FOUND)
-ELSE(WANT_PCH)
-#QT_DEFENITIONS are added by pch, so when no pch support add them now!
- ADD_DEFINITIONS(${QT_DEFINITIONS})
-ENDIF(WANT_PCH)
+
+IF(WANT_THREAD_CHECK)
+ ADD_DEFINITIONS(-DTHREAD_CHECK)
+ENDIF(WANT_THREAD_CHECK)
@@ -497,6 +543,7 @@
QT_X11_m_LIBRARY
QT_X11_Xext_LIBRARY
LIBRARY_OUTPUT_PATH
+WANT_THREAD_CHECK
)
Index: src/traverso/CMakeLists.txt
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/CMakeLists.txt,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/traverso/CMakeLists.txt 7 Nov 2007 22:02:47 -0000 1.4
+++ src/traverso/CMakeLists.txt 8 Nov 2007 11:32:50 -0000 1.5
@@ -125,9 +125,87 @@
${TRAVERSO_RESOURCES}
)
-SET_TARGET_PROPERTIES(traverso
- PROPERTIES
- CMAKE_CXX_FLAGS_RELEASE "-fPIC")
+
+SET(JACK_LIB jack)
+SET(FLAC_LIB FLAC)
+SET(MAD_LIB mad)
+SET(LAME_LIB mp3lame)
+SET(OGG_LIB ogg)
+SET(VORBIS_LIB vorbis)
+SET(VORBIS_FILE_LIB vorbisfile)
+SET(VORBIS_ENC_LIB vorbisenc)
+SET(WAVPACK_LIB wavpack)
+
+IF(LINUX)
+find_program(RELAYTOOL_EXECUTABLE NAMES relaytool)
+IF(RELAYTOOL_EXECUTABLE)
+
+ execute_process(
+ COMMAND relaytool --multilink libjack.so.0 libjack-0.100.0.so.0
--relay jack -ljack
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(JACK_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay FLAC -lFLAC
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(FLAC_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay mad -lmad
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(MAD_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay mp3lame -lmp3lame
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(LAME_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay ogg -logg
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(OGG_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay vorbis -lvorbis
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(VORBIS_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay vorbisfile -lvorbisfile
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(VORBIS_FILE_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay vorbisenc -lvorbisenc
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(VORBIS_ENC_LIB relaytool_invoke_result)
+
+ execute_process(
+ COMMAND relaytool --relay wavpack -lwavpack
+ OUTPUT_VARIABLE relaytool_invoke_result
+ RESULT_VARIABLE relaytool_failed
+ )
+ SET(WAVPACK_LIB relaytool_invoke_result)
+
+ENDIF(RELAYTOOL_EXECUTABLE)
+ENDIF(LINUX)
+
TARGET_LINK_LIBRARIES(traverso
${QT_LIBRARIES}
@@ -141,12 +219,12 @@
traversocommands
samplerate
sndfile
- wavpack
- ogg
- vorbis
- vorbisfile
- vorbisenc
- FLAC
+ ${WAVPACK_LIB}
+ ${OGG_LIB}
+ ${VORBIS_LIB}
+ ${VORBIS_FILE_LIB}
+ ${VORBIS_ENC_LIB}
+ ${FLAC_LIB}
fftw3
)
@@ -173,13 +251,13 @@
IF(HAVE_MP3_DECODING)
TARGET_LINK_LIBRARIES(traverso
- mad
+ ${MAD_LIB}
)
ENDIF(HAVE_MP3_DECODING)
IF(HAVE_MP3_ENCODING)
TARGET_LINK_LIBRARIES(traverso
- mp3lame
+ ${LAME_LIB}
)
ENDIF(HAVE_MP3_ENCODING)
@@ -198,7 +276,7 @@
IF(HAVE_ALSA)
TARGET_LINK_LIBRARIES(traverso
- jack
+ ${JACK_LIB}
)
ENDIF(HAVE_ALSA)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso CMakeLists.txt src/traverso/CMakeLists...,
Remon Sijrier <=