From 7cf0edd56afed68bb97fff24d3560eca0b274009 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 9 Jun 2009 08:44:18 +0000 Subject: [PATCH] Add CMake rules (Adam Goode) --- Toolchain-mingw32.cmake | 14 ++++++++++++++ macros.mingw32 | 14 ++++++++++++++ mingw32-filesystem.spec | 15 ++++++++++++--- 3 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 Toolchain-mingw32.cmake diff --git a/Toolchain-mingw32.cmake b/Toolchain-mingw32.cmake new file mode 100644 index 0000000..a9234c5 --- /dev/null +++ b/Toolchain-mingw32.cmake @@ -0,0 +1,14 @@ +SET(CMAKE_SYSTEM_NAME Windows) + +# specify the cross compiler +SET(CMAKE_C_COMPILER /usr/bin/i686-pc-mingw32-gcc) +SET(CMAKE_CXX_COMPILER /usr/bin/i686-pc-mingw32-g++) + +# where is the target environment +SET(CMAKE_FIND_ROOT_PATH /usr/i686-pc-mingw32/sys-root/mingw) + +# search for programs in the build host directories +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# for libraries and headers in the target directories +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/macros.mingw32 b/macros.mingw32 index d62b81e..6a257fd 100644 --- a/macros.mingw32 +++ b/macros.mingw32 @@ -136,6 +136,20 @@ infodir=%{?buildroot:%{buildroot}}%{_mingw32_infodir} \\\ install +%_mingw32_cmake %{_mingw32_env} ; \ + %__cmake \\\ + -DCMAKE_VERBOSE_MAKEFILE=ON \\\ + -DCMAKE_INSTALL_PREFIX:PATH=%{_mingw32_prefix} \\\ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_mingw32_libdir} \\\ + -DINCLUDE_INSTALL_DIR:PATH=%{_mingw32_includedir} \\\ + -DLIB_INSTALL_DIR:PATH=%{_mingw32_libdir} \\\ + -DSYSCONF_INSTALL_DIR:PATH=%{_mingw32_sysconfdir} \\\ + -DSHARE_INSTALL_PREFIX:PATH=%{_mingw32_datadir} \\\ + %{?_cmake_skip_rpath} \\\ + -DBUILD_SHARED_LIBS:BOOL=ON \\\ + -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw32/Toolchain-mingw32.cmake + + %_mingw32_description This is the cross-compiled version of this library / tool.\ You should only install this package if you want to cross-compile programs for \ Win32 (32 bit Windows). diff --git a/mingw32-filesystem.spec b/mingw32-filesystem.spec index 84a687f..d31c8df 100644 --- a/mingw32-filesystem.spec +++ b/mingw32-filesystem.spec @@ -1,8 +1,8 @@ %define debug_package %{nil} Name: mingw32-filesystem -Version: 50 -Release: 4%{?dist} +Version: 51 +Release: 1%{?dist} Summary: MinGW base filesystem and environment Group: Development/Libraries @@ -19,6 +19,7 @@ Source4: mingw32-find-requires.sh Source5: mingw32-find-provides.sh Source6: mingw32-scripts.sh Source7: mingw32-rpmlint.config +Source8: Toolchain-mingw32.cmake Requires: setup Requires: rpm @@ -84,7 +85,7 @@ install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/mingw32-scripts mkdir -p $RPM_BUILD_ROOT%{_bindir} pushd $RPM_BUILD_ROOT%{_bindir} -for i in mingw32-configure mingw32-make mingw32-pkg-config; do +for i in mingw32-configure mingw32-make mingw32-pkg-config mingw32-cmake; do ln -s %{_libexecdir}/mingw32-scripts $i done popd @@ -137,6 +138,9 @@ mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm install -m 0755 mingw32-find-requires.sh $RPM_BUILD_ROOT/usr/lib/rpm install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm +mkdir -p $RPM_BUILD_ROOT%{_datadir}/mingw32 +install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mingw32 + %clean rm -rf $RPM_BUILD_ROOT @@ -152,12 +156,17 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/mingw32-configure %{_bindir}/mingw32-make %{_bindir}/mingw32-pkg-config +%{_bindir}/mingw32-cmake %{_libexecdir}/mingw32-scripts %{_prefix}/i686-pc-mingw32/ +%{_datadir}/mingw32 /usr/lib/rpm/mingw32-* %changelog +* Thu Jun 4 2009 Adam Goode - 51-1 +- Add CMake rules + * Tue Apr 21 2009 Richard W.M. Jones - 50-4 - Fix dependency problem with + in DLL name (Thomas Sailer).