Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 1 | == How to build expat with cmake (experimental) ==
|
| 2 |
|
| 3 | The cmake based buildsystem for expat works on Windows (cygwin, mingw, Visual
|
| 4 | Studio) and should work on all other platform cmake supports.
|
| 5 |
|
Elliott Hughes | aaec48e | 2018-08-16 16:29:01 -0700 | [diff] [blame] | 6 | Assuming ~/expat-2.2.6 is the source directory of expat, add a subdirectory
|
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 7 | build and change into that directory:
|
Elliott Hughes | aaec48e | 2018-08-16 16:29:01 -0700 | [diff] [blame] | 8 | ~/expat-2.2.6$ mkdir build && cd build
|
| 9 | ~/expat-2.2.6/build$
|
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 10 |
|
| 11 | From that directory, call cmake first, then call make, make test and
|
| 12 | make install in the usual way:
|
Elliott Hughes | aaec48e | 2018-08-16 16:29:01 -0700 | [diff] [blame] | 13 | ~/expat-2.2.6/build$ cmake ..
|
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 14 | -- The C compiler identification is GNU
|
| 15 | -- The CXX compiler identification is GNU
|
| 16 | ....
|
| 17 | -- Configuring done
|
| 18 | -- Generating done
|
Elliott Hughes | aaec48e | 2018-08-16 16:29:01 -0700 | [diff] [blame] | 19 | -- Build files have been written to: /home/patrick/expat-2.2.6/build
|
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 20 |
|
| 21 | If you want to specify the install location for your files, append
|
| 22 | -DCMAKE_INSTALL_PREFIX=/your/install/path to the cmake call.
|
| 23 |
|
Elliott Hughes | aaec48e | 2018-08-16 16:29:01 -0700 | [diff] [blame] | 24 | ~/expat-2.2.6/build$ make && make test && make install
|
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 25 | Scanning dependencies of target expat
|
| 26 | [ 5%] Building C object CMakeFiles/expat.dir/lib/xmlparse.c.o
|
| 27 | [ 11%] Building C object CMakeFiles/expat.dir/lib/xmlrole.c.o
|
| 28 | ....
|
| 29 | -- Installing: /usr/local/lib/pkgconfig/expat.pc
|
| 30 | -- Installing: /usr/local/bin/xmlwf
|
| 31 | -- Installing: /usr/local/share/man/man1/xmlwf.1
|
| 32 |
|
| 33 | For Windows builds, you must make sure to call cmake from an environment where
|
| 34 | your compiler is reachable, that means either you call it from the
|
| 35 | Visual Studio Command Prompt or when using mingw, you must open a cmd.exe and
|
| 36 | make sure that gcc can be called. On Windows, you also might want to specify a
|
| 37 | special Generator for CMake:
|
| 38 | for Visual Studio builds do:
|
| 39 | cmake .. -G "Visual Studio 10" && vcexpress expat.sln
|
| 40 | for mingw builds do:
|
| 41 | cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=D:\expat-install
|
| 42 | && gmake && gmake install
|