From db93d84d9653c4b9d32ef10b7e8e8b195f698a55 Mon Sep 17 00:00:00 2001 From: "Fletcher T. Penney" Date: Mon, 9 Nov 2015 07:07:57 -0500 Subject: [PATCH] update master Makefile; add MinGW 64 bit support --- Makefile | 32 ++++++++++++++++++++++++++++---- tools/Toolchain-mingw64.cmake | 9 +++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 tools/Toolchain-mingw64.cmake diff --git a/Makefile b/Makefile index 679c153..52d29b6 100644 --- a/Makefile +++ b/Makefile @@ -10,24 +10,48 @@ release: $(BUILD_DIR) cd $(BUILD_DIR); \ cmake -DCMAKE_BUILD_TYPE=Release .. -# Enables CuTest unit testing +# Build zip file package +.PHONY : zip +zip: $(BUILD_DIR) + cd $(BUILD_DIR); touch README.html; \ + cmake -DCMAKE_BUILD_TYPE=Release -DZIP=1 .. + +# debug target enables CuTest unit testing .PHONY : debug debug: $(BUILD_DIR) cd $(BUILD_DIR); \ cmake -DTEST=1 .. -# For Mac only +# Create xcode project .PHONY : xcode xcode: $(BUILD_DIR) cd $(BUILD_DIR); \ cmake -G Xcode .. -# Cross-compile for Windows +# Cross-compile for Windows using MinGW on *nix .PHONY : windows windows: $(BUILD_DIR) - cd $(BUILD_DIR); \ + cd $(BUILD_DIR); touch README.html; \ + cmake -DCMAKE_TOOLCHAIN_FILE=../tools/Toolchain-mingw64.cmake -DCMAKE_BUILD_TYPE=Release .. + +# Build Windows zip file using MinGW on *nix +.PHONY : windows-zip +windows-zip: $(BUILD_DIR) + cd $(BUILD_DIR); touch README.html; \ + cmake -DCMAKE_TOOLCHAIN_FILE=../tools/Toolchain-mingw64.cmake -DCMAKE_BUILD_TYPE=Release -DZIP=1 .. + +# Cross-compile for Windows using MinGW on *nix (32-bit) +.PHONY : windows-32 +windows-32: $(BUILD_DIR) + cd $(BUILD_DIR); touch README.html; \ cmake -DCMAKE_TOOLCHAIN_FILE=../tools/Toolchain-mingw32.cmake -DCMAKE_BUILD_TYPE=Release .. +# Build Windows zip file using MinGW on *nix (32-bit) +.PHONY : windows-zip-32 +windows-zip-32: $(BUILD_DIR) + cd $(BUILD_DIR); touch README.html; \ + cmake -DCMAKE_TOOLCHAIN_FILE=../tools/Toolchain-mingw32.cmake -DCMAKE_BUILD_TYPE=Release -DZIP=1 .. + # Build the documentation using doxygen .PHONY : documentation documentation: $(BUILD_DIR) diff --git a/tools/Toolchain-mingw64.cmake b/tools/Toolchain-mingw64.cmake new file mode 100644 index 0000000..dbba2b4 --- /dev/null +++ b/tools/Toolchain-mingw64.cmake @@ -0,0 +1,9 @@ +# Settings for compiling for Windows 64-bit machines + +set (CMAKE_SYSTEM_NAME Windows) + +set (CMAKE_C_COMPILER i686-w64-mingw32-gcc) +set (CMAKE_CXX_COMPILER i686-w64-mingw32-g++) +set (CMAKE_RC_COMPILER i686-w64-mingw32-windres) + +set (CMAKE_FIND_ROOT_PATH /usr/bin)