-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor CMake files to better support nmos-cpp as a library #2
Commits on Aug 2, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 0e21566 - Browse repository at this point
Copy the full SHA 0e21566View commit details -
Configuration menu - View commit details
-
Copy full SHA for aabcac1 - Browse repository at this point
Copy the full SHA aabcac1View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3bbfcd - Browse repository at this point
Copy the full SHA c3bbfcdView commit details -
Use CMAKE_CURRENT_BINARY_DIR in CMake module/prefix path to support a…
…dd_subdirectory(.../nmos-cpp/Development)
Configuration menu - View commit details
-
Copy full SHA for bfcfb56 - Browse repository at this point
Copy the full SHA bfcfb56View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18ebb15 - Browse repository at this point
Copy the full SHA 18ebb15View commit details -
Configuration menu - View commit details
-
Copy full SHA for 780f11b - Browse repository at this point
Copy the full SHA 780f11bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 48e721d - Browse repository at this point
Copy the full SHA 48e721dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 37fad65 - Browse repository at this point
Copy the full SHA 37fad65View commit details -
Initial refactor to do more with CMake targets and use fewer variable…
…s; get rid of link_directories and most of the include_directories
Configuration menu - View commit details
-
Copy full SHA for fb2be0c - Browse repository at this point
Copy the full SHA fb2be0cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1382e05 - Browse repository at this point
Copy the full SHA 1382e05View commit details -
Add a slog INTERFACE target to make clearer which of the other target…
…s depend on it (e.g. there are some question marks in the code as to whether lldp and mdns libs should or not)
Configuration menu - View commit details
-
Copy full SHA for 8c83982 - Browse repository at this point
Copy the full SHA 8c83982View commit details -
Use target_compile_definitions rather than fiddling with CMAKE_CXX_FL…
…AGS for specific definitions and add_compile_options or add_definitions for almost all other cases that are more general
Configuration menu - View commit details
-
Copy full SHA for c7bad85 - Browse repository at this point
Copy the full SHA c7bad85View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb6e78b - Browse repository at this point
Copy the full SHA bb6e78bView commit details -
Mark some of the target library dependencies as PRIVATE, where those …
…dependencies' interface definitions, etc. don't need to be transitively applied
Configuration menu - View commit details
-
Copy full SHA for b0bcdc4 - Browse repository at this point
Copy the full SHA b0bcdc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for fec796d - Browse repository at this point
Copy the full SHA fec796dView commit details -
Confusingly, Boost_LIBRARIES is provided by the CMake FindBoost.cmake…
… module and recently also by Conan for most generators (cmake_find_package for example) so Linux and Visual Studio "Open folder" work fine, but with cmake_find_package_multi (which we've traditionally used to generate multi-configuration Visual Studio solutions) it isn't, so map the required components to targets instead Same seems to be true for OPENSSL_INCLUDE_DIR and WEBSOCKETPP_INCLUDE_DIR
Configuration menu - View commit details
-
Copy full SHA for 74d4e90 - Browse repository at this point
Copy the full SHA 74d4e90View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd3fc53 - Browse repository at this point
Copy the full SHA bd3fc53View commit details -
Move /ignore:4099 into nmos-cpp target so that not every executable n…
…eeds to do it (seems no worse than force disabling compiler warnings)
Configuration menu - View commit details
-
Copy full SHA for a01451b - Browse repository at this point
Copy the full SHA a01451bView commit details -
Move _WIN32_WINNT into the nmos-cpp::Boost target and add the missing…
… dependency to mdns and lldp
Configuration menu - View commit details
-
Copy full SHA for de5a0c7 - Browse repository at this point
Copy the full SHA de5a0c7View commit details -
Protect call to enable_testing so it's only executed if this is the t…
…op-level project (see PROJECT_IS_TOP_LEVEL in CMake 3.21)
Configuration menu - View commit details
-
Copy full SHA for af1dcc4 - Browse repository at this point
Copy the full SHA af1dcc4View commit details -
Change the default for bst::shared_mutex, etc. to be to use Boost
(it'd still be better to auto-detect in the long run)
Configuration menu - View commit details
-
Copy full SHA for 03853e9 - Browse repository at this point
Copy the full SHA 03853e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 46581b8 - Browse repository at this point
Copy the full SHA 46581b8View commit details -
Remove the directory prefixes from the included files that are in the…
… same directory, and rely on searching the directory where the current file is found, in order to avoid the need for the project root directory to be in the include path
Configuration menu - View commit details
-
Copy full SHA for 001acce - Browse repository at this point
Copy the full SHA 001acceView commit details -
At last, use target_include_directories rather than include_directori…
…es for the whole directory/project
Configuration menu - View commit details
-
Copy full SHA for ce4ce46 - Browse repository at this point
Copy the full SHA ce4ce46View commit details -
Add a version check for Conan to get a sensible error message - e.g. …
…the Boost recipe uses features from at least 1.33.0
Configuration menu - View commit details
-
Copy full SHA for 4b6de18 - Browse repository at this point
Copy the full SHA 4b6de18View commit details -
Tease apart the platform-specific dependencies on additional platform…
…/system libs, Boost components, Bonjour and PCAP, so that (next) each target's dependencies can be brought together
Configuration menu - View commit details
-
Copy full SHA for 9d19cb2 - Browse repository at this point
Copy the full SHA 9d19cb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d2f349 - Browse repository at this point
Copy the full SHA 8d2f349View commit details -
Boost has to come before cpprestsdk because the config of the latter …
…checks Boost_VERSION_COMPONENTS
Configuration menu - View commit details
-
Copy full SHA for 2f3eccb - Browse repository at this point
Copy the full SHA 2f3eccbView commit details -
Split the creation of the dependency targets out from the common CMak…
…e and compiler config; the CACHE variables are still spread through the files, but BUILD_LLDP, the only one that affects _what_ is built rather than _how_, is now in the top-level CMakeLists.txt
Configuration menu - View commit details
-
Copy full SHA for 7057616 - Browse repository at this point
Copy the full SHA 7057616View commit details -
Now that add_subdirectory(.../nmos-cpp/Development <binary_dir> EXCLU…
…DE_FROM_ALL) behaves in a sane fashion, get rid of NMOS_CPP_DIR and just use current source-directory-relative paths
Configuration menu - View commit details
-
Copy full SHA for 5c7e462 - Browse repository at this point
Copy the full SHA 5c7e462View commit details
Commits on Aug 3, 2021
-
Rename FIND_PACKAGE_USE_CONFIG to FIND_PACKAGE_MODE (to indicate eith…
…er not defined/empty or CONFIG or MODULE)
Configuration menu - View commit details
-
Copy full SHA for 3e26d39 - Browse repository at this point
Copy the full SHA 3e26d39View commit details -
Bump required CMake version to 3.13 since I started using target_link…
…_directories in the initial refactor(fb2be0c) and recently also target_link_options - remember to update docs
Configuration menu - View commit details
-
Copy full SHA for c7558dd - Browse repository at this point
Copy the full SHA c7558ddView commit details -
Simplify config of DNSSD target and install dns_sd.h with the patched…
… Windows build of dnssd.lib
Configuration menu - View commit details
-
Copy full SHA for 556f91b - Browse repository at this point
Copy the full SHA 556f91bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12fbb76 - Browse repository at this point
Copy the full SHA 12fbb76View commit details -
Try to workaround "CMake Error at cmake/NmosCppDependencies.cmake:257…
… (install): install FILES given no DESTINATION!" on Windows in GitHub Actions
Configuration menu - View commit details
-
Copy full SHA for f23ef72 - Browse repository at this point
Copy the full SHA f23ef72View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8365dd0 - Browse repository at this point
Copy the full SHA 8365dd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for f3f63e4 - Browse repository at this point
Copy the full SHA f3f63e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for d597900 - Browse repository at this point
Copy the full SHA d597900View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64ec003 - Browse repository at this point
Copy the full SHA 64ec003View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15c1e2d - Browse repository at this point
Copy the full SHA 15c1e2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a73eba - Browse repository at this point
Copy the full SHA 5a73ebaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c0812a - Browse repository at this point
Copy the full SHA 0c0812aView commit details
Commits on Aug 4, 2021
-
Introduce BUILD_EXAMPLES and BUILD_TESTS to configure whether nmos-cp…
…p-tests and nmos-cpp-node and nmos-cpp-registry are built - both ON by default Mark some of the existing cache variables as advanced
Configuration menu - View commit details
-
Copy full SHA for 3c8b03f - Browse repository at this point
Copy the full SHA 3c8b03fView commit details -
Bump requirement to CMake 3.15 to be able to use CMAKE_FIND_PACKAGE_P…
…REFER_CONFIG and bring the Conan-related config of CMAKE_MODULE_PATH and CMAKE_PREFIX_PATH into NmosCppConan.cmake
Configuration menu - View commit details
-
Copy full SHA for e731544 - Browse repository at this point
Copy the full SHA e731544View commit details -
Add "external" example app in the Sandbox that demonstrates how to us…
…e find_package(nmos-cpp) or add_subdirectory(.../nmos-cpp/Development)
Configuration menu - View commit details
-
Copy full SHA for 1d54989 - Browse repository at this point
Copy the full SHA 1d54989View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ea7c6d - Browse repository at this point
Copy the full SHA 3ea7c6dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f2e7724 - Browse repository at this point
Copy the full SHA f2e7724View commit details
Commits on Aug 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 8799df5 - Browse repository at this point
Copy the full SHA 8799df5View commit details -
(removing a warning from cmake-lint from cheshirekow/cmake_format)
Configuration menu - View commit details
-
Copy full SHA for a4da8cb - Browse repository at this point
Copy the full SHA a4da8cbView commit details -
More clean up possible now that we have CMP0091/CMP0092 set to NEW vi…
…a cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
Configuration menu - View commit details
-
Copy full SHA for 1d18c08 - Browse repository at this point
Copy the full SHA 1d18c08View commit details -
Finally worked out how to do the dependencies from mdns on DNSSD, and…
… from lldp on PCAP. The key was requiring CMake 3.17 to get CMP0099, transitive INTERFACE_LINK_OPTIONS for static libs. Thanks to @robertmaynard, Robert Maynard, NVIDIA.
Configuration menu - View commit details
-
Copy full SHA for f8282a1 - Browse repository at this point
Copy the full SHA f8282a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6ea855 - Browse repository at this point
Copy the full SHA e6ea855View commit details -
Configuration menu - View commit details
-
Copy full SHA for 44a37ee - Browse repository at this point
Copy the full SHA 44a37eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 18266e9 - Browse repository at this point
Copy the full SHA 18266e9View commit details
Commits on Aug 6, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 93756ca - Browse repository at this point
Copy the full SHA 93756caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8cc4554 - Browse repository at this point
Copy the full SHA 8cc4554View commit details -
Add CMAKE_INSTALL_PREFIX so administrator privileges aren't required
Also bump Ubuntu 14.04 build to cpprestsdk v2.10.18 for consistency with the Conan builds
Configuration menu - View commit details
-
Copy full SHA for b01636b - Browse repository at this point
Copy the full SHA b01636bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e682f10 - Browse repository at this point
Copy the full SHA e682f10View commit details -
Configuration menu - View commit details
-
Copy full SHA for 720360c - Browse repository at this point
Copy the full SHA 720360cView commit details -
Rework compiler settings as an INTERFACE target to be used as a PRIVA…
…TE dependency (Sandbox/my-nmos-node should now build on Ubuntu 14.04)
Configuration menu - View commit details
-
Copy full SHA for 4e365a4 - Browse repository at this point
Copy the full SHA 4e365a4View commit details -
Move /ignore:4099 into compile-settings target for greater flexibilit…
…y (yes, it's a link setting but pah! cf. commit a01451b)
Configuration menu - View commit details
-
Copy full SHA for d14c8d7 - Browse repository at this point
Copy the full SHA d14c8d7View commit details -
Do not use install(TARGETS ... INCLUDES DESTINATION ${NMOS_CPP_INSTAL…
…L_INCLUDEDIR}) since this is added explicitly for the targets that actually need it (Improves the installed nmos-cpp-targets.cmake which had some unnecessary and in many cases repeated instances of ${_IMPORT_PREFIX}/include in INTERFACE_INCLUDE_DIRECTORIES)
Configuration menu - View commit details
-
Copy full SHA for 1771269 - Browse repository at this point
Copy the full SHA 1771269View commit details
Commits on Aug 7, 2021
-
Configuration menu - View commit details
-
Copy full SHA for dfa00b2 - Browse repository at this point
Copy the full SHA dfa00b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6e51f7 - Browse repository at this point
Copy the full SHA e6e51f7View commit details -
Simplification that may help auto-generating the Conan recipe cpp_inf…
…o.components.requires
Configuration menu - View commit details
-
Copy full SHA for da8d36b - Browse repository at this point
Copy the full SHA da8d36bView commit details
Commits on Aug 8, 2021
-
Configuration menu - View commit details
-
Copy full SHA for eb48b74 - Browse repository at this point
Copy the full SHA eb48b74View commit details -
Configuration menu - View commit details
-
Copy full SHA for c52f1a7 - Browse repository at this point
Copy the full SHA c52f1a7View commit details -
Hmmm; this generator expression wasn't causing me problems in the Con…
…an recipe and now it is... let's just try letting CMake do the right thing on its own...
Configuration menu - View commit details
-
Copy full SHA for 5fb530b - Browse repository at this point
Copy the full SHA 5fb530bView commit details
Commits on Aug 9, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 57db6d3 - Browse repository at this point
Copy the full SHA 57db6d3View commit details -
Prepare to follow conan-center-index guidance on versioning unversion…
…ed libraries, thanks @prince-chrismc
Configuration menu - View commit details
-
Copy full SHA for 91c8c6f - Browse repository at this point
Copy the full SHA 91c8c6fView commit details -
Revert "Add generators explicitly, matching cmake/NmosCppConan.cmake"
This reverts commit dfa00b2.
Configuration menu - View commit details
-
Copy full SHA for 18046cd - Browse repository at this point
Copy the full SHA 18046cdView commit details -
Although zlib is required to build with websocketpp, perhaps we don't…
… need it explicitly, because nmos-cpp code doesn't depend on it directly and the websocketpp recipe already has the dependency?
Configuration menu - View commit details
-
Copy full SHA for 4334540 - Browse repository at this point
Copy the full SHA 4334540View commit details -
Configuration menu - View commit details
-
Copy full SHA for dfd81c4 - Browse repository at this point
Copy the full SHA dfd81c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5bdd1e - Browse repository at this point
Copy the full SHA c5bdd1eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e0f8a5 - Browse repository at this point
Copy the full SHA 6e0f8a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4130e87 - Browse repository at this point
Copy the full SHA 4130e87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18f9306 - Browse repository at this point
Copy the full SHA 18f9306View commit details -
Configuration menu - View commit details
-
Copy full SHA for adc447b - Browse repository at this point
Copy the full SHA adc447bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27adbb0 - Browse repository at this point
Copy the full SHA 27adbb0View commit details -
Since NmosCppConan.cmake checks CONAN_EXPORTED and does conan_basic_s…
…etup if so, the wrapper CMakeLists.txt isn't required
Configuration menu - View commit details
-
Copy full SHA for 07397ae - Browse repository at this point
Copy the full SHA 07397aeView commit details -
Add nmos-cpp-registry and nmos-cpp-node to the path and use nmos-cpp-…
…registry in the test_package
Configuration menu - View commit details
-
Copy full SHA for a3dad30 - Browse repository at this point
Copy the full SHA a3dad30View commit details -
Configuration menu - View commit details
-
Copy full SHA for 143dcd0 - Browse repository at this point
Copy the full SHA 143dcd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3ffabb - Browse repository at this point
Copy the full SHA e3ffabbView commit details
Commits on Aug 10, 2021
-
Just use the dependency config-file packages or find-module packages …
…that were created by Conan cmake_find_package[_multi] when building nmos-cpp
Configuration menu - View commit details
-
Copy full SHA for 54110ed - Browse repository at this point
Copy the full SHA 54110edView commit details -
Configuration menu - View commit details
-
Copy full SHA for f48155b - Browse repository at this point
Copy the full SHA f48155bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e2f1c4a - Browse repository at this point
Copy the full SHA e2f1c4aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b7a9f3d - Browse repository at this point
Copy the full SHA b7a9f3dView commit details -
Go back to using two different variables since semicolons are proving…
… so problematic... Put the nmos-cpp install directory in the CMAKE_PREFIX_PATH and the build path in the CMAKE_INSTALL_PREFIX as the former should be searched before the latter by find_package
Configuration menu - View commit details
-
Copy full SHA for 5f20d47 - Browse repository at this point
Copy the full SHA 5f20d47View commit details -
Now it's working again... to be more confident that things are being …
…found where expected, add --debug-find to the install test
Configuration menu - View commit details
-
Copy full SHA for 14fd435 - Browse repository at this point
Copy the full SHA 14fd435View commit details -
...and let's see if that still works but slims down the 7000 lines of…
… additional logging we got from --debug-find
Configuration menu - View commit details
-
Copy full SHA for ce13f8a - Browse repository at this point
Copy the full SHA ce13f8aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12a2db5 - Browse repository at this point
Copy the full SHA 12a2db5View commit details -
Restore default find locations because although the last commit's wor…
…kflows were successful on Windows and Ubuntu 18.04 and 20.04, it failed on macOS (couldn't find CoreFoundation) and on Ubuntu 14.04 (couldn't find system-installed Boost), and the logs weren't much shorter anyway... so I'll keep --debug-find for occasional debugging!
Configuration menu - View commit details
-
Copy full SHA for 17163c5 - Browse repository at this point
Copy the full SHA 17163c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d89097 - Browse repository at this point
Copy the full SHA 1d89097View commit details
Commits on Aug 11, 2021
-
As a significantly less verbose option than --debug-find, generate an…
…d dump into the console a log file of where the most important dependencies have been found
Configuration menu - View commit details
-
Copy full SHA for a07d4af - Browse repository at this point
Copy the full SHA a07d4afView commit details
Commits on Aug 12, 2021
-
When built with USE_ADD_SUBDIRECTORY, the Boost::, and cpprestsdk:: t…
…argets are not available because the find-module or config-file packages use add_library() without GLOBAL for the IMPORTED targets, so the target names only have scope in the subdirectory. Rather than set the IMPORTED_GLOBAL target property explicitly somewhere in nmos-cpp itself, just generate the list of include directories directly from the my-nmos-node executable instead.
Configuration menu - View commit details
-
Copy full SHA for 8f9801a - Browse repository at this point
Copy the full SHA 8f9801aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 17ec7ab - Browse repository at this point
Copy the full SHA 17ec7abView commit details -
Add NMOS_CPP_ prefix to the most important/likely to conflict CMake c…
…ache variables, e.g. BUILD_EXAMPLES, BUILD_TESTS, USE_CONAN
Configuration menu - View commit details
-
Copy full SHA for 088e3e2 - Browse repository at this point
Copy the full SHA 088e3e2View commit details -
Merge pull request #4 from garethsb/library-cmake-prefix-cache-variables
Add NMOS_CPP_ prefix to the CMake cache variables, e.g. BUILD_EXAMPLES, BUILD_TESTS, USE_CONAN
Configuration menu - View commit details
-
Copy full SHA for 35022f8 - Browse repository at this point
Copy the full SHA 35022f8View commit details -
Add NMOS_CPP_ cache variables to the documentation and hide more non-…
…Conan instructions behind HTML <details>
Configuration menu - View commit details
-
Copy full SHA for e185b7a - Browse repository at this point
Copy the full SHA e185b7aView commit details
Commits on Aug 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for ccf738b - Browse repository at this point
Copy the full SHA ccf738bView commit details -
If we're using Conan, find json-schema-validator package rather than …
…building from third_party source Reorder dependencies consistently in conanfiles, NmosCppDependencies.cmake and Dependencies docs
Configuration menu - View commit details
-
Copy full SHA for 0b7689b - Browse repository at this point
Copy the full SHA 0b7689bView commit details
Commits on Aug 15, 2021
-
Rename NMOS_CPP_USE_SYSTEM_BONJOUR to NMOS_CPP_USE_BONJOUR_SDK and ad…
…d comment to more clearly explain the rationale for building the patched dnssd.lib and that the Bonjour service and client DLL (dnssd.dll) are still required
Configuration menu - View commit details
-
Copy full SHA for 585b518 - Browse repository at this point
Copy the full SHA 585b518View commit details
Commits on Aug 16, 2021
-
Configuration menu - View commit details
-
Copy full SHA for b4c600e - Browse repository at this point
Copy the full SHA b4c600eView commit details -
Map CMake target name to Conan component name (json-schema-validator …
…vs. nlohmann_json_schema_validator) Fixes bug in 0b7689b
Configuration menu - View commit details
-
Copy full SHA for 605ea4d - Browse repository at this point
Copy the full SHA 605ea4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for c899e41 - Browse repository at this point
Copy the full SHA c899e41View commit details -
Reinstate use of wrapper CMakeLists.txt (revert commit 07397ae and am…
…end slightly) since the existing include in NmosCppConan.cmake didn't work for out-of-source builds, and it seems slightly more elegant to keep the as much of the Conan recipe-specific stuff alongside the conanfile.py and just "turn off" NmosCppConan.cmake in the case of CONAN_EXPORT but take no other action.
Configuration menu - View commit details
-
Copy full SHA for 190cea9 - Browse repository at this point
Copy the full SHA 190cea9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e692a1 - Browse repository at this point
Copy the full SHA 6e692a1View commit details