Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [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 | f898dc2 | 2022-02-23 17:34:51 -0800 | [diff] [blame] | 6 | Assuming ~/expat-2.4.6 is the source directory of expat, add a subdirectory |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 7 | build and change into that directory: |
Elliott Hughes | f898dc2 | 2022-02-23 17:34:51 -0800 | [diff] [blame] | 8 | ~/expat-2.4.6$ mkdir build && cd build |
| 9 | ~/expat-2.4.6/build$ |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [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 | f898dc2 | 2022-02-23 17:34:51 -0800 | [diff] [blame] | 13 | ~/expat-2.4.6/build$ cmake .. |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [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 | f898dc2 | 2022-02-23 17:34:51 -0800 | [diff] [blame] | 19 | -- Build files have been written to: /home/patrick/expat-2.4.6/build |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [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 | f898dc2 | 2022-02-23 17:34:51 -0800 | [diff] [blame] | 24 | ~/expat-2.4.6/build$ make && make test && make install |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [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 15 2017" && msbuild /m expat.sln |
| 40 | for mingw builds do: |
| 41 | cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=D:\expat-install |
| 42 | && gmake && gmake install |