mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-19 02:00:06 +02:00
235 lines
8.2 KiB
Plaintext
235 lines
8.2 KiB
Plaintext
From 3474924f0f5ad8792ae2c25a9dd373218abbe71f Mon Sep 17 00:00:00 2001
|
|
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
|
Date: Sat, 6 Oct 2018 11:05:15 +1000
|
|
Subject: Fix build for Haiku
|
|
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index eaf7d65..82d8e9a 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -33,6 +33,7 @@ MESSAGE("questions or issues, please visit <http://www.openshot.org/>.")
|
|
|
|
################ ADD CMAKE MODULES ##################
|
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules")
|
|
+include(GNUInstallDirs)
|
|
|
|
################ GET VERSION INFORMATION FROM VERSION.H ##################
|
|
MESSAGE("--------------------------------------------------------------")
|
|
@@ -86,5 +87,4 @@ add_subdirectory(tests)
|
|
# Find Doxygen (used for documentation)
|
|
include(cmake/Modules/UseDoxygen.cmake)
|
|
|
|
-file(GLOB_RECURSE doc_files ${CMAKE_CURRENT_BINARY_DIR}/doc/html/*.*)
|
|
-INSTALL(FILES ${doc_files} DESTINATION share/doc/libopenshot)
|
|
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html/ DESTINATION ${CMAKE_INSTALL_DOCDIR}/libopenshot OPTIONAL)
|
|
diff --git a/cmake/Modules/FindOpenShotAudio.cmake b/cmake/Modules/FindOpenShotAudio.cmake
|
|
index 1de4529..112f3bb 100644
|
|
--- a/cmake/Modules/FindOpenShotAudio.cmake
|
|
+++ b/cmake/Modules/FindOpenShotAudio.cmake
|
|
@@ -9,9 +9,9 @@ message("$ENV{LIBOPENSHOT_AUDIO_DIR}")
|
|
|
|
# Find the base directory of juce includes
|
|
find_path(LIBOPENSHOT_AUDIO_BASE_DIR JuceHeader.h
|
|
- PATHS $ENV{LIBOPENSHOT_AUDIO_DIR}/include/libopenshot-audio/
|
|
- /usr/include/libopenshot-audio/
|
|
- /usr/local/include/libopenshot-audio/ )
|
|
+ HINTS ENV LIBOPENSHOT_AUDIO_DIR
|
|
+ PATH_SUFFIXES include/libopenshot-audio
|
|
+ libopenshot-audio )
|
|
|
|
# Get a list of all header file paths
|
|
FILE(GLOB_RECURSE JUCE_HEADER_FILES
|
|
@@ -32,21 +32,14 @@ ENDFOREACH(HEADER_PATH)
|
|
# Remove duplicates from the header directories list
|
|
LIST(REMOVE_DUPLICATES HEADER_DIRECTORIES)
|
|
|
|
-# Find the libopenshot-audio.so (check env var first)
|
|
-find_library(LIBOPENSHOT_AUDIO_LIBRARY
|
|
- NAMES libopenshot-audio openshot-audio
|
|
- PATHS $ENV{LIBOPENSHOT_AUDIO_DIR}/lib/ NO_DEFAULT_PATH)
|
|
-
|
|
-# Find the libopenshot-audio.so / libopenshot-audio.dll library (fallback)
|
|
find_library(LIBOPENSHOT_AUDIO_LIBRARY
|
|
NAMES libopenshot-audio openshot-audio
|
|
- HINTS $ENV{LIBOPENSHOT_AUDIO_DIR}/lib/
|
|
- /usr/lib/
|
|
- /usr/lib/libopenshot-audio/
|
|
- /usr/local/lib/ )
|
|
+ HINTS ENV LIBOPENSHOT_AUDIO_DIR
|
|
+ PATH_SUFFIXES
|
|
+ lib/libopenshot-audio
|
|
+ lib )
|
|
|
|
set(LIBOPENSHOT_AUDIO_LIBRARIES ${LIBOPENSHOT_AUDIO_LIBRARY})
|
|
-set(LIBOPENSHOT_AUDIO_LIBRARY ${LIBOPENSHOT_AUDIO_LIBRARIES})
|
|
|
|
# Seems to work fine with just the base dir (rather than all the actual include folders)
|
|
set(LIBOPENSHOT_AUDIO_INCLUDE_DIR ${LIBOPENSHOT_AUDIO_BASE_DIR} )
|
|
@@ -55,5 +48,5 @@ set(LIBOPENSHOT_AUDIO_INCLUDE_DIRS ${LIBOPENSHOT_AUDIO_BASE_DIR} )
|
|
include(FindPackageHandleStandardArgs)
|
|
# handle the QUIETLY and REQUIRED arguments and set LIBOPENSHOT_AUDIO_FOUND to TRUE
|
|
# if all listed variables are TRUE
|
|
-find_package_handle_standard_args(LIBOPENSHOT_AUDIO DEFAULT_MSG
|
|
- LIBOPENSHOT_AUDIO_LIBRARY LIBOPENSHOT_AUDIO_INCLUDE_DIR)
|
|
+find_package_handle_standard_args(LIBOPENSHOT_AUDIO DEFAULT_MSG
|
|
+ LIBOPENSHOT_AUDIO_LIBRARY LIBOPENSHOT_AUDIO_INCLUDE_DIRS)
|
|
diff --git a/cmake/Modules/FindUnitTest++.cmake b/cmake/Modules/FindUnitTest++.cmake
|
|
index 545f62a..978b075 100644
|
|
--- a/cmake/Modules/FindUnitTest++.cmake
|
|
+++ b/cmake/Modules/FindUnitTest++.cmake
|
|
@@ -1,49 +1,39 @@
|
|
# Locate UNITTEST
|
|
# This module defines
|
|
# UNITTEST++_LIBRARY
|
|
-# UNITTEST++_FOUND, if false, do not try to link to gdal
|
|
+# UNITTEST++_FOUND, if false, do not try to link to gdal
|
|
# UNITTEST++_INCLUDE_DIR, where to find the headers
|
|
|
|
FIND_PATH(UNITTEST++_INCLUDE_DIR UnitTest++.h
|
|
- ${UNITTEST_DIR}/include/unittest++
|
|
- $ENV{UNITTEST_DIR}/include/unittest++
|
|
- $ENV{UNITTEST_DIR}/src
|
|
- $ENV{UNITTEST_DIR}
|
|
- ~/Library/Frameworks
|
|
- /Library/Frameworks
|
|
- /usr/local/include
|
|
- /usr/include
|
|
- /usr/include/unittest++
|
|
- /usr/include/UnitTest++ # Fedora
|
|
- /usr/include/unittest-cpp # openSUSE
|
|
- /usr/local/include/UnitTest++/ # Arch
|
|
- /sw/include # Fink
|
|
- /opt/local/include # DarwinPorts
|
|
- /opt/local/include/UnitTest++
|
|
- /opt/csw/include # Blastwave
|
|
- /opt/include
|
|
- [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment]/include
|
|
- /usr/freeware/include
|
|
+ HINTS
|
|
+ ENV UNITTEST_DIR
|
|
+ PATHS
|
|
+ [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment]
|
|
+ ~/Library/Frameworks
|
|
+ /Library/Frameworks
|
|
+ $ENV{UNITTEST_DIR}/src
|
|
+ PATH_SUFFIXES
|
|
+ include/unittest++
|
|
+ include/UnitTest++
|
|
+ include/unittest-cpp
|
|
+ include
|
|
+ unittest++
|
|
+ UnitTest++
|
|
+ unittest-cpp
|
|
)
|
|
|
|
-FIND_LIBRARY(UNITTEST++_LIBRARY
|
|
+FIND_LIBRARY(UNITTEST++_LIBRARY
|
|
NAMES unittest++ UnitTest++
|
|
+ HINTS
|
|
+ ENV UNITTEST_DIR
|
|
PATHS
|
|
- ${UNITTEST_DIR}/lib
|
|
- $ENV{UNITTEST_DIR}/lib
|
|
- $ENV{UNITTEST_DIR}/build
|
|
- $ENV{UNITTEST_DIR}
|
|
- ~/Library/Frameworks
|
|
- /Library/Frameworks
|
|
- /usr/local/lib
|
|
- /usr/lib
|
|
- /usr/lib64/ # Fedora
|
|
- /sw/lib
|
|
- /opt/local/lib
|
|
- /opt/csw/lib
|
|
- /opt/lib
|
|
- [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment]/lib
|
|
- /usr/freeware/lib64
|
|
+ [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment]
|
|
+ $ENV{UNITTEST_DIR}/build
|
|
+ ~/Library/Frameworks
|
|
+ /Library/Frameworks
|
|
+ PATH_SUFFIXES
|
|
+ lib
|
|
+ lib64
|
|
)
|
|
|
|
SET(UNITTEST++_FOUND "NO")
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index d71067a..31549e5 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -293,7 +293,7 @@ set_target_properties(openshot
|
|
PROPERTIES
|
|
VERSION ${PROJECT_VERSION}
|
|
SOVERSION ${SO_VERSION}
|
|
- INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib"
|
|
+ INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR}
|
|
)
|
|
|
|
############### LINK LIBRARY #################
|
|
@@ -387,12 +387,12 @@ set(LIB_INSTALL_DIR lib${LIB_SUFFIX}) # determine correct lib folder
|
|
|
|
# Install primary library
|
|
INSTALL( TARGETS openshot
|
|
- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
|
|
- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
COMPONENT library )
|
|
|
|
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/include/libopenshot
|
|
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libopenshot
|
|
FILES_MATCHING PATTERN "*.h")
|
|
|
|
############### CPACK PACKAGING ##############
|
|
diff --git a/src/CrashHandler.cpp b/src/CrashHandler.cpp
|
|
index e7827d0..8b4e4ed 100644
|
|
--- a/src/CrashHandler.cpp
|
|
+++ b/src/CrashHandler.cpp
|
|
@@ -197,7 +197,7 @@ void CrashHandler::printStackTrace(FILE *out, unsigned int max_frames)
|
|
}
|
|
SymCleanup(process);
|
|
|
|
-#else
|
|
+#elif !defined(__HAIKU__)
|
|
// Linux and Mac stack unwinding
|
|
// Storage array for stack trace address data
|
|
void* addrlist[max_frames+1];
|
|
@@ -317,4 +317,4 @@ void CrashHandler::printStackTrace(FILE *out, unsigned int max_frames)
|
|
|
|
fprintf(out, "---- End of Stack Trace ----\n");
|
|
ZmqLogger::Instance()->LogToFile("---- End of Stack Trace ----\n");
|
|
-}
|
|
\ No newline at end of file
|
|
+}
|
|
--
|
|
2.19.0
|
|
|
|
|
|
From 573bd3c4130a336996274aaab2565e575dbc1cb4 Mon Sep 17 00:00:00 2001
|
|
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
|
Date: Sat, 6 Oct 2018 11:35:18 +1000
|
|
Subject: Don't use relative path for haiku
|
|
|
|
|
|
diff --git a/src/bindings/python/CMakeLists.txt b/src/bindings/python/CMakeLists.txt
|
|
index 80f012e..16741f0 100644
|
|
--- a/src/bindings/python/CMakeLists.txt
|
|
+++ b/src/bindings/python/CMakeLists.txt
|
|
@@ -53,9 +53,10 @@ IF (PYTHONLIBS_FOUND)
|
|
OUTPUT_VARIABLE _ABS_PYTHON_MODULE_PATH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
GET_FILENAME_COMPONENT(_ABS_PYTHON_MODULE_PATH "${_ABS_PYTHON_MODULE_PATH}" ABSOLUTE)
|
|
+IF (NOT HAIKU)
|
|
FILE(RELATIVE_PATH _REL_PYTHON_MODULE_PATH ${CMAKE_INSTALL_PREFIX} ${_ABS_PYTHON_MODULE_PATH})
|
|
SET(PYTHON_MODULE_PATH ${_REL_PYTHON_MODULE_PATH})
|
|
-
|
|
+ENDIF(NOT HAIKU)
|
|
############### INSTALL HEADERS & LIBRARY ################
|
|
### Install Python bindings
|
|
INSTALL(TARGETS _openshot DESTINATION ${PYTHON_MODULE_PATH} )
|
|
--
|
|
2.19.0
|
|
|