User:Callahanp/fg-from-scratch: Difference between revisions
(→Notes: Package Cmake Compatablity with built-in CMake Targets.) |
m (link to mailing list thread) |
||
Line 1: | Line 1: | ||
fg-from-scratch is a windows batch script capable of producing a working release version of flightgear and terragear executables. | fg-from-scratch is a windows batch script capable of producing a working release version of flightgear and terragear executables. | ||
=== Discussion === | |||
Discussion of this topic can take place in the following thread on the flightgear-devel mailing list, on the talk page or elsewhere as needed. | |||
* https://sourceforge.net/p/flightgear/mailman/message/36930139/ | |||
* http://wiki.flightgear.org/User_talk:Callahanp/fg-from-scratch | |||
===Cmake and Visual Studio=== | ===Cmake and Visual Studio=== | ||
Line 45: | Line 36: | ||
The CMakeLists.txt used by the OpenSceneGraph, Simgear, FlightGear and TerraGear projects are used in automatic build processes and in the case of OSG are separately managed projects. They should be considered out of the scope of changes to fg-from-scratch. Anyone working on fg-from-scratch will have to make do with their current state, adjust to any changes in them, and advocate separately for any proposed changes to them. | The CMakeLists.txt used by the OpenSceneGraph, Simgear, FlightGear and TerraGear projects are used in automatic build processes and in the case of OSG are separately managed projects. They should be considered out of the scope of changes to fg-from-scratch. Anyone working on fg-from-scratch will have to make do with their current state, adjust to any changes in them, and advocate separately for any proposed changes to them. | ||
==== Package CMake | ==== Package CMake Compatibility with Built-In CMake Targets ==== | ||
The log of a fg-from-scratch.cmd run includes the following text: | The log of a fg-from-scratch.cmd run includes the following text: |
Revision as of 16:44, 22 February 2020
fg-from-scratch is a windows batch script capable of producing a working release version of flightgear and terragear executables.
Discussion
Discussion of this topic can take place in the following thread on the flightgear-devel mailing list, on the talk page or elsewhere as needed.
- https://sourceforge.net/p/flightgear/mailman/message/36930139/
- http://wiki.flightgear.org/User_talk:Callahanp/fg-from-scratch
Cmake and Visual Studio
- https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=vs-2019
- https://www.codeproject.com/Articles/1181455/A-CMake-Tutorial-for-Visual-Cplusplus-Developers
vcxpkg
- https://docs.microsoft.com/en-us/cpp/build/vcpkg?view=vs-2019
- https://github.com/microsoft/vcpkg/blob/master/docs/index.md
ninja
Tasks:
- Find out if ninja is currently used in fg-from-scratch.cmd
- if it is include it in research.
- If not, discuss advantages/disadvantages with the wider flightgear development community.
Per target build and install directories
A technique I've observed in use is to provide separate build and install directories for each target build: release, rel-with-debug, debug.
Task:
- Investigate vcpkg-git, scratch-build and scratch-install to determine where per-target build or install directories are and are not used.
Notes
CMakeLists.txt in OpenSceneGraph, Simgear, FlightGear, SimGear
This note is not meant to imply that changes in the named projects Cmake files are or will be needed.
The CMakeLists.txt used by the OpenSceneGraph, Simgear, FlightGear and TerraGear projects are used in automatic build processes and in the case of OSG are separately managed projects. They should be considered out of the scope of changes to fg-from-scratch. Anyone working on fg-from-scratch will have to make do with their current state, adjust to any changes in them, and advocate separately for any proposed changes to them.
Package CMake Compatibility with Built-In CMake Targets
The log of a fg-from-scratch.cmd run includes the following text:
The package openssl is compatible with built-in CMake targets:
find_package(OpenSSL REQUIRED)
target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
Does this imply that there are other packages which do not satisfy this criteria? If so, which ones are not? What is the impact of a package not being compatible with built in CMake targets?