From 42ad044817d4178358dbefeef26c8d9041187af5 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 19 Jun 2015 20:53:13 -0400 Subject: [PATCH] Linux broke somehow. Restore it with system jpeg. --- CMake/CMakeMacros.cmake | 7 +++++++ StepmaniaCore.cmake | 17 +++++++++++------ extern/CMakeLists.txt | 6 ++---- src/CMakeLists.txt | 6 +++++- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/CMake/CMakeMacros.cmake b/CMake/CMakeMacros.cmake index 71ce9c32b4..5049e4fbc7 100644 --- a/CMake/CMakeMacros.cmake +++ b/CMake/CMakeMacros.cmake @@ -1,3 +1,10 @@ +# Borrowed from http://stackoverflow.com/a/3323227/445373 +function(sm_list_replace container index newvalue) + list(INSERT ${container} ${index} ${newvalue}) + math(EXPR __INDEX "${index} + 1") + list(REMOVE_AT ${container} ${__INDEX}) +endfunction() + function(sm_append_simple_target_property target property str) get_target_property(current_property ${target} ${property}) if (current_property) diff --git a/StepmaniaCore.cmake b/StepmaniaCore.cmake index 688acebf85..66f2399f4b 100644 --- a/StepmaniaCore.cmake +++ b/StepmaniaCore.cmake @@ -56,23 +56,23 @@ if(WIN32) set(HAS_MP3 TRUE) set(SYSTEM_PCRE_FOUND FALSE) find_package(DirectX REQUIRED) - + # FFMPEG...it can be evil. find_library(LIB_SWSCALE NAMES "swscale" PATHS "${SM_EXTERN_DIR}/ffmpeg/lib" NO_DEFAULT_PATH ) get_filename_component(LIB_SWSCALE ${LIB_SWSCALE} NAME) - + find_library(LIB_AVCODEC NAMES "avcodec" PATHS "${SM_EXTERN_DIR}/ffmpeg/lib" NO_DEFAULT_PATH ) get_filename_component(LIB_AVCODEC ${LIB_AVCODEC} NAME) - + find_library(LIB_AVFORMAT NAMES "avformat" PATHS "${SM_EXTERN_DIR}/ffmpeg/lib" NO_DEFAULT_PATH ) get_filename_component(LIB_AVFORMAT ${LIB_AVFORMAT} NAME) - + find_library(LIB_AVUTIL NAMES "avutil" PATHS "${SM_EXTERN_DIR}/ffmpeg/lib" NO_DEFAULT_PATH ) @@ -87,7 +87,7 @@ elseif(MACOSX) set(CMAKE_OSX_ARCHITECTURES "i386") set(CMAKE_OSX_DEPLOYMENT_TARGET "10.6") set(CMAKE_OSX_DEPLOYMENT_TARGET_FULL "10.6.8") - + find_library(MAC_FRAME_ACCELERATE Accelerate ${CMAKE_SYSTEM_FRAMEWORK_PATH}) find_library(MAC_FRAME_APPKIT AppKit ${CMAKE_SYSTEM_FRAMEWORK_PATH}) find_library(MAC_FRAME_AUDIOTOOLBOX AudioToolbox ${CMAKE_SYSTEM_FRAMEWORK_PATH}) @@ -101,7 +101,7 @@ elseif(MACOSX) find_library(MAC_FRAME_IOKIT IOKit ${CMAKE_SYSTEM_FRAMEWORK_PATH}) find_library(MAC_FRAME_OPENGL OpenGL ${CMAKE_SYSTEM_FRAMEWORK_PATH}) find_library(MAC_FRAME_QUICKTIME QuickTime ${CMAKE_SYSTEM_FRAMEWORK_PATH}) - + mark_as_advanced( MAC_FRAME_ACCELERATE MAC_FRAME_APPKIT @@ -158,6 +158,11 @@ elseif(LINUX) message(FATAL_ERROR "zlib support required.") endif() + find_package("JPEG") + if(NOT(${JPEG_FOUND})) + message(FATAL_ERROR "jpeg support required.") + endif() + find_library(DL_LIBRARY dl) if(${LIBDL_FOUND}) set(HAS_LIBDL TRUE) diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index 3570229ad7..46b483ab48 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -11,9 +11,7 @@ if (APPLE OR MSVC) endif() include(CMakeProject-png.cmake) -if (NOT MSVC) +if (APPLE) include(CMakeProject-jpeg.cmake) - if (APPLE) - include(CMakeProject-mad.cmake) - endif() + include(CMakeProject-mad.cmake) endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 577279d837..e882b43e58 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -493,6 +493,7 @@ elseif(APPLE) ) else() # Unix / Linux # TODO: Remember to find and locate the zip archive files. + sm_list_replace(SMDATA_LINK_LIB 8 "${JPEG_LIBRARY}") if (HAS_FFMPEG) if(WITH_SYSTEM_FFMPEG) list(APPEND SMDATA_LINK_LIB @@ -596,14 +597,17 @@ if(NOT APPLE) list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/glew-1.5.8/include" "${SM_EXTERN_DIR}/jsoncpp/include" - "${SM_EXTERN_DIR}/libjpeg" "${SM_EXTERN_DIR}/zlib" ) if(MSVC) list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/ffmpeg/include" + "${SM_EXTERN_DIR}/libjpeg" ) else() + list(APPEND SM_INCLUDE_DIRS + "${JPEG_INCLUDE_DIR}" + ) if (HAS_FFMPEG) if (WITH_SYSTEM_FFMPEG) list(APPEND SM_INCLUDE_DIRS "${FFMPEG_INCLUDE_DIR}")