Page 1 of 1

Windows install issues

Posted: Tue Oct 22 2019 6:15 pm
by CandL
I am about to create my own app, so things are getting real. :D

I went to Downloads and found 1.5.3 and 1.6 (x64 versions)... grabbed them both. But I don't know what I have as in:
  • Compiler MSVS 2017/2019 on mingw ... my guess is mingw because I don't see .lib extension I see Unix like .a
  • Is this debug or release? my guess is release
Can 1.5.3 or 1.6 be built with MSVS 2017? Is so do the binaries exist?

Assuming we are all good I run off to CMake... then hit the find_package issue. Is there a working find_package(Copperspice REQUIRED) out there?

My standard workflow is something like this: (have I said how much I hate MD? here goes)

On Win 10, 64 bit
  • Cmake
    • Out of source build for release and debug
    • Compilers are MSVS 2015/2017/2019(?) ... yup good 'ol cl not cc
    • Conan to manage library retrievals, and find_packages resolution
      • I want to use Qwt for some technical plotting
    • Doxygen for doc ... yes I may switch
    • Google Test for unit testing
  • Ninja
I have my sleeves rolled up but where to start? Do I have to build Copperspice first?

Re: Windows install issues

Posted: Tue Oct 22 2019 7:10 pm
by barbara
The current released pre-built binaries are a release build done using MinGW and Autotools for all platforms. This is about to change! Starting with the CS 1.6.1 release we will be using CMake for all CI and pre-built binaries. We just pushed a large number of commits to the CS project for master on github, this removes AutoTools and we fully support CMake build files which have been modernized.
Can 1.5.3 or 1.6 be built with MSVS 2017? Is so do the binaries exist?
Yes, you can build using MSVC. Just a matter of choice if you want to be on the newest release which I suggest you start with.

The readme file on github for the CS project references several documents (generated by DoxyPress) and I would strongly recommend starting with the following one which is the "CS Overview". This links to the page showing a list of supported and tested platforms which are in our CI system.

https://www.copperspice.com/docs/cs_overview/supported-platforms.html

You can download nuget packages for CopperSpice but these are for CS 1.5.3. Jan is working on streamlining this process and he is a great contributor to the project.

So give it a whirl and build CS from github master for MSVC. If you have questions we are here to help.

Doxygen for doc ... yes I may switch
Please do! It uses Qt 2 classes and they miss some of the current C++ structures. DoxyPress is a straight drop in replacement and we have a clean way to convert your project files to JSON. Lots of other details are available on our web site and our DP documentation.


Barbara

Re: Windows install issues

Posted: Wed Oct 23 2019 11:01 pm
by tim
The find_package issue with CMake can be resolved with a little bit of extra work. I'm not sure whether or not the necessary files are already part of the source or binary distributions, as I've only built CopperSpice from source (on linux) so far. However, if you have a little time you can compile CopperSpice using CMake and when it's done, install it in a location of your choice (can be changed using

Code: Select all

-DCMAKE_INSTALL_PREFIX=some/path/
when you are configuring the CopperSpice build). The installation will create a

Code: Select all

.../lib/cmake
directory with a number of CMake files. Those files are used by CMake's package finding system and should allow your app to find all the relevant library data.

In your own app, when you run CMake to configure the project you can point it at this installation directory. The flag to use would be

Code: Select all

-DCMAKE_PREFIX_PATH=some/path/lib/cmake
(can also be set in your environment). Using these steps, your app should be able to find all the relevant CopperSpice libraries. CMake can be a bit finicky with the exact path lookup, so you can play around with the exact prefix path setting if it doesn't find the files immediately.

Hope this helps with getting started / debugging :)