Hi Bill,
I've been at this for over an hour, and I cannot get the Version
information into the file name using the docs target, it always returns
the AsciiDoc file name only. The only thing I can conclude is, the
Install step is what adds the {VERSION} 1.6.0-devel to the AsciiDoc file
base name or there's something wrong with my invocation, but I don't
what it is.
I started from scratch (no build, install, config folders, nothing), and
performed the following steps manually in JTSDK-QT.
mkdir C:\JTSDK\wsjtx\build\release
mkdir C:\JTSDK\wsjtx\install\release
cd C:\JTSDK\:sjtx\build\release
# Configure main build tree
cmake -G "MinGW Makefiles" ^
-D CMAKE_TOOLCHAIN_FILE=C:/JTSDK/scripts/wsjtx-toolchain.cmake ^
-D CMAKE_BUILD_TYPE=Release ^
-D CMAKE_INSTALL_PREFIX=C:/JTSDK/wsjtx/install/release ^
C:/JTSDK/src/wsjtx
# Run the build
cmake --build . --target docs
It builds the Doc, but the output file name, in the "Build Directory",
is still wsjtx-main.html. And of course, there's nothing in the install
directory.
I am at a loss as to how this should be built without running the
Install target. I've attached the log for all the commands and their
results.
73's
Greg, KI7MT
On 5/31/2015 12:39 PM, Bill Somerville wrote:
Hi All,
related to the discussion in this thread. I work with the following setup:
I run four build trees, one each of Debug and Release configuration for
the latest branch and the development trunk. I call them 'bugfix' and
'dev' respectively. These are configured from two source trees (actually
one in my case since I use git-svn and can switch between multiple
branches and work in progress really easily in one source tree, but I
would use two with svn).
The four build trees are each configured to install into separate test
directories so I can work on several things at once. For example I am
often working on new stuff in dev that I debug build for testing and
occasionally release build if there are packaging differences that I
want to test. I also work on reported issues in the branch as a result
of beta testing on the RC releases, these I debug build for personal
testing and usually release build a package to send to the reporter of
the issue for fix verification.
For documentation I have the debug build location of the generated HTML
bookmarked in my browsers so I can review it instantly after a build.
This is why the debug configuration generates a fixed file name for the
HTML so that my bookmarks don't get invalidated when the version name
changes.
I hardly ever blow away and reconfigure a build tree, I find the CMake
dependency management really accurate and I am comfortable switching
around branches and revisions in my source tree and simply rebuilding, I
don't even run the clean target.
Mulitiply this setup by three for Windows, Linux and Mac and you have a
fair view of the setup for development I use.
If the JTSDK reproduces anything like this, I think it would be an
efficient tool for development for those that don't have to suffer the
initial setup pain of a development environment.
For almost everyone I would recommend only one of bugfix or dev which
reduces the complexity by two straight off. As for having multiple
platforms, that is only really needed for those working with platform
dependent issues and a degree of masochism for suffering the defects and
quirks of multiple operating systems along with managing all the
security and o/s upgrades ;)
BTW all of this, along with other projects I work on, lives on my i7
laptop running Windows 8.1 and using VirtualBox to host the other platforms.
Building for release is done on the same hosts but I do have a separate
single source and build tree on each build host for this which I do
clean before an official release package build just to be certain the
builds are absolutely repeatable. These ones are multiplied by six for
Windows, Mac, Linux Debian 32/64-bit and Linux RPM 32/64-bit each on
their own target machine so they can be sanity tested before release.
73
Bill
G4WJS.
On 31/05/2015 18:58, Bill Somerville wrote:
On 31/05/2015 18:45, KI7MT wrote:
Hi Bill,
Hi Greg,
I've just realized what you are doing. I didn't notice that you were
just configuring the doc directory and not the main build directory
above. That's not going to work!
The configuration of the top level directory doesn't take long and
building the target 'docs' is only going to be marginally slower from
the top level. This is why I was surprised that you had a separate
install directory because I hadn't realized that you were only doing a
subset of the configuration.
It seems that you are trying to make the documentation build faster by
skipping the top level configuration but the top level configuration
doesn't take more than a few seconds.
I strongly suggest that you stick to a single build tree that is fully
configured from the top level and then just build the target you need
from that.
73
Bill
G4WJS.
(JTSDK-QT) C:\JTSDK\wsjtx\build\release)cmake -G "MinGW Makefiles" ^
More? -D CMAKE_TOOLCHAIN_FILE=C:/JTSDK/scripts/wsjtx-toolchain.cmake ^
More? -D CMAKE_BUILD_TYPE=Release ^
More? -D CMAKE_INSTALL_PREFIX=C:/JTSDK/wsjtx/install/release ^
More? C:/JTSDK/src/wsjtx
-- The C compiler identification is GNU 4.8.0
-- The CXX compiler identification is GNU 4.8.0
-- The Fortran compiler identification is GNU
-- Check for working C compiler: C:/JTSDK/qt5/Tools/mingw48_32/bin/gcc.exe
-- Check for working C compiler: C:/JTSDK/qt5/Tools/mingw48_32/bin/gcc.exe --
works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/JTSDK/qt5/Tools/mingw48_32/bin/g++.exe
-- Check for working CXX compiler: C:/JTSDK/qt5/Tools/mingw48_32/bin/g++.exe --
works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working Fortran compiler:
C:/JTSDK/qt5/Tools/mingw48_32/bin/gfortran.exe
-- Check for working Fortran compiler:
C:/JTSDK/qt5/Tools/mingw48_32/bin/gfortran.exe -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether C:/JTSDK/qt5/Tools/mingw48_32/bin/gfortran.exe supports
Fortran 90
-- Checking whether C:/JTSDK/qt5/Tools/mingw48_32/bin/gfortran.exe supports
Fortran 90 -- yes
-- Building wsjtx-1.6.0-devel
-- ******************************************************
-- Building for for: Windows-x86
-- ******************************************************
-- Found PythonInterp: C:/JTSDK/python27/python.exe (found suitable version
"2.7.9", minimum required is "2.4")
-- Detecting Fortran/C Interface
-- Detecting Fortran/C Interface - Found GLOBAL and MODULE mangling
-- Verifying Fortran/CXX Compiler Compatibility
-- Verifying Fortran/CXX Compiler Compatibility - Success
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found FFTW3: C:/JTSDK/fftw3f/libfftw3-3.dll
-- Found PkgConfig: C:/JTSDK/tools/bin/pkg-config.exe (found version "0.28")
-- checking for module 'hamlib'
-- found hamlib, version 3.0~git
-- Found hamlib
-- Found hamlib: C:/JTSDK/hamlib3/include (Required is at least version "3")
-- hamlib_INCLUDE_DIRS: C:/JTSDK/hamlib3/include
-- hamlib_LIBRARY: C:/JTSDK/hamlib3/lib/libhamlib.a
-- hamlib_LIBRARIES: C:/JTSDK/hamlib3/lib/libhamlib.a;ws2_32
-- hamlib_STATIC_LIBRARY: C:/JTSDK/hamlib3/lib/libhamlib.a
-- hamlib_STATIC_LIBRARIES: C:/JTSDK/hamlib3/lib/libhamlib.a;ws2_32
-- Asking qmake for QT_PLUGINS_DIR and got C:/JTSDK/qt5/5.2.1/mingw48_32/plugins
-- Asking qmake for QT_IMPORTS_DIR and got C:/JTSDK/qt5/5.2.1/mingw48_32/imports
-- Asking qmake for QT_DATA_DIR and got C:/JTSDK/qt5/5.2.1/mingw48_32
-- Configuring done
-- Generating done
-- Build files have been written to: C:/JTSDK/wsjtx/build/release
(JTSDK-QT) C:\JTSDK\wsjtx\build\release)cmake --build . --target docs
Scanning dependencies of target docs
Generating C:/JTSDK/wsjtx/build/release/doc/wsjtx-main.html
Built target docs
(JTSDK-QT) C:\JTSDK\wsjtx\build\release)tree -L 1 .\doc
.\doc
|-- CMakeFiles
|-- Makefile
|-- cmake_install.cmake
|-- wsjtx-main.html
|-- wsjtx.conf
`-- wsjtx.conf.out
1 directory, 5 files
(JTSDK-QT) C:\JTSDK\wsjtx\build\release)
------------------------------------------------------------------------------
_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel