-
Notifications
You must be signed in to change notification settings - Fork 962
Open
Labels
Description
As discussed in #2142 I would like to modernize the cmake build scripts.
The purpose of this issue is to keep track of all planned and proposed changes related to that and in particular any ordering requirement. E.g. there are already some open PRs that should get merged before I want to start any bigger refactoring of the CMLs.
-
Existing PRs that should be merged first:
- Remove the forcing of "/MT" #2117: Remove the forcing of "/MT"
- Added videoInput.cpp to msw platform cmake file and fixed header path #2060: Added videoInput.cpp to msw platform cmake file and fixed header path
- Svg samples CMake build #1857: Svg samples CMake build
- Remove trailing slash from CINDER_LIB_DIRECTORY #2174: Remove trailing slash from CINDER_LIB_DIRECTORY
-
First round of new PRs (Preparatory work to establish proper test coverage):
- [CMake] Set minimal required version to 3.10 #2190: Update cmake_minimum_required to 3.10 as per Upgrade CMake #2142 and remove obsoleted manual policy settings
- [CMake] Fix setting msvc link directories in make app #2195: Remove
cmake_policy( SET CMP0015 OLD ) - [UnitTests] Fix unit tests with cmake and msvc #2196: Fix unit tests with cmake and msvc
- [CI] Update travis CI to use only supported ubuntu images #2199: Fix travis to build only with supported distributions
- TBD: Install recent version of cmake on MacOS on travis when testing with older xcode versions
- TBD: Make sure CMake based builds are getting tested in ci (idealy with the "correct" cmake version)
- TBD: Add ability to skip samples when using CINDER_BUILD_ALL_SAMPLES
-
Second round of new PRs (cleanup/simplification/fixes):
- TBD: Enable CMP0091 (activate MSVC_RUNTIME_LIBRARY)
- TBD: Require c++17 on msvc
- TBD: Remove manualy setting of
-std=c++XXflags. - TBD: Check if /MP and/or /FS can be removed
- TBD: Check if /NODEFAULTLIB is necessary
- TBD: Use CMAKE_VS_PLATFORM_TOOLSET / update vs platform detection logic (cinder is requiring VS2019)
- TBD: Use capability of catch2 to create separate ctest target for each test
- ... (some more cleanup possible?)
-
Third round of PRs (more invasive stuff):
- TBD: Move CMLs to example root folders
- TBD: Create separate targets (objectlibs) for the third party libs in cinder
- ...
Other open PRs affecting CMake (but are e.g. outdated/not ready to merge/need review/might get superseeded ...)
- Adding support for Visual Studio Code #2168
- Cmake update :: Visual Studio 2019 + videoInput #2167
- CMake app icon on OSX #1537
- CMake support for shared library and Visual Studio 2019 #2133
Adding @ufidstudios-ch as I believe he is also planning to update some cmake files