diff options
author | Tony Theodore <tonyt@logyst.com> | 2011-03-16 18:05:00 (GMT) |
---|---|---|
committer | Tony Theodore <tonyt@logyst.com> | 2011-03-16 18:05:00 (GMT) |
commit | d9bfa57f735b23a976acb678afe871b954543edc (patch) | |
tree | c7f0b36339384dd8f84943577d432edb759719d7 | |
parent | f64e4870424c9ed655af82903f23c197d0bd9d34 (diff) | |
download | mxe-d9bfa57f735b23a976acb678afe871b954543edc.zip mxe-d9bfa57f735b23a976acb678afe871b954543edc.tar.gz mxe-d9bfa57f735b23a976acb678afe871b954543edc.tar.bz2 |
add cmake toolchain file and simplify build rules of relevant packages
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/gcc.mk | 16 | ||||
-rw-r--r-- | src/openal.mk | 15 | ||||
-rw-r--r-- | src/openscenegraph.mk | 25 | ||||
-rw-r--r-- | src/physfs.mk | 23 | ||||
-rw-r--r-- | src/taglib.mk | 15 | ||||
-rw-r--r-- | src/vigra.mk | 23 |
7 files changed, 41 insertions, 78 deletions
@@ -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 @@ -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 diff --git a/src/openal.mk b/src/openal.mk index 12ca906..3c31553 100644 --- a/src/openal.mk +++ b/src/openal.mk @@ -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 diff --git a/src/openscenegraph.mk b/src/openscenegraph.mk index 40171d5..79dd394 100644 --- a/src/openscenegraph.mk +++ b/src/openscenegraph.mk @@ -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 diff --git a/src/physfs.mk b/src/physfs.mk index 09c9f77..09ba205 100644 --- a/src/physfs.mk +++ b/src/physfs.mk @@ -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 diff --git a/src/taglib.mk b/src/taglib.mk index 898b839..d53eda7 100644 --- a/src/taglib.mk +++ b/src/taglib.mk @@ -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 diff --git a/src/vigra.mk b/src/vigra.mk index 17d23d0..0b56e14 100644 --- a/src/vigra.mk +++ b/src/vigra.mk @@ -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 |