Automated windows build: build.bat#72
Automated windows build: build.bat#72alexandernikolic-v2c2 wants to merge 1 commit intomodelica:masterfrom
Conversation
Some libraries have different names/case in vcpkg (for windows). Added copying of XML file to TARGET_FILE_DIR for master examples. in folder dependencies: * vcpkg will be installed locally - user has to click no button to not install systemwide. * cmake will be downloaded and unzipped DCPLib and all examples will be built. Simple test will be run at end of build.
|
|
||
| if(BUILD_ALL OR BUILD_ETHERNET) | ||
| find_package(Threads REQUIRED) | ||
| find_package(ASIO REQUIRED ) |
There was a problem hiding this comment.
Why is ASIO on windows not ok?
We use ASIO on windows with vcpkg here https://github.com/eclipse-openmcx/openmcx/blob/add_dcp_support/CMakeLists.txt and don't have any problems.
There was a problem hiding this comment.
TL;DR: This change (+ if/else and "case-sensitive" asio find_package calls) can be omitted.
This is me being used to case-paranoia, thus my bad.
As I read this information in the output of vcpkg:
asio provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(asio CONFIG REQUIRED)
target_link_libraries(main PRIVATE asio::asio)
asio provides pkg-config modules:
# A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.
asio
I assumed by using the same case as output, I would also make sure to use the vcpkg-provided pkg-config modules. This is not the case though, as pkg-config is not used in CMakeLists.txt - I missed to see that.
Masking cmake/FindASIO.cmake by renaming revealed, that this file is used. To reduce future maintenance burden, removing this file and using the pkg-config way in cmake might be considered.
Some libraries have different names/case in vcpkg (for windows). Added copying of XML file to TARGET_FILE_DIR for master examples.
in folder dependencies:
DCPLib and all examples will be built.
Simple test will be run at end of build.