2010-06-22 13:30:36 +00:00
|
|
|
# Check that people use the good file
|
|
|
|
if(NOT TOP_CMAKE_WAS_SOURCED)
|
|
|
|
message(FATAL_ERROR "
|
|
|
|
You did not 'cmake' the good CMakeLists.txt file. Use the one in the top dir.
|
|
|
|
It is advice to delete all wrongly generated cmake stuff => CMakeFiles & CMakeCache.txt")
|
|
|
|
endif(NOT TOP_CMAKE_WAS_SOURCED)
|
|
|
|
|
2010-01-21 15:12:50 +00:00
|
|
|
|
|
|
|
# plugin name
|
2010-07-25 13:54:26 +00:00
|
|
|
set(Output zerospu2)
|
2010-01-21 15:12:50 +00:00
|
|
|
|
2010-06-03 15:12:29 +00:00
|
|
|
set(CommonFlags
|
|
|
|
-Wall
|
|
|
|
-msse2
|
|
|
|
)
|
|
|
|
|
|
|
|
set(OptimizationFlags
|
|
|
|
-O2
|
2010-06-05 11:56:52 +00:00
|
|
|
-DNDEBUG
|
2010-06-03 15:12:29 +00:00
|
|
|
)
|
|
|
|
|
2010-01-22 04:36:49 +00:00
|
|
|
# Debug - Build
|
|
|
|
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
|
|
|
# add defines
|
2010-06-03 15:12:29 +00:00
|
|
|
add_definitions(${CommonFlags} -g)
|
2010-01-22 04:36:49 +00:00
|
|
|
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
|
|
|
|
|
|
|
# Devel - Build
|
|
|
|
if(CMAKE_BUILD_TYPE STREQUAL Devel)
|
|
|
|
# add defines
|
2010-06-03 15:12:29 +00:00
|
|
|
add_definitions(${CommonFlags} ${OptimizationFlags})
|
2010-01-22 04:36:49 +00:00
|
|
|
endif(CMAKE_BUILD_TYPE STREQUAL Devel)
|
|
|
|
|
|
|
|
# Release - Build
|
|
|
|
if(CMAKE_BUILD_TYPE STREQUAL Release)
|
|
|
|
# add defines
|
2010-06-03 15:12:29 +00:00
|
|
|
add_definitions(${CommonFlags} ${OptimizationFlags})
|
2010-01-22 04:36:49 +00:00
|
|
|
endif(CMAKE_BUILD_TYPE STREQUAL Release)
|
|
|
|
|
2010-01-21 15:12:50 +00:00
|
|
|
# zerospu2 sources
|
|
|
|
set(zerospu2Sources
|
|
|
|
voices.cpp
|
|
|
|
zerodma.cpp
|
2010-02-12 11:42:29 +00:00
|
|
|
zerospu2.cpp
|
|
|
|
zeroworker.cpp)
|
2010-06-03 15:12:29 +00:00
|
|
|
|
2010-01-21 15:12:50 +00:00
|
|
|
# zerospu2 headers
|
|
|
|
set(zerospu2Headers
|
|
|
|
misc.h
|
|
|
|
reg.h
|
2010-02-12 11:42:29 +00:00
|
|
|
zerodma.h
|
|
|
|
zerospu2.h
|
|
|
|
zeroworker.h)
|
2010-01-21 15:12:50 +00:00
|
|
|
|
|
|
|
# zerospu2 Linux sources
|
|
|
|
set(zerospu2LinuxSources
|
|
|
|
Linux/Linux.cpp
|
|
|
|
Targets/Alsa.cpp
|
|
|
|
Targets/OSS.cpp
|
|
|
|
# Targets/PortAudio.cpp
|
|
|
|
Targets/SoundTargets.cpp)
|
|
|
|
|
|
|
|
# zerospu2 Linux headers
|
|
|
|
set(zerospu2LinuxHeaders
|
|
|
|
Linux/Linux.h
|
|
|
|
Targets/Alsa.h
|
|
|
|
Targets/OSS.h
|
|
|
|
# Targets/PortAudio.h
|
|
|
|
Targets/SoundTargets.h)
|
|
|
|
|
|
|
|
# zerospu2 Windows sources
|
|
|
|
set(zerospu2WindowsSources
|
|
|
|
Targets/dsound51.cpp
|
|
|
|
Windows/Win32.cpp
|
|
|
|
Windows/ZeroSPU2.def
|
|
|
|
Windows/ZeroSPU2.rc)
|
|
|
|
|
|
|
|
# zerospu2 Windows headers
|
|
|
|
set(zerospu2WindowsHeaders
|
|
|
|
resources.h
|
|
|
|
Targets/dsound51.h)
|
|
|
|
|
2010-01-22 04:36:49 +00:00
|
|
|
# add additional include directories
|
|
|
|
include_directories(.
|
|
|
|
Linux
|
|
|
|
Targets)
|
|
|
|
|
2010-01-21 15:12:50 +00:00
|
|
|
# add library
|
2010-07-25 13:54:26 +00:00
|
|
|
add_library(${Output} SHARED
|
2010-01-21 15:12:50 +00:00
|
|
|
${zerospu2Sources}
|
|
|
|
${zerospu2Headers}
|
|
|
|
${zerospu2LinuxSources}
|
|
|
|
${zerospu2LinuxHeaders})
|
|
|
|
|
|
|
|
# set output directory
|
2010-07-25 13:54:26 +00:00
|
|
|
set_target_properties(${Output} PROPERTIES
|
2010-01-21 15:12:50 +00:00
|
|
|
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/plugins)
|
|
|
|
|
|
|
|
# link target with ALSA
|
2010-07-25 13:54:26 +00:00
|
|
|
target_link_libraries(${Output} ${ALSA_LIBRARIES})
|
2010-01-21 15:12:50 +00:00
|
|
|
|
2010-01-22 04:36:49 +00:00
|
|
|
if(PORTAUDIO_FOUND)
|
|
|
|
# link target with PortAudio
|
2010-07-25 13:54:26 +00:00
|
|
|
#target_link_libraries(${Output} ${PORTAUDIO_LIBRARIES})
|
2010-01-22 04:36:49 +00:00
|
|
|
endif(PORTAUDIO_FOUND)
|
|
|
|
|
2010-01-21 15:12:50 +00:00
|
|
|
# link target with SoundTouch
|
2010-07-25 13:54:26 +00:00
|
|
|
target_link_libraries(${Output} ${SOUNDTOUCH_LIBRARIES})
|
2010-07-25 14:20:03 +00:00
|
|
|
|
|
|
|
# User flags options
|
|
|
|
if(NOT USER_CMAKE_LD_FLAGS STREQUAL "")
|
|
|
|
target_link_libraries(${Output} "${USER_CMAKE_LD_FLAGS}")
|
|
|
|
endif(NOT USER_CMAKE_LD_FLAGS STREQUAL "")
|