mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	Travis: Add Mingw third-party builds
- Build third-party/ in Travis using mingw - Import mingw-w64 cmake toolchain
This commit is contained in:
		 Rui Abreu Ferreira
					Rui Abreu Ferreira
				
			
				
					committed by
					
						 Florian Walch
						Florian Walch
					
				
			
			
				
	
			
			
			 Florian Walch
						Florian Walch
					
				
			
						parent
						
							cca32e64cc
						
					
				
				
					commit
					f65614fb1c
				
			
							
								
								
									
										18
									
								
								.ci/mingw.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.ci/mingw.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | . "$CI_SCRIPTS/common.sh" | ||||||
|  |  | ||||||
|  | # FIXME: When Travis gets a recent version of Mingw-w64 use this | ||||||
|  | #sudo apt-get install binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-dev mingw-w64-tools | ||||||
|  | #sudo apt-get install wine | ||||||
|  | sudo apt-get install libc6-dev-i386 | ||||||
|  |  | ||||||
|  | # mingw-w64 build from http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-release/ | ||||||
|  | wget "http://downloads.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-release/i686-w64-mingw32-gcc-4.8.0-linux64_rubenvb.tar.xz" -O mingw.tar.xz | ||||||
|  | sudo tar -axf mingw.tar.xz -C /opt | ||||||
|  | export PATH=$PATH:/opt/mingw32/bin | ||||||
|  |  | ||||||
|  | # Build third-party | ||||||
|  | mkdir .deps | ||||||
|  | cd .deps | ||||||
|  | cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw32-w64-cross-travis.toolchain.cmake ../third-party/ | ||||||
|  | cmake --build . | ||||||
|  | cd .. | ||||||
| @@ -24,6 +24,7 @@ env: | |||||||
|     - CI_TARGET=gcc |     - CI_TARGET=gcc | ||||||
|     - CI_TARGET=gcc-32 |     - CI_TARGET=gcc-32 | ||||||
|     - CI_TARGET=clint |     - CI_TARGET=clint | ||||||
|  |     - CI_TARGET=mingw | ||||||
| matrix: | matrix: | ||||||
|   include: |   include: | ||||||
|     - os: osx |     - os: osx | ||||||
|   | |||||||
							
								
								
									
										53
									
								
								cmake/mingw32-w64-cross-travis.toolchain.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								cmake/mingw32-w64-cross-travis.toolchain.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | |||||||
|  | # | ||||||
|  | # Mingw-w64 cross compiler toolchain | ||||||
|  | # | ||||||
|  | # - The usual CMAKE variables will point to the cross compiler | ||||||
|  | # - HOST_EXE_LINKER, HOST_C_COMPILER, HOST_EXE_LINKER_FLAGS, | ||||||
|  | #   HOST_C_FLAGS point to a host compiler | ||||||
|  | # | ||||||
|  |  | ||||||
|  | set(MINGW_TRIPLET i686-w64-mingw32) | ||||||
|  | # For x86_64 use | ||||||
|  | #set(MINGW_TRIPLET x86_64-w64-mingw32) | ||||||
|  |  | ||||||
|  | # The location of your toolchain sys-root | ||||||
|  | set(MINGW_PREFIX_PATH /opt/mingw32/${MINGW_TRIPLET}/) | ||||||
|  | # or sometimes like this | ||||||
|  | #set(MINGW_PREFIX_PATH /usr/${MINGW_TRIPLET}/sys-root) | ||||||
|  |  | ||||||
|  | # the name of the target operating system | ||||||
|  | set(CMAKE_SYSTEM_NAME Windows) | ||||||
|  |  | ||||||
|  | # which compilers to use for C and C++ | ||||||
|  | set(CMAKE_C_COMPILER ${MINGW_TRIPLET}-gcc) | ||||||
|  | set(CMAKE_CXX_COMPILER ${MINGW_TRIPLET}-g++) | ||||||
|  | set(CMAKE_RC_COMPILER ${MINGW_TRIPLET}-windres) | ||||||
|  | set(CMAKE_C_COMPILER ${MINGW_TRIPLET}-gcc) | ||||||
|  | set(CMAKE_CXX_COMPILER ${MINGW_TRIPLET}-g++) | ||||||
|  | set(CMAKE_RC_COMPILER ${MINGW_TRIPLET}-windres) | ||||||
|  |  | ||||||
|  | # Where is the target environment located | ||||||
|  | set(CMAKE_FIND_ROOT_PATH "${MINGW_PREFIX_PATH}/mingw") | ||||||
|  |  | ||||||
|  | # adjust the default behaviour of the FIND_XXX() commands: | ||||||
|  | # search headers and libraries in the target environment, search | ||||||
|  | # programs in the host environment | ||||||
|  | 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(CROSS_TARGET ${MINGW_TRIPLET}) | ||||||
|  |  | ||||||
|  | # We need a host compiler too - assuming mildly sane Unix | ||||||
|  | # defaults here | ||||||
|  | set(HOST_C_COMPILER cc) | ||||||
|  | set(HOST_EXE_LINKER ld) | ||||||
|  |  | ||||||
|  | if (MINGW_TRIPLET MATCHES "^x86_64") | ||||||
|  |   set(HOST_C_FLAGS) | ||||||
|  |   set(HOST_EXE_LINKER_FLAGS) | ||||||
|  | else() | ||||||
|  |   # In 32 bits systems have the HOST compiler generate 32 bits binaries | ||||||
|  |   set(HOST_C_FLAGS -m32) | ||||||
|  |   set(HOST_EXE_LINKER_FLAGS -m32) | ||||||
|  | endif() | ||||||
		Reference in New Issue
	
	Block a user