add cmake toolchain file and simplify build rules of relevant packages

This commit is contained in:
Tony Theodore 2011-03-17 05:05:00 +11:00
parent f64e487042
commit d9bfa57f73
7 changed files with 41 additions and 78 deletions

View File

@ -27,6 +27,8 @@ REQUIREMENTS := autoconf automake bash bison bzip2 cmake flex \
$(MAKE) openssl $(PATCH) $(PERL) pkg-config \
scons $(SED) unzip wget xz yasm
CMAKE_TOOLCHAIN_FILE := $(PREFIX)/$(TARGET)/share/cmake/mingw-cross-env-conf.cmake
# unexport any environment variables that might cause trouble
unexport AR CC CFLAGS C_INCLUDE_PATH CPATH CPLUS_INCLUDE_PATH CPP
unexport CPPFLAGS CROSS CXX CXXCPP CXXFLAGS EXEEXT EXTRA_CFLAGS

View File

@ -54,4 +54,20 @@ define $(PKG)_BUILD
echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config --static "$$@"') \
> '$(PREFIX)/bin/$(TARGET)-pkg-config'
chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config'
# create the CMake toolchain file
[ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))'
(echo 'set(BUILD_SHARED_LIBS OFF)'; \
echo 'set(CMAKE_SYSTEM_NAME Windows)'; \
echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \
echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \
echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \
echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \
echo 'set(CMAKE_C_COMPILER $(PREFIX)/bin/$(TARGET)-gcc)'; \
echo 'set(CMAKE_CXX_COMPILER $(PREFIX)/bin/$(TARGET)-g++)'; \
echo 'set(CMAKE_RC_COMPILER $(PREFIX)/bin/$(TARGET)-windres)'; \
echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config)'; \
echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \
echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \
> '$(CMAKE_TOOLCHAIN_FILE)'
endef

View File

@ -19,19 +19,8 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
cd '$(1)/build' && cmake .. \
-DCMAKE_SYSTEM_NAME=Windows \
-DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \
-DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \
-DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \
-DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \
-DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \
-DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \
-DCMAKE_BUILD_TYPE=Release \
cd '$(1)/build' && cmake .. \
-DCMAKE_TOOLCHAIN_FILE=$(CMAKE_TOOLCHAIN_FILE) \
-DLIBTYPE=STATIC
$(MAKE) -C '$(1)/build' -j '$(JOBS)' install

View File

@ -22,24 +22,13 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
cd '$(1)' && cmake . \
-DCMAKE_SYSTEM_NAME=Windows \
-DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \
-DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \
-DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \
-DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \
-DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \
-DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \
-DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_HAVE_PTHREAD_H=OFF \
-DDYNAMIC_OPENTHREADS=OFF \
-DDYNAMIC_OPENSCENEGRAPH=OFF \
-DBUILD_OSG_APPLICATIONS=OFF \
cd '$(1)' && cmake . \
-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \
-DCMAKE_HAVE_PTHREAD_H=OFF \
-DDYNAMIC_OPENTHREADS=OFF \
-DDYNAMIC_OPENSCENEGRAPH=OFF \
-DBUILD_OSG_APPLICATIONS=OFF \
-D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS_EXITCODE=1
$(MAKE) -C '$(1)' -j '$(JOBS)' install
endef

View File

@ -19,27 +19,16 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
cd '$(1)' && cmake . \
-DCMAKE_SYSTEM_NAME=Windows \
-DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \
-DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \
-DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \
-DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \
-DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \
-DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \
-DCMAKE_BUILD_TYPE=Release \
-DPHYSFS_BUILD_SHARED=FALSE \
-DPHYSFS_INTERNAL_ZLIB=FALSE \
-DPHYSFS_BUILD_TEST=FALSE \
cd '$(1)' && cmake . \
-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-DPHYSFS_BUILD_SHARED=FALSE \
-DPHYSFS_INTERNAL_ZLIB=FALSE \
-DPHYSFS_BUILD_TEST=FALSE \
-DPHYSFS_BUILD_WX_TEST=FALSE
$(MAKE) -C '$(1)' -j '$(JOBS)' install
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic -std=c99\
-W -Wall -Werror -ansi -pedantic -std=c99 \
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-physfs.exe' \
-lphysfs -lz
endef

View File

@ -20,19 +20,8 @@ endef
define $(PKG)_BUILD
mkdir '$(1)/build'
cd '$(1)/build' && cmake .. \
-DCMAKE_SYSTEM_NAME=Windows \
-DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \
-DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \
-DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \
-DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \
-DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \
-DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \
-DCMAKE_BUILD_TYPE=Release \
cd '$(1)/build' && cmake .. \
-DCMAKE_TOOLCHAIN_FILE=$(CMAKE_TOOLCHAIN_FILE) \
-DENABLE_STATIC=ON
$(MAKE) -C '$(1)/build' -j '$(JOBS)' install
endef

View File

@ -27,23 +27,12 @@ define $(PKG)_BUILD
$(SED) -i 's,\bSHARED\b,STATIC,' '$(1)/config/VIGRA_ADD_NUMPY_MODULE.cmake'
$(SED) -i 's,\bSHARED\b,STATIC,' '$(1)/vigranumpy/test/CMakeLists.txt'
mkdir '$(1)/build'
cd '$(1)/build' && cmake .. \
-DCMAKE_SYSTEM_NAME=Windows \
-DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \
-DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \
-DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \
-DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \
-DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \
-DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \
-DCMAKE_BUILD_TYPE=Release \
-DLIBTYPE=STATIC \
-DVIGRA_STATIC_LIB=1 \
-DWITH_HDF5=OFF \
-DWITH_VIGRANUMPY=OFF \
cd '$(1)/build' && cmake .. \
-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-DLIBTYPE=STATIC \
-DVIGRA_STATIC_LIB=1 \
-DWITH_HDF5=OFF \
-DWITH_VIGRANUMPY=OFF \
-DWITH_VALGRIND=OFF
$(MAKE) -C '$(1)/build' -j '$(JOBS)' install