From 18a9517370b612ec3c18a43529ddbe421e28e108 Mon Sep 17 00:00:00 2001 From: BodgeMaster <> Date: Sun, 30 Oct 2022 19:39:27 +0100 Subject: [PATCH] Build system: Start working on Cygwin support --- .mingw-cross.cmake | 11 +++++++++++ scripts/clean.sh | 10 +++++++--- scripts/setup_project.sh | 7 ++++++- setupenv.bashrc | 2 +- 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 .mingw-cross.cmake diff --git a/.mingw-cross.cmake b/.mingw-cross.cmake new file mode 100644 index 0000000..9e60626 --- /dev/null +++ b/.mingw-cross.cmake @@ -0,0 +1,11 @@ +set(CMAKE_SYSTEM_NAME Windows) +set(WIN32 true) +set(UNIX false) + +set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) +set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) + +set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32) +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/scripts/clean.sh b/scripts/clean.sh index e4f54de..4f6e8c4 100755 --- a/scripts/clean.sh +++ b/scripts/clean.sh @@ -27,9 +27,13 @@ create_directory ./bin create_directory ./bin/lib create_directory ./include -ln -vs ../../dependencies/sockpp-0.7.1/build/libsockpp.so bin/lib/ -ln -vs ../../dependencies/sockpp-0.7.1/build/libsockpp.so.0 bin/lib/ -ln -vs ../../dependencies/sockpp-0.7.1/build/libsockpp.so.0.7.1 bin/lib/ +if uname -s | tr [:upper:] [:lower:] | grep cygwin >/dev/null; then + ln -vs ../../dependencies/sockpp-0.7.1/build/libsockpp.dll bin/lib/libsockpp.so +else + ln -vs ../../dependencies/sockpp-0.7.1/build/libsockpp.so bin/lib/ + ln -vs ../../dependencies/sockpp-0.7.1/build/libsockpp.so.0 bin/lib/ + ln -vs ../../dependencies/sockpp-0.7.1/build/libsockpp.so.0.7.1 bin/lib/ +fi ln -vs ../dependencies/sockpp-0.7.1/include/sockpp/ ./include/ ln -vs ../dependencies/tiny-utf8-4.4.3/include/tinyutf8/ ./include/ diff --git a/scripts/setup_project.sh b/scripts/setup_project.sh index 39ce6e4..7bc5116 100755 --- a/scripts/setup_project.sh +++ b/scripts/setup_project.sh @@ -92,7 +92,12 @@ echo "done" echo ">>> Building sockpp... " pushd dependencies/sockpp-0.7.1/ >/dev/null 2>&1 -cmake -Bbuild . +if uname -s | tr [:upper:] [:lower:] | grep cygwin >/dev/null; then + echo "Adding cygwin workaound for building sockpp." + cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=$PROJECT_BASE_DIR/.mingw-cross.cmake -DSOCKPP_BUILD_SHARED=ON -DSOCKPP_BUILD_STATIC=OFF +else + cmake -Bbuild . +fi cmake --build build popd >/dev/null 2>&1 diff --git a/setupenv.bashrc b/setupenv.bashrc index c3daadd..7e97cf1 100644 --- a/setupenv.bashrc +++ b/setupenv.bashrc @@ -15,7 +15,7 @@ echo ">>> Loading shell environment for FOSS-VG development..." -PROJECT_BASE_DIR="$( cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 ; pwd -P )" +export PROJECT_BASE_DIR="$( cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 ; pwd -P )" echo "Project base directory is $PROJECT_BASE_DIR" if [ -f "$PROJECT_BASE_DIR/.localenv.bashrc" ]; then