[SCM] supercollider/master: cmake: use system boost if available Backported from supercollider git master to 3.5 Backported these commits: 452e9881cf5baca2b, 5ea30c698f10ec, 9913b2d92f
danstowell-guest at users.alioth.debian.org
danstowell-guest at users.alioth.debian.org
Sun May 13 17:30:23 UTC 2012
The following commit has been merged in the master branch:
commit 944db0457dea1246477cf9c69f5a539a4f2a533a
Author: Dan Stowell <danstowell at users.sourceforge.net>
Date: Sat May 12 18:34:24 2012 +0100
cmake: use system boost if available Backported from supercollider git master to 3.5 Backported these commits: 452e9881cf5baca2b, 5ea30c698f10ec, 9913b2d92f
diff --git a/debian/patches/series b/debian/patches/series
index fa04c7b..06a6e6a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
install_readme_extensions.patch
fix_scvim.sc_permissions.patch
+use_system_boost.patch
diff --git a/debian/patches/use_system_boost.patch b/debian/patches/use_system_boost.patch
new file mode 100644
index 0000000..0a344ae
--- /dev/null
+++ b/debian/patches/use_system_boost.patch
@@ -0,0 +1,361 @@
+# use_system_boost.patch - use system boost if available
+# Backported from supercollider git master to 3.5
+# Backported these commits: 452e9881cf5baca2b, 5ea30c698f10ec, 9913b2d92f
+
+Index: supercollider/CMakeLists.txt
+===================================================================
+--- supercollider.orig/CMakeLists.txt 2012-05-12 17:57:29.208102870 +0100
++++ supercollider/CMakeLists.txt 2012-05-12 18:27:14.564151260 +0100
+@@ -125,32 +125,11 @@
+ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_RELEASE} /MTd")
+ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_DEBUG} /MT")
+ endif()
+-endif()
+-
+-
+-#############################################
+-# some default libraries
+-
+-find_package(Pthreads)
+
+-if (NOT PTHREADS_FOUND)
+- message(SEND_ERROR "cannot find libpthreads")
++ # correctly link the static Boost Thread library:
++ add_definitions(-DBOOST_THREAD_USE_LIB)
+ endif()
+-include_directories(${PTHREADS_INCLUDE_DIR})
+
+-if (MSVC OR MINGW)
+- set(MATH_LIBRARY "")
+-else()
+- find_library(MATH_LIBRARY m)
+-endif()
+-
+-if(CURL)
+- find_package(CURL)
+- if(CURL_FOUND)
+- add_definitions("-DHAVE_LIBCURL")
+- include_directories(${CURL_INCLUDE_DIRS})
+- endif()
+-endif()
+
+ #############################################
+ # Options
+@@ -215,6 +194,43 @@
+ option(SC_OX "Try to compile with support for C++0x (experimental, mainly related to supernova)" OFF)
+
+ #############################################
++# some default libraries
++
++find_package(Pthreads)
++
++if (NOT PTHREADS_FOUND)
++ message(SEND_ERROR "cannot find libpthreads")
++endif()
++include_directories(${PTHREADS_INCLUDE_DIR})
++
++if (MSVC OR MINGW)
++ set(MATH_LIBRARY "")
++else()
++ find_library(MATH_LIBRARY m)
++endif()
++
++if(CURL)
++ find_package(CURL)
++ if(CURL_FOUND)
++ add_definitions("-DHAVE_LIBCURL")
++ include_directories(${CURL_INCLUDE_DIRS})
++ endif()
++endif()
++
++set(Boost_USE_MULTITHREADED ON)
++find_package( Boost 1.48.0 COMPONENTS thread system filesystem program_options regex )
++
++if (SC_OX)
++ set(Boost_FOUND OFF) # boost 1.48 does not like c++11
++endif()
++
++if (NOT Boost_FOUND)
++ message("building boost libraries manually")
++endif()
++
++
++
++#############################################
+ # some preprocessor flags
+ if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
+ if (SSE)
+Index: supercollider/external_libraries/CMakeLists.txt
+===================================================================
+--- supercollider.orig/external_libraries/CMakeLists.txt 2012-05-12 17:57:29.224102867 +0100
++++ supercollider/external_libraries/CMakeLists.txt 2012-05-12 18:27:14.564151260 +0100
+@@ -1,82 +1,71 @@
+ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/nova-simd/vec.hpp)
+- message(FATAL_ERROR "nova-simd submodule is missing: please run `git submodule init && git submodule update' from the toplevel of your git working tree")
++ message(FATAL_ERROR "nova-simd submodule is missing: please run `git submodule init && git submodule update' from the toplevel of your git working tree")
+ endif()
+
+-# boost thread
+-aux_source_directory(boost/libs/thread/src/ boost_thread_src )
+-
+-include_directories(boost)
++if(NOT Boost_FOUND) # we compile boost ourselves
++ # boost thread
++ aux_source_directory(boost/libs/thread/src/ boost_thread_src )
++
++ include_directories(boost)
++
++ if(WIN32)
++ aux_source_directory(boost/libs/thread/src/win32/ boost_thread_platform )
++ add_definitions(-DBOOST_THREAD_BUILD_LIB)
++ elseif(PTHREADS_FOUND)
++ aux_source_directory(boost/libs/thread/src/pthread/ boost_thread_platform )
++ else()
++ message(SEND_ERROR "we need to implement boost_thread")
++ endif()
+
+-if(WIN32)
+- aux_source_directory(boost/libs/thread/src/win32/ boost_thread_platform )
+- add_definitions(-DBOOST_THREAD_BUILD_DLL)
+-elseif(PTHREADS_FOUND)
+- aux_source_directory(boost/libs/thread/src/pthread/ boost_thread_platform )
+-else()
+- message(SEND_ERROR "we need to implement boost_thread")
+-endif()
++ include_directories(${PTHREADS_INCLUDE_DIR})
+
+-include_directories(${PTHREADS_INCLUDE_DIR})
++ if (SUPERNOVA)
++ aux_source_directory(boost/libs/program_options/src/ boost_program_options )
++ add_library(boost_program_options STATIC ${boost_program_options})
+
+-if (SUPERNOVA)
+- aux_source_directory(boost/libs/program_options/src/ boost_program_options )
+- add_library(boost_program_options STATIC ${boost_program_options})
++ aux_source_directory(boost/libs/system/src/ boost_system )
++ add_library(boost_system STATIC ${boost_system})
+
+- aux_source_directory(boost/libs/system/src/ boost_system )
+- add_library(boost_system STATIC ${boost_system})
++ aux_source_directory(boost/libs/filesystem/v3/src boost_filesystem_v3)
++ add_library(boost_filesystem STATIC ${boost_filesystem_v2} ${boost_filesystem_v3})
+
+- aux_source_directory(boost/libs/filesystem/v3/src boost_filesystem_v3)
+- add_library(boost_filesystem STATIC ${boost_filesystem_v2} ${boost_filesystem_v3})
++ if(LTO)
++ set_property(TARGET boost_program_options boost_system boost_filesystem
++ APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report")
+
++ set_property(TARGET boost_program_options boost_system boost_filesystem
++ APPEND PROPERTY LINK_FLAGS "-flto -flto-report")
++ endif()
++ endif()
+
+- #oscpack
+- add_library(oscpack STATIC "oscpack_build.cpp")
+-
+- #tlsf
+- add_library(tlsf STATIC "TLSF-2.4.6/src/tlsf.c")
+- set_target_properties(tlsf
+- PROPERTIES COMPILE_DEFINITIONS TLSF_STATISTIC=1)
++ if (${DSO_VISIBILITY})
++ remove_definitions(-fvisibility=hidden)
++ endif()
+
++ add_library(boost_thread STATIC ${boost_thread_src} ${boost_thread_platform})
+
+ if(LTO)
+- set_property(TARGET boost_program_options boost_system boost_filesystem oscpack tlsf
++ set_property(TARGET boost_thread
+ APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report")
+
+- set_property(TARGET boost_program_options boost_system boost_filesystem oscpack tlsf
++ set_property(TARGET boost_thread
+ APPEND PROPERTY LINK_FLAGS "-flto -flto-report")
+ endif()
+ endif()
+
+-if (${DSO_VISIBILITY})
+- remove_definitions(-fvisibility=hidden)
+-endif()
+-
+-add_library(boost_thread STATIC ${boost_thread_src} ${boost_thread_platform})
+-
+-add_library(supercollider_boost_thread SHARED ${boost_thread_src} ${boost_thread_platform})
+-target_link_libraries(supercollider_boost_thread ${PTHREADS_LIBRARY})
+-
+-if(LTO)
+- set_property(TARGET boost_thread supercollider_boost_thread
+- APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report")
+-
+- set_property(TARGET boost_thread supercollider_boost_thread
+- APPEND PROPERTY LINK_FLAGS "-flto -flto-report")
+-endif()
++if (SUPERNOVA)
++ #oscpack
++ add_library(oscpack STATIC "oscpack_build.cpp")
+
++ #tlsf
++ add_library(tlsf STATIC "TLSF-2.4.6/src/tlsf.c")
++ set_target_properties(tlsf
++ PROPERTIES COMPILE_DEFINITIONS TLSF_STATISTIC=1)
++ if(LTO)
++ set_property(TARGET oscpack tlsf
++ APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report")
+
+-if(APPLE)
+- include (${CMAKE_SOURCE_DIR}/cmake_modules/MacAppFolder.cmake)
+- install(TARGETS supercollider_boost_thread
+- LIBRARY DESTINATION "${scappauxresourcesdir}/../MacOS"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+-elseif(WIN32)
+- install(TARGETS supercollider_boost_thread
+- DESTINATION "SuperCollider"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+-else()
+- install(TARGETS supercollider_boost_thread
+- LIBRARY DESTINATION "lib"
+- RUNTIME DESTINATION "bin"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
++ set_property(TARGET oscpack tlsf
++ APPEND PROPERTY LINK_FLAGS "-flto -flto-report")
++ endif()
+ endif()
+Index: supercollider/lang/CMakeLists.txt
+===================================================================
+--- supercollider.orig/lang/CMakeLists.txt 2012-05-12 17:57:29.260102868 +0100
++++ supercollider/lang/CMakeLists.txt 2012-05-12 18:29:50.236155477 +0100
+@@ -3,12 +3,17 @@
+ ${CMAKE_SOURCE_DIR}/include/plugin_interface
+ ${CMAKE_SOURCE_DIR}/include/server
+ ${CMAKE_SOURCE_DIR}/external_libraries/boost_lockfree
+- ${CMAKE_SOURCE_DIR}/external_libraries/boost
+ ${CMAKE_SOURCE_DIR}/external_libraries/threadpool
+ ${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp-0.3.0/include
+ ${CMAKE_SOURCE_DIR}/external_libraries/TLSF-2.4.6/src
+ LangSource/Bison)
+
++if (Boost_FOUND)
++ include_directories(${Boost_INCLUDE_DIRS})
++else()
++ include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost)
++endif()
++
+ if(APPLE)
+ include_directories("LangPrimSource/${HID_UTIL_DIR}")
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
+@@ -73,10 +78,12 @@
+ ${CMAKE_SOURCE_DIR}/common/sc_popen.cpp
+ )
+
+-file(GLOB boost_system_sources ../external_libraries/boost/libs/system/src/*cpp)
+-file(GLOB boost_fs_sources ../external_libraries/boost/libs/filesystem/v3/src/*cpp)
+-file(GLOB boost_regex_sources ../external_libraries/boost/libs/regex/src/*cpp)
+-list(APPEND sclang_sources ${boost_fs_sources} ${boost_system_sources} ${boost_regex_sources})
++if (NOT Boost_FOUND)
++ file(GLOB boost_system_sources ../external_libraries/boost/libs/system/src/*cpp)
++ file(GLOB boost_fs_sources ../external_libraries/boost/libs/filesystem/v3/src/*cpp)
++ file(GLOB boost_regex_sources ../external_libraries/boost/libs/regex/src/*cpp)
++ list(APPEND sclang_sources ${boost_fs_sources} ${boost_system_sources} ${boost_regex_sources})
++endif()
+
+ file(GLOB yaml_sources ../external_libraries/yaml-cpp-0.3.0/src/*cpp)
+ list(APPEND sclang_sources ${yaml_sources})
+@@ -186,6 +193,10 @@
+ endif()
+ endif()
+
++if (Boost_FOUND)
++ target_link_libraries(libsclang ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY} ${Boost_FILESYSTEM_LIBRARY})
++endif()
++
+ if (SCLANG_SERVER)
+ target_link_libraries(libsclang libscsynth)
+ else()
+@@ -253,14 +264,18 @@
+ target_link_libraries(libsclang rt)
+ endif()
+
+-target_link_libraries(libsclang ${PTHREADS_LIBRARY} supercollider_boost_thread)
++target_link_libraries(libsclang ${PTHREADS_LIBRARY})
+
+ if(SC_QT)
+ target_link_libraries(libsclang ${QT_COLLIDER_LIBS})
+ endif()
+
+ add_executable(sclang LangSource/cmdLineFuncs.cpp)
+-target_link_libraries(sclang libsclang boost_thread)
++if (${Boost_FOUND})
++ target_link_libraries(sclang libsclang ${Boost_THREAD_LIBRARY})
++else()
++ target_link_libraries(sclang libsclang boost_thread)
++endif()
+
+ set_property(TARGET sclang
+ APPEND
+Index: supercollider/server/CMakeLists.txt
+===================================================================
+--- supercollider.orig/server/CMakeLists.txt 2012-05-12 17:57:29.288102870 +0100
++++ supercollider/server/CMakeLists.txt 2012-05-12 18:27:14.564151260 +0100
+@@ -3,17 +3,15 @@
+ add_definitions("-DSC_PLUGIN_EXT=\".so\"")
+ endif()
+
+-
+ include_directories(${CMAKE_SOURCE_DIR}/external_libraries
+- ${CMAKE_SOURCE_DIR}/external_libraries/boost
+- ${CMAKE_SOURCE_DIR}/external_libraries/boost_lockfree
+- ${CMAKE_SOURCE_DIR}/external_libraries/nova-simd
+- ${CMAKE_SOURCE_DIR}/external_libraries/nova-tt
+- )
++ ${CMAKE_SOURCE_DIR}/external_libraries/boost_lockfree
++ ${CMAKE_SOURCE_DIR}/external_libraries/nova-simd
++ ${CMAKE_SOURCE_DIR}/external_libraries/nova-tt
++ )
+
+ add_subdirectory(plugins)
+ add_subdirectory(scsynth)
+
+ if (SUPERNOVA)
+- add_subdirectory(supernova)
++ add_subdirectory(supernova)
+ endif()
+Index: supercollider/server/supernova/CMakeLists.txt
+===================================================================
+--- supercollider.orig/server/supernova/CMakeLists.txt 2012-05-12 17:57:29.316102874 +0100
++++ supercollider/server/supernova/CMakeLists.txt 2012-05-12 18:27:14.564151260 +0100
+@@ -31,11 +31,17 @@
+
+
+ include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost_endian
+- ${CMAKE_SOURCE_DIR}/external_libraries/boost_move
+ ${CMAKE_SOURCE_DIR}/external_libraries/oscpack
+ ${CMAKE_SOURCE_DIR}/external_libraries/TLSF-2.4.6/src
+ )
+
++if (Boost_FOUND)
++ include_directories(${Boost_INCLUDE_DIRS})
++else()
++ include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost)
++endif()
++
++
+ if(APPLE)
+ include_directories(${CMAKE_SOURCE_DIR}/external_libraries/libsndfile)
+ endif()
+@@ -124,7 +130,14 @@
+ target_link_libraries(libsupernova rt)
+ endif()
+
+-target_link_libraries(libsupernova oscpack tlsf boost_thread boost_system boost_filesystem boost_program_options ${PTHREADS_LIBRARIES})
++target_link_libraries(libsupernova oscpack tlsf ${PTHREADS_LIBRARIES})
++
++if (Boost_FOUND)
++ target_link_libraries(libsupernova ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY})
++else()
++ target_link_libraries(libsupernova boost_thread boost_system boost_filesystem boost_program_options)
++endif()
++
+ target_link_libraries(supernova libsupernova)
+
+ if(APPLE)
--
supercollider packaging
More information about the pkg-multimedia-commits
mailing list