summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBignaux Ronan <ronan@aimao.org>2018-09-06 23:21:48 +0200
committerjkoan <jkoan@users.noreply.github.com>2019-05-20 21:29:43 +0200
commit6381e2cd7a1a22aace8da1e67c1ecb99c1879ec9 (patch)
treeb0d547ff0282cfefbe4dbe88faf4b6d57dc827db
parented5477dd42f5ec94e0228e762192ceed8122b7d4 (diff)
downloadnavit-6381e2cd7a1a22aace8da1e67c1ecb99c1879ec9.tar.gz
Refactoring:mingw:simplify toolchain
-rw-r--r--.circleci/config.yml7
-rwxr-xr-xCMakeLists.txt2
-rw-r--r--Toolchain/arm-mingw32ce.cmake8
-rw-r--r--Toolchain/i386-mingw32ce.cmake8
-rw-r--r--Toolchain/mingw.cmake33
-rw-r--r--Toolchain/mingw32.cmake22
-rw-r--r--scripts/build_win32.sh12
-rw-r--r--scripts/build_wince.sh12
8 files changed, 59 insertions, 45 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index e190d8e44..57e2f4c68 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -136,13 +136,16 @@ jobs:
steps:
- checkout
- run:
- name: Build for Windows
+ name: Prepare the Windows build environment
command: |
apt-get update && xargs -a scripts/setup_14.04_requirements.list apt-get install -y
apt-get install -y software-properties-common
add-apt-repository -y ppa:george-edison55/cmake-3.x
apt-get remove -y cmake
- apt-get install -y cmake3
+ apt-get install -y cmake3 mingw-w64 mingw-w64-tools default-jdk nsis libsaxonb-java curl
+ - run:
+ name: Build for Windows
+ command: |
bash scripts/build_win32.sh
- store_artifacts:
path: win32/navit.exe
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96d203ffa..847ef1548 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -584,7 +584,7 @@ if(NOT CACHE_SIZE)
endif(NOT CACHE_SIZE)
if(WIN32 OR WINCE)
- SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
+ SET(CMAKE_EXECUTABLE_SUFFIX ".exe") #remove it when wince'll use cmake 3
add_module(graphics/win32 "Windows detected" TRUE)
add_plugin(support/win32 "Windows detected" TRUE)
diff --git a/Toolchain/arm-mingw32ce.cmake b/Toolchain/arm-mingw32ce.cmake
deleted file mode 100644
index 4ccdd22c4..000000000
--- a/Toolchain/arm-mingw32ce.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-SET(CMAKE_SYSTEM_NAME WINCE)
-
-# specify the cross compiler
-FIND_PROGRAM(CMAKE_C_COMPILER NAMES arm-mingw32ce-gcc arm-wince-mingw32ce-gcc)
-FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES arm-mingw32ce-g++ arm-wince-mingw32ce-g++)
-FIND_PROGRAM(CMAKE_RC_COMPILER_INIT NAMES arm-mingw32ce-windres arm-wince-mingw32ce-windres)
-SET(PKG_CONFIG_EXECUTABLE "arm-mingw32ce-pkg-config")
-SET(WINCE TRUE)
diff --git a/Toolchain/i386-mingw32ce.cmake b/Toolchain/i386-mingw32ce.cmake
deleted file mode 100644
index a1cc562f6..000000000
--- a/Toolchain/i386-mingw32ce.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-SET(CMAKE_SYSTEM_NAME WINCE)
-
-# specify the cross compiler
-FIND_PROGRAM(CMAKE_C_COMPILER NAMES i386-mingw32ce-gcc )
-FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES i386-mingw32ce-g++ )
-FIND_PROGRAM(CMAKE_RC_COMPILER_INIT NAMES i386-mingw32ce-windres )
-SET(PKG_CONFIG_EXECUTABLE "i386-mingw32ce-pkg-config")
-SET(WINCE TRUE)
diff --git a/Toolchain/mingw.cmake b/Toolchain/mingw.cmake
new file mode 100644
index 000000000..5ade65c3b
--- /dev/null
+++ b/Toolchain/mingw.cmake
@@ -0,0 +1,33 @@
+SET(CMAKE_C_COMPILER ${TARGET_ARCH}-gcc)
+SET(CMAKE_CXX_COMPILER ${TARGET_ARCH}-g++)
+SET(CMAKE_RC_COMPILER_INIT ${TARGET_ARCH}-windres)
+SET(PKG_CONFIG_EXECUTABLE ${TARGET_ARCH}-pkg-config)
+
+# unecessary according to https://cmake.org/cmake/help/v3.4/variable/WINCE.html
+# TODO: plateform wince change too much things for now, fix later.
+if (CMAKE_SYSTEM_NAME STREQUAL "WindowsCEtest")
+ SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
+ SET(WINCE TRUE)
+endif()
+
+if(WINCE)
+ # MINGW32CE_PATH is set in dockerfile
+ message(STATUS "Wince toolchain in $ENV{MINGW32CE_PATH}")
+
+ #SET(CMAKE_FIND_ROOT_PATH $ENV{MINGW32CE_PATH})
+ #SET(CMAKE_INSTALL_PREFIX $ENV{MINGW32CE_PATH})
+endif(WINCE)
+
+if(WIN32)
+ message(STATUS "WIN32 case")
+ #SET(CMAKE_FIND_ROOT_PATH ${MINGW_INSTALL_PREFIX})
+ #SET(QT_MOC_EXECUTABLE bin/moc)
+ #SET(QT_RCC_EXECUTABLE ${MINGW_INSTALL_PREFIX}/bin/rcc)
+ #SET(QT_UIC_EXECUTABLE ${MINGW_INSTALL_PREFIX}/bin/uic)
+ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+ SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+ SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+ SET(CMAKE_FIND_ROOT_PATH ${MINGW_INSTALL_PREFIX})
+ SET(CMAKE_INSTALL_PREFIX ${MINGW_INSTALL_PREFIX})
+endif()
diff --git a/Toolchain/mingw32.cmake b/Toolchain/mingw32.cmake
deleted file mode 100644
index f16eb51ad..000000000
--- a/Toolchain/mingw32.cmake
+++ /dev/null
@@ -1,22 +0,0 @@
-SET(CMAKE_SYSTEM_NAME Windows)
-
-FIND_PROGRAM(CMAKE_C_COMPILER NAMES i686-w64-mingw32-gcc i686-mingw32-gcc i586-mingw32-gcc i386-mingw32-gcc i586-mingw32msvc-gcc mingw32-gcc)
-FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES i686-w64-mingw32-g++ i686-mingw32-g++ i586-mingw32-g++ i386-mingw32-g++ i586-mingw32msvc-g++ mingw32-g++)
-
-FIND_PROGRAM(CMAKE_RC_COMPILER_INIT NAMES i686-w64-mingw32-windres i686-mingw32-windres i586-mingw32-windres i386-mingw32-windres mingw32-windres i586-mingw32msvc-windres windres.exe)
-
-FIND_PROGRAM(CMAKE_AR NAMES i686-w64-mingw32-ar i686-mingw32-ar i586-mingw32-ar i386-mingw32-ar i586-mingw32msvc-ar mingw32-ar ar.exe)
-
-FIND_PROGRAM(PKG_CONFIG_EXECUTABLE i686-w64-mingw32-pkg-config mingw32-pkg-config)
-
-IF (NOT CMAKE_FIND_ROOT_PATH)
-EXECUTE_PROCESS(
- COMMAND ${CMAKE_C_COMPILER} -print-sysroot
- OUTPUT_VARIABLE CMAKE_FIND_ROOT_PATH
-)
-ENDIF(NOT CMAKE_FIND_ROOT_PATH)
-
-
-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/build_win32.sh b/scripts/build_win32.sh
index 993c0273f..7e39c3b8d 100644
--- a/scripts/build_win32.sh
+++ b/scripts/build_win32.sh
@@ -1,17 +1,27 @@
#!/usr/bin/env bash
set -e
+<<<<<<< HEAD
apt-get update && apt-get install -y mingw-w64 mingw-w64-tools \
default-jdk nsis libsaxonb-java curl
+=======
+>>>>>>> Refactoring:mingw:simplify toolchain
mkdir win32
pushd win32
+<<<<<<< HEAD
cmake -Dbinding/python:BOOL=FALSE -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n \
-DXSLTS=windows -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw32.cmake ..
+=======
+cmake -DTARGET_ARCH=i686-w64-mingw32 -DCMAKE_SYSTEM_NAME=Windows \
+ -Dbinding/python:BOOL=FALSE -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n \
+ -DXSLTS=windows -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw.cmake ..
+
+>>>>>>> Refactoring:mingw:simplify toolchain
make -j $(nproc --all)
make -j $(nproc --all) package
popd
-cp win32/*.exe $CIRCLE_ARTIFACTS/
+cp win32/*.exe $CIRCLE_ARTIFACTS/ \ No newline at end of file
diff --git a/scripts/build_wince.sh b/scripts/build_wince.sh
index 20eb5036e..f7950cc9e 100644
--- a/scripts/build_wince.sh
+++ b/scripts/build_wince.sh
@@ -1,8 +1,14 @@
-#!/bin/sh
+#!/usr/bin/env bash
set -e
-mkdir -p wince && cd wince
-cmake ../ -DCMAKE_TOOLCHAIN_FILE=Toolchain/arm-mingw32ce.cmake -DXSLTS=windows,wince -DCACHE_SIZE=10485760 -Dsvg2png_scaling:STRING=16,32 -Dsvg2png_scaling_nav:STRING=32 -Dsvg2png_scaling_flag=16 -DSAMPLE_MAP=n
+mkdir -p wince
+pushd wince
+#
+cmake \
+ -DTARGET_ARCH=arm-mingw32ce -DCMAKE_SYSTEM_NAME=WindowsCEtest \
+ -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw.cmake \
+ -DXSLTS=windows,wince -DCACHE_SIZE=10485760 -Dsvg2png_scaling:STRING=16,32 \
+ -Dsvg2png_scaling_nav:STRING=32 -Dsvg2png_scaling_flag=16 -DSAMPLE_MAP=n ..
make
test -d output && rm -rf output