Allow disabling GPL only components.
Only works for Linux right now.
This commit is contained in:
+39
-15
@@ -39,32 +39,35 @@ set(CPACK_PACKAGE_NAME "StepMania")
|
|||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Rhythm Game Simulator")
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Rhythm Game Simulator")
|
||||||
|
|
||||||
# Prep options that are needed for each platform.
|
# Prep options that are needed for each platform.
|
||||||
option(WITH_NETWORKING "Build with networking support" ON)
|
option(WITH_NETWORKING "Build with networking support." ON)
|
||||||
|
|
||||||
# This option is not yet working, but will likely default to ON in the future.
|
# This option is not yet working, but will likely default to ON in the future.
|
||||||
option(WITH_LTO "Build with Link Time Optimization (LTO)/Whole Program Optimization" OFF)
|
option(WITH_LTO "Build with Link Time Optimization (LTO)/Whole Program Optimization." OFF)
|
||||||
|
|
||||||
option(WITH_SSE2 "Build with SSE2 Optimizations" ON)
|
option(WITH_SSE2 "Build with SSE2 Optimizations." ON)
|
||||||
|
|
||||||
# This option may go away in the future: if it does, JPEG will always be required.
|
# This option may go away in the future: if it does, JPEG will always be required.
|
||||||
option(WITH_JPEG "Build with JPEG Image Support" ON)
|
option(WITH_JPEG "Build with JPEG Image Support." ON)
|
||||||
|
|
||||||
# Turn this on to set this to a specific release mode.
|
# Turn this on to set this to a specific release mode.
|
||||||
option(WITH_FULL_RELEASE "Build as a proper, full release." OFF)
|
option(WITH_FULL_RELEASE "Build as a proper, full release." OFF)
|
||||||
|
|
||||||
|
# Turn this option off to not use the GPL exclusive components.
|
||||||
|
option(WITH_GPL_LIBS "Build with GPL libraries." ON)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
option(WITH_MINIMAID "Build with Mimimaid Lights Support" OFF)
|
option(WITH_MINIMAID "Build with Mimimaid Lights Support." OFF)
|
||||||
else()
|
else()
|
||||||
if(LINUX)
|
if(LINUX)
|
||||||
option(WITH_FFMPEG "Build with FFMPEG" ON)
|
option(WITH_FFMPEG "Build with FFMPEG." ON)
|
||||||
option(WITH_TTY "Build with Linux TTY Input Support" OFF)
|
option(WITH_TTY "Build with Linux TTY Input Support." OFF)
|
||||||
option(WITH_PROFILING "Build with Profiling Support" OFF)
|
option(WITH_PROFILING "Build with Profiling Support." OFF)
|
||||||
option(WITH_GLES2 "Build with OpenGL ES 2.0 Support" ON)
|
option(WITH_GLES2 "Build with OpenGL ES 2.0 Support." ON)
|
||||||
option(WITH_GTK2 "Build with GTK2 Support" ON)
|
option(WITH_GTK2 "Build with GTK2 Support." ON)
|
||||||
option(WITH_OGG "Build with OGG/Vorbis Support" ON)
|
option(WITH_OGG "Build with OGG/Vorbis Support." ON)
|
||||||
option(WITH_MP3 "Build with MP3 Support" ON)
|
option(WITH_MP3 "Build with MP3 Support." ON)
|
||||||
option(WITH_PARALLEL_PORT "Build with Parallel Lights I/O Support" OFF)
|
option(WITH_PARALLEL_PORT "Build with Parallel Lights I/O Support." OFF)
|
||||||
option(WITH_CRASH_HANDLER "Build with Crash Handler Support" ON)
|
option(WITH_CRASH_HANDLER "Build with Crash Handler Support." ON)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -167,6 +170,11 @@ elseif(LINUX)
|
|||||||
include(TestBigEndian)
|
include(TestBigEndian)
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
|
|
||||||
|
if(NOT WITH_GPL_LIBS)
|
||||||
|
message("Disabling GPL exclusive libraries: no MP3 support.")
|
||||||
|
set(WITH_MP3 OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_GTK2)
|
if(WITH_GTK2)
|
||||||
find_package("GTK2" 2.0)
|
find_package("GTK2" 2.0)
|
||||||
if (${GTK2_FOUND})
|
if (${GTK2_FOUND})
|
||||||
@@ -274,6 +282,22 @@ elseif(LINUX)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_FFMPEG)
|
if(WITH_FFMPEG)
|
||||||
|
list(APPEND FFMPEG_CONFIGURE
|
||||||
|
"${SM_EXTERN_DIR}/ffmpeg-linux/src/ffmpeg/configure"
|
||||||
|
"--disable-programs"
|
||||||
|
"--disable-doc"
|
||||||
|
"--disable-avdevice"
|
||||||
|
"--disable-swresample"
|
||||||
|
"--disable-postproc"
|
||||||
|
"--disable-avfilter"
|
||||||
|
"--disable-shared"
|
||||||
|
"--enable-static"
|
||||||
|
)
|
||||||
|
if(WITH_GPL_LIBS)
|
||||||
|
list(APPEND FFMPEG_CONFIGURE
|
||||||
|
"--enable-gpl"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
# NEVER use the system ffmpeg. Not worth the hassle.
|
# NEVER use the system ffmpeg. Not worth the hassle.
|
||||||
# --shlibdir=$our_installdir/stepmania-$VERSION
|
# --shlibdir=$our_installdir/stepmania-$VERSION
|
||||||
externalproject_add("ffmpeg"
|
externalproject_add("ffmpeg"
|
||||||
@@ -281,7 +305,7 @@ elseif(LINUX)
|
|||||||
PREFIX "${SM_EXTERN_DIR}/ffmpeg-linux"
|
PREFIX "${SM_EXTERN_DIR}/ffmpeg-linux"
|
||||||
GIT_REPOSITORY "git://source.ffmpeg.org/ffmpeg.git"
|
GIT_REPOSITORY "git://source.ffmpeg.org/ffmpeg.git"
|
||||||
GIT_TAG "n2.1.3"
|
GIT_TAG "n2.1.3"
|
||||||
CONFIGURE_COMMAND "${SM_EXTERN_DIR}/ffmpeg-linux/src/ffmpeg/configure" "--enable-gpl" "--disable-programs" "--disable-doc" "--disable-avdevice" "--disable-swresample" "--disable-postproc" "--disable-avfilter" "--disable-shared" "--enable-static"
|
CONFIGURE_COMMAND ${FFMPEG_CONFIGURE}
|
||||||
BUILD_COMMAND "make"
|
BUILD_COMMAND "make"
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
|
|||||||
Reference in New Issue
Block a user