CMake/MinGW32 toolchain file

Adam Goode adam at spicenitz.org
Thu Jun 4 17:46:36 UTC 2009


On 06/04/2009 01:10 PM, Richard W.M. Jones wrote:
> On Thu, Jun 04, 2009 at 11:32:20AM -0400, Adam Goode wrote:
>> On 06/03/2009 01:49 PM, Richard W.M. Jones wrote:
>>> Adam, would you like to post a suggested patch to the
>>> mingw32-filesystem package?  Easier to have something concrete to
>>> discuss.
>>>
>>> Rich.
>>>
>>
>> I have not tested it yet, but something like this:
> 
> Can you test it a bit for us.
> 
> But .. I think this patch looks good.  It's minimally invasive on any
> other parts of mingw32.
> 
> Anyone else have any objections to committing a [tested] patch like
> this?
> 

Here is a tested patch (I did find a small bug). Also, added changelog
and changed version.



Index: Toolchain-mingw32.cmake
===================================================================
RCS file: Toolchain-mingw32.cmake
diff -N Toolchain-mingw32.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ Toolchain-mingw32.cmake	4 Jun 2009 17:45:12 -0000
@@ -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)
Index: macros.mingw32
===================================================================
RCS file: /cvs/pkgs/rpms/mingw32-filesystem/devel/macros.mingw32,v
retrieving revision 1.3
diff -u -3 -p -r1.3 macros.mingw32
--- macros.mingw32	27 Mar 2009 09:20:25 -0000	1.3
+++ macros.mingw32	4 Jun 2009 17:45:12 -0000
@@ -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).
Index: mingw32-filesystem.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mingw32-filesystem/devel/mingw32-filesystem.spec,v
retrieving revision 1.22
diff -u -3 -p -r1.22 mingw32-filesystem.spec
--- mingw32-filesystem.spec	21 Apr 2009 22:25:56 -0000	1.22
+++ mingw32-filesystem.spec	4 Jun 2009 17:45:12 -0000
@@ -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
@@ -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
@@ -154,10 +158,14 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/mingw32-pkg-config
 %{_libexecdir}/mingw32-scripts
 %{_prefix}/i686-pc-mingw32/
+%{_datadir}/mingw32
 /usr/lib/rpm/mingw32-*
 
 
 %changelog
+* Thu Jun  4 2009 Adam Goode <adam at spicenitz.org> - 51-1
+- Add CMake rules
+
 * Tue Apr 21 2009 Richard W.M. Jones <rjones at redhat.com> - 50-4
 - Fix dependency problem with + in DLL name (Thomas Sailer).
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
Url : http://lists.fedoraproject.org/pipermail/mingw/attachments/20090604/2b602b84/attachment.bin 


More information about the mingw mailing list