aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2017-11-10 01:45:20 +0300
committerWohlstand <admin@wohlnet.ru>2017-11-10 01:45:20 +0300
commit4de4e0f9ddf8a3a20310ef32b8e057f81693c85e (patch)
tree9cc764e89f5fb187b50fae84101a892393d12770 /cmake
parent48188458bcc624b13f9c242c0fddfba29a91286d (diff)
downloadlibADLMIDI-4de4e0f9ddf8a3a20310ef32b8e057f81693c85e.tar.gz
libADLMIDI-4de4e0f9ddf8a3a20310ef32b8e057f81693c85e.tar.bz2
libADLMIDI-4de4e0f9ddf8a3a20310ef32b8e057f81693c85e.zip
Repair support of DJGPP for libADLMIDI and Classic ADLMIDI tool
However, Important TODO: Implement support for Ctrl+C!!!
Diffstat (limited to 'cmake')
-rwxr-xr-xcmake/djgpp/djgpp-cmake.sh31
-rw-r--r--cmake/djgpp/toolchain-djgpp.cmake27
2 files changed, 58 insertions, 0 deletions
diff --git a/cmake/djgpp/djgpp-cmake.sh b/cmake/djgpp/djgpp-cmake.sh
new file mode 100755
index 0000000..7b4fab6
--- /dev/null
+++ b/cmake/djgpp/djgpp-cmake.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+djgpp_prefix=/usr/local/djgpp
+
+# export PKG_CONFIG_LIBDIR="${djgpp_prefix}/lib/pkgconfig"
+
+# djgpp_c_flags="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
+# export CFLAGS="$djgpp_c_flags"
+# export CXXFLAGS="$djgpp_c_flags"
+
+CUSTOM_PATH=/home/vitaly/_git_repos/libADLMIDI/cmake/djgpp:${djgpp_prefix}/bin:/usr/local/djgpp/libexec/gcc/i586-pc-msdosdjgpp/7.2.0:$PATH
+
+if [[ "$1" != '--build' ]]; then
+ echo "KEK [${CUSTOM_PATH}]"
+
+ PATH=${CUSTOM_PATH} cmake \
+ -DCMAKE_INSTALL_PREFIX:PATH=${djgpp_prefix} \
+ -DCMAKE_INSTALL_LIBDIR:PATH=${djgpp_prefix}/lib \
+ -DINCLUDE_INSTALL_DIR:PATH=${djgpp_prefix}/include \
+ -DLIB_INSTALL_DIR:PATH=${djgpp_prefix}/lib \
+ -DSYSCONF_INSTALL_DIR:PATH=${djgpp_prefix}/etc \
+ -DSHARE_INSTALL_DIR:PATH=${djgpp_prefix}/share \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DCMAKE_TOOLCHAIN_FILE=/home/vitaly/_git_repos/libADLMIDI/cmake/djgpp/toolchain-djgpp.cmake \
+ "$@"
+
+else
+ PATH=${CUSTOM_PATH} cmake "$@"
+fi
+
+#-DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/i686-pc-msdosdjgpp-wine
+
diff --git a/cmake/djgpp/toolchain-djgpp.cmake b/cmake/djgpp/toolchain-djgpp.cmake
new file mode 100644
index 0000000..3186b4f
--- /dev/null
+++ b/cmake/djgpp/toolchain-djgpp.cmake
@@ -0,0 +1,27 @@
+set (CMAKE_SYSTEM_NAME linux-djgpp)
+
+set (DJGPP TRUE)
+
+# specify the cross compiler
+set (CMAKE_C_COMPILER /usr/local/djgpp/bin/i586-pc-msdosdjgpp-gcc)
+set (CMAKE_CXX_COMPILER /usr/local/djgpp/bin/i586-pc-msdosdjgpp-g++)
+
+# where is the target environment
+set (CMAKE_FIND_ROOT_PATH /usr/local/djgpp)
+
+# search for programs in the build host directories
+set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+# for libraries and headers in the target directories
+set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+
+# Make sure Qt can be detected by CMake
+set (QT_BINARY_DIR /usr/local/djgpp/bin /usr/bin)
+set (QT_INCLUDE_DIRS_NO_SYSTEM ON)
+
+# These are needed for compiling lapack (RHBZ #753906)
+set (CMAKE_Fortran_COMPILER /usr/local/djgpp/bin/i586-pc-msdosdjgpp-gfortran)
+set (CMAKE_AR:FILEPATH /usr/local/djgpp/bin/i586-pc-msdosdjgpp-ar)
+set (CMAKE_RANLIB:FILEPATH /usr/local/djgpp/bin/i586-pc-msdosdjgpp-ranlib)
+