From aef549f739af4515c4f66985ba3348bd49dfb010 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 3 Jan 2016 17:39:19 +0000 Subject: [PATCH] Updated build instructions on OS X to cover new CMake install process git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6344 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- INSTALL | 172 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 87 insertions(+), 85 deletions(-) diff --git a/INSTALL b/INSTALL index 2907a8c03..8bf9adfe8 100644 --- a/INSTALL +++ b/INSTALL @@ -49,20 +49,20 @@ patches not yet accepted by the Hamlib development team which are essential for correct operation of WSJT-X. To build the Hamlib fork from sources something like the following recipe should suffice: - mkdir ~/hamlib-prefix - cd ~/hamlib-prefix - git clone git://git.code.sf.net/u/bsomervi/hamlib src - cd src - git checkout integration - mkdir ../build - cd ../build - ../src/autogen.sh --prefix=$HOME/hamlib-prefix \ - --disable-shared --enable-static \ - --without-cxx-binding --disable-winradio \ - CFLAGS="-fdata-sections -ffunction-sections" \ - LDFLAGS="-Wl,--gc-sections" - make - make install +$ mkdir ~/hamlib-prefix +$ cd ~/hamlib-prefix +$ git clone git://git.code.sf.net/u/bsomervi/hamlib src +$ cd src +$ git checkout integration +$ mkdir ../build +$ cd ../build +$ ../src/autogen.sh --prefix=$HOME/hamlib-prefix \ + --disable-shared --enable-static \ + --without-cxx-binding --disable-winradio \ + CFLAGS="-fdata-sections -ffunction-sections" \ + LDFLAGS="-Wl,--gc-sections" +$ make +$ make install This will build a binary hamlib package located at ~/hamlib-prefix so you will need to add that to your CMAKE_PREFIX_PATH variable in your @@ -76,26 +76,26 @@ project's subversion repository. The project svn repository has a non-standard layout in that the WSJT-X project is not on the trunk, instead the main code line is in a branch at ^/branches/wsjtx - mkdir -p ~/wsjtx-prefix/build - cd ~/wsjtx-prefix - svn checkout svn://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx src +$ mkdir -p ~/wsjtx-prefix/build +$ cd ~/wsjtx-prefix +$ svn checkout svn://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx src To build WSJT-X you will need CMake and asciidoc installed. - cd ~/wsjtx-prefix/build - cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix ../src - cmake --build . - cmake --build . --target install +$ cd ~/wsjtx-prefix/build +$ cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix ../src +$ cmake --build . +$ cmake --build . --target install The recipe above will install into /usr by default, if you wish to install in you own directory you can add a prefix-path to the configure step like: - cd ~/wsjtx-prefix/build - cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix \ - -D CMAKE_INSTALL_PREFIX=~/wsjtx-prefix ../src - cmake --build . - cmake --build . --target install +$ cd ~/wsjtx-prefix/build +$ cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix \ + -D CMAKE_INSTALL_PREFIX=~/wsjtx-prefix ../src +$ cmake --build . +$ cmake --build . --target install this will install WSJT-X at ~/wsjtx-prefix. @@ -126,22 +126,22 @@ Hamlib build recipe is something like: In an MSYS shell:- - mkdir ~/hamib-prefix - cd ~/hamlib-prefix - git clone git://git.code.sf.net/u/bsomervi/hamlib src - cd src - git checkout integration - mkdir ../build - cd ../build - ../src/autogen.sh --prefix=$HOME/hamlib-prefix \ - --disable-shared --enable-static \ - --without-cxx-binding --disable-winradio \ - CC=/gcc \ - CXX=/g++ \ - CFLAGS="-fdata-sections -ffunction-sections" \ - LDFLAGS="-Wl,--gc-sections" - make - make install +$ mkdir ~/hamib-prefix +$ cd ~/hamlib-prefix +$ git clone git://git.code.sf.net/u/bsomervi/hamlib src +$ cd src +$ git checkout integration +$ mkdir ../build +$ cd ../build + ../src/autogen.sh --prefix=$HOME/hamlib-prefix \ + --disable-shared --enable-static \ + --without-cxx-binding --disable-winradio \ + CC=/gcc \ + CXX=/g++ \ + CFLAGS="-fdata-sections -ffunction-sections" \ + LDFLAGS="-Wl,--gc-sections" +$ make +$ make install NOTE: should be substituted with the actual path to your Qt bundled tools e.g on my system it is @@ -191,9 +191,9 @@ asciidoc These are install by typing: - sudo port install autoconf automake \ - libtool pkgconfig texinfo gcc49 asciidoc \ - fftw-3-single +gcc49 +$ sudo port install autoconf automake \ + libtool pkgconfig texinfo gcc49 asciidoc \ + fftw-3-single +gcc49 Once complete you should have all the tools required to build WSJT-X. @@ -209,11 +209,11 @@ Hamlib First fetch hamlib from the repository, in this case my fork of Hamlib 3 until the official repository has all the fixes we need: - mkdir -p ~/hamlib-prefix/build - cd ~/hamlib-prefix - git clone git://git.code.sf.net/u/bsomervi/hamlib src - cd src - git checkout integration +$ mkdir -p ~/hamlib-prefix/build +$ cd ~/hamlib-prefix +$ git clone git://git.code.sf.net/u/bsomervi/hamlib src +$ cd src +$ git checkout integration The integration branch is my system testing branch which has all my latest published changes. @@ -221,18 +221,18 @@ latest published changes. You need to make one small change to the sources to build on OS X using the MacPorts tools, here is a sed command to make the change: - sed -i.orig '/libtoolize/s/lib/glib/' autogen.sh +$ sed -i.orig '/libtoolize/s/lib/glib/' autogen.sh To build: - cd ~/hamlib-prefix/build - ../src/autogen.sh \ - --enable-static \ - --disable-shared \ - --disable-winradio \ - --prefix=$HOME/hamlib-prefix - make - make install-strip +$ cd ~/hamlib-prefix/build + ../src/autogen.sh \ + --enable-static \ + --disable-shared \ + --disable-winradio \ + --prefix=$HOME/hamlib-prefix +$ make +$ make install-strip The above commands will build hamlib and install it into ~/hamlib-prefix @@ -279,22 +279,24 @@ Fetch the latest CMake universal 64-bit DMG from http://www.cmake.org/download/ open the DMG then drag and drop the application bundle onto the supplied /Applications link. -To complete the install process you need to run the CMake application -as root from a terminal shell: +To complete the install process you need to run the CMake-gui +application as root from a terminal shell as follows: - sudo /Applications/CMake.app/Contents/MacOS/CMake +$ sudo "/Applications/CMake.app/Contents/MacOS/CMake-gui" --install -in the CMake application choose "Tools->Install For Command Line Use" -from the menu and then click the "Install Command Line Links". +that installs the CMake command line tools which you can verify by +typing into a terminal window: + +$ cmake --version WSJT-X ------ First fetch the source from the repository: - mkdir -p ~/wsjtx-prefix/build - cd ~/wsjtx-prefix - svn checkout svn://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx src +$ mkdir -p ~/wsjtx-prefix/build +$ cd ~/wsjtx-prefix +$ svn checkout svn://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx src this links to the Subversion repository in a read-only fashion, if you intend to contribute to the project then you probably want to get a @@ -307,12 +309,12 @@ branch or even a tag if you want to build a prior published generation. For now we will build the latest development sources. To configure: - cd ~/wsjtx-prefix/build - FC=gfortran-mp-4.9 \ - cmake \ - -D CMAKE_PREFIX_PATH="~/local/qt-macx-clang;~/hamlib-prefix;/opt/local" \ - -D CMAKE_INSTALL_PREFIX=~/wsjtx-prefix \ - ~/wsjtx-prefix/src +$ cd ~/wsjtx-prefix/build +$ FC=gfortran-mp-4.9 \ + cmake \ + -D CMAKE_PREFIX_PATH="~/local/qt-macx-clang;~/hamlib-prefix;/opt/local" \ + -D CMAKE_INSTALL_PREFIX=~/wsjtx-prefix \ + ~/wsjtx-prefix/src The CMAKE_PREFIX_PATH variable specifies where CMake should look first for other packages, the two elements may be different depending where @@ -330,8 +332,8 @@ headers are located. To build: - cmake --build . - cmake --build . --target install +$ cmake --build . +$ cmake --build . --target install which installs the WSJT-X application bundle into ~/wsjtx-prefix @@ -342,14 +344,14 @@ Updating and Rebuilding Hamlib From time to time new fixes will be pushed to the Hamlib fork repository integration branch. To pick them up type: - cd ~/hamlib-prefix/src - git pull +$ cd ~/hamlib-prefix/src +$ git pull To rebuild hamlib with the changed sources: - cd ~/hamlib-prefix/build - make - make install-strip +$ cd ~/hamlib-prefix/build +$ make +$ make install-strip Updating and Rebuilding WSJT-X @@ -357,11 +359,11 @@ Updating and Rebuilding WSJT-X To update to the latest sources type: - cd ~/wsjtx-prefix/src - svn update - cd ~/wsjtx-prefix/build - cmake --build . - cmake --build . --target install +$ cd ~/wsjtx-prefix/src +$ svn update +$ cd ~/wsjtx-prefix/build +$ cmake --build . +$ cmake --build . --target install 73