@@ -121,12 +121,16 @@ jobs:
121
121
- name : install conan
122
122
if : matrix.use_conan == true
123
123
run : |
124
- pip install conan~=1.47
125
- conan config set general.revisions_enabled=1
124
+ pip install conan~=2.0.5
126
125
127
- - name : install cmake
126
+ - name : ' ubuntu-14.04: install cmake'
127
+ if : matrix.os == 'ubuntu-14.04'
128
128
129
129
130
+ - name : install cmake
131
+ if : matrix.os != 'ubuntu-14.04'
132
+
133
+
130
134
- name : setup bash path
131
135
working-directory : ${{ env.GITHUB_WORKSPACE }}
132
136
shell : bash
@@ -139,7 +143,7 @@ jobs:
139
143
if : runner.os == 'Windows'
140
144
run : |
141
145
# set compiler to cl.exe to avoid building with gcc.
142
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe" >> $env:GITHUB_ENV
146
+ echo "CMAKE_COMPILER_ARGS= -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe" >> $env:GITHUB_ENV
143
147
# disable unused network interface
144
148
netsh interface set interface name="vEthernet (nat)" admin=DISABLED
145
149
# get host IP address
@@ -269,13 +273,11 @@ jobs:
269
273
cmake .. -DCMAKE_BUILD_TYPE:STRING="Release" -DWERROR:BOOL="0" -DBUILD_SAMPLES:BOOL="0" -DBUILD_TESTS:BOOL="0"
270
274
make -j 2 && sudo make install
271
275
272
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DWEBSOCKETPP_INCLUDE_DIR:PATH=\"${{ env.RUNNER_WORKSPACE }}/cpprestsdk/Release/libs/websocketpp\"" >> $GITHUB_ENV
273
-
274
- - name : disable conan
275
- if : matrix.use_conan == false
276
- shell : bash
277
- run : |
278
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DNMOS_CPP_USE_CONAN:BOOL=\"0\"" >> $GITHUB_ENV
276
+ echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }}" \
277
+ "-DWEBSOCKETPP_INCLUDE_DIR:PATH=\"${{ env.RUNNER_WORKSPACE }}/cpprestsdk/Release/libs/websocketpp\"" \
278
+ "-DNMOS_CPP_USE_SUPPLIED_JSON_SCHEMA_VALIDATOR:BOOL=\"1\"" \
279
+ "-DNMOS_CPP_USE_SUPPLIED_JWT_CPP:BOOL=\"1\"" \
280
+ >> $GITHUB_ENV
279
281
280
282
- name : ubuntu avahi setup
281
283
if : runner.os == 'Linux' && matrix.install_mdns == false
@@ -292,10 +294,20 @@ jobs:
292
294
echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DNMOS_CPP_USE_AVAHI:BOOL=\"1\"" >> $GITHUB_ENV
293
295
294
296
- name : force cpprest asio
295
- if : matrix.force_cpprest_asio == true
297
+ if : matrix.force_cpprest_asio == true && matrix.use_conan == true
296
298
shell : bash
297
299
run : |
298
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DNMOS_CPP_CONAN_OPTIONS:STRING=\"cpprestsdk:http_client_impl=asio;cpprestsdk:http_listener_impl=asio\"" >> $GITHUB_ENV
300
+ echo "CONAN_INSTALL_EXTRA_ARGS=--options\;cpprestsdk/*:http_client_impl=asio\;--options\;cpprestsdk/*:http_listener_impl=asio" >> $GITHUB_ENV
301
+
302
+ - name : enable conan
303
+ if : matrix.use_conan == true
304
+ shell : bash
305
+ run : |
306
+ echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }}" \
307
+ "-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES:STRING=\"third_party/cmake/conan_provider.cmake\"" \
308
+ "-DCONAN_INSTALL_ARGS:STRING=\"--build=missing\;${{ env.CONAN_INSTALL_EXTRA_ARGS }}\;--lockfile-out=conan.lock\"" \
309
+ >> $GITHUB_ENV
310
+ cat $GITHUB_ENV
299
311
300
312
- name : setup developer command prompt for Microsoft Visual C++
301
313
if : runner.os == 'Windows'
@@ -307,7 +319,12 @@ jobs:
307
319
cmakeListsOrSettingsJson : CMakeListsTxtAdvanced
308
320
cmakeListsTxtPath : ' ${{ env.GITHUB_WORKSPACE }}/Development/CMakeLists.txt'
309
321
buildDirectory : ' ${{ env.RUNNER_WORKSPACE }}/build/'
310
- cmakeAppendedArgs : ' -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ env.RUNNER_WORKSPACE }}/install" ${{ env.CMAKE_EXTRA_ARGS }}'
322
+ cmakeAppendedArgs : ' -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ env.RUNNER_WORKSPACE }}/install" ${{ env.CMAKE_COMPILER_ARGS }} ${{ env.CMAKE_EXTRA_ARGS }}'
323
+
324
+ - name : dump conan lockfile
325
+ if : matrix.use_conan == true
326
+ run : |
327
+ cat ${{ env.RUNNER_WORKSPACE }}/build/conan.lock
311
328
312
329
- name : unit test
313
330
run : |
@@ -344,10 +361,10 @@ jobs:
344
361
cmakeAppendedArgs : ' -GNinja
345
362
-DCMAKE_BUILD_TYPE=Release
346
363
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG="1"
347
- -DCMAKE_MODULE_PATH="${{ env.CMAKE_WORKSPACE }}/build"
364
+ -DCMAKE_MODULE_PATH="${{ env.CMAKE_WORKSPACE }}/build/conan "
348
365
-DCMAKE_PREFIX_PATH="${{ env.CMAKE_WORKSPACE }}/install"
349
- -DCMAKE_INSTALL_PREFIX="${{ env.CMAKE_WORKSPACE }}/build"
350
- ${{ env.CMAKE_EXTRA_ARGS }}'
366
+ -DCMAKE_INSTALL_PREFIX="${{ env.CMAKE_WORKSPACE }}/build/conan "
367
+ ${{ env.CMAKE_COMPILER_ARGS }}'
351
368
352
369
- name : install test log
353
370
run : |
@@ -660,12 +677,16 @@ jobs:
660
677
- name : install conan
661
678
if : matrix.use_conan == true
662
679
run : |
663
- pip install conan~=1.47
664
- conan config set general.revisions_enabled=1
680
+ pip install conan~=2.0.5
665
681
666
- - name : install cmake
682
+ - name : ' ubuntu-14.04: install cmake'
683
+ if : matrix.os == 'ubuntu-14.04'
667
684
668
685
686
+ - name : install cmake
687
+ if : matrix.os != 'ubuntu-14.04'
688
+
689
+
669
690
- name : setup bash path
670
691
working-directory : ${{ env.GITHUB_WORKSPACE }}
671
692
shell : bash
@@ -678,7 +699,7 @@ jobs:
678
699
if : runner.os == 'Windows'
679
700
run : |
680
701
# set compiler to cl.exe to avoid building with gcc.
681
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe" >> $env:GITHUB_ENV
702
+ echo "CMAKE_COMPILER_ARGS= -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe" >> $env:GITHUB_ENV
682
703
# disable unused network interface
683
704
netsh interface set interface name="vEthernet (nat)" admin=DISABLED
684
705
# get host IP address
@@ -808,13 +829,11 @@ jobs:
808
829
cmake .. -DCMAKE_BUILD_TYPE:STRING="Release" -DWERROR:BOOL="0" -DBUILD_SAMPLES:BOOL="0" -DBUILD_TESTS:BOOL="0"
809
830
make -j 2 && sudo make install
810
831
811
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DWEBSOCKETPP_INCLUDE_DIR:PATH=\"${{ env.RUNNER_WORKSPACE }}/cpprestsdk/Release/libs/websocketpp\"" >> $GITHUB_ENV
812
-
813
- - name : disable conan
814
- if : matrix.use_conan == false
815
- shell : bash
816
- run : |
817
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DNMOS_CPP_USE_CONAN:BOOL=\"0\"" >> $GITHUB_ENV
832
+ echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }}" \
833
+ "-DWEBSOCKETPP_INCLUDE_DIR:PATH=\"${{ env.RUNNER_WORKSPACE }}/cpprestsdk/Release/libs/websocketpp\"" \
834
+ "-DNMOS_CPP_USE_SUPPLIED_JSON_SCHEMA_VALIDATOR:BOOL=\"1\"" \
835
+ "-DNMOS_CPP_USE_SUPPLIED_JWT_CPP:BOOL=\"1\"" \
836
+ >> $GITHUB_ENV
818
837
819
838
- name : ubuntu avahi setup
820
839
if : runner.os == 'Linux' && matrix.install_mdns == false
@@ -831,10 +850,20 @@ jobs:
831
850
echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DNMOS_CPP_USE_AVAHI:BOOL=\"1\"" >> $GITHUB_ENV
832
851
833
852
- name : force cpprest asio
834
- if : matrix.force_cpprest_asio == true
853
+ if : matrix.force_cpprest_asio == true && matrix.use_conan == true
835
854
shell : bash
836
855
run : |
837
- echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DNMOS_CPP_CONAN_OPTIONS:STRING=\"cpprestsdk:http_client_impl=asio;cpprestsdk:http_listener_impl=asio\"" >> $GITHUB_ENV
856
+ echo "CONAN_INSTALL_EXTRA_ARGS=--options\;cpprestsdk/*:http_client_impl=asio\;--options\;cpprestsdk/*:http_listener_impl=asio" >> $GITHUB_ENV
857
+
858
+ - name : enable conan
859
+ if : matrix.use_conan == true
860
+ shell : bash
861
+ run : |
862
+ echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }}" \
863
+ "-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES:STRING=\"third_party/cmake/conan_provider.cmake\"" \
864
+ "-DCONAN_INSTALL_ARGS:STRING=\"--build=missing\;${{ env.CONAN_INSTALL_EXTRA_ARGS }}\;--lockfile-out=conan.lock\"" \
865
+ >> $GITHUB_ENV
866
+ cat $GITHUB_ENV
838
867
839
868
- name : setup developer command prompt for Microsoft Visual C++
840
869
if : runner.os == 'Windows'
@@ -846,7 +875,12 @@ jobs:
846
875
cmakeListsOrSettingsJson : CMakeListsTxtAdvanced
847
876
cmakeListsTxtPath : ' ${{ env.GITHUB_WORKSPACE }}/Development/CMakeLists.txt'
848
877
buildDirectory : ' ${{ env.RUNNER_WORKSPACE }}/build/'
849
- cmakeAppendedArgs : ' -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ env.RUNNER_WORKSPACE }}/install" ${{ env.CMAKE_EXTRA_ARGS }}'
878
+ cmakeAppendedArgs : ' -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ env.RUNNER_WORKSPACE }}/install" ${{ env.CMAKE_COMPILER_ARGS }} ${{ env.CMAKE_EXTRA_ARGS }}'
879
+
880
+ - name : dump conan lockfile
881
+ if : matrix.use_conan == true
882
+ run : |
883
+ cat ${{ env.RUNNER_WORKSPACE }}/build/conan.lock
850
884
851
885
- name : unit test
852
886
run : |
@@ -883,10 +917,10 @@ jobs:
883
917
cmakeAppendedArgs : ' -GNinja
884
918
-DCMAKE_BUILD_TYPE=Release
885
919
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG="1"
886
- -DCMAKE_MODULE_PATH="${{ env.CMAKE_WORKSPACE }}/build"
920
+ -DCMAKE_MODULE_PATH="${{ env.CMAKE_WORKSPACE }}/build/conan "
887
921
-DCMAKE_PREFIX_PATH="${{ env.CMAKE_WORKSPACE }}/install"
888
- -DCMAKE_INSTALL_PREFIX="${{ env.CMAKE_WORKSPACE }}/build"
889
- ${{ env.CMAKE_EXTRA_ARGS }}'
922
+ -DCMAKE_INSTALL_PREFIX="${{ env.CMAKE_WORKSPACE }}/build/conan "
923
+ ${{ env.CMAKE_COMPILER_ARGS }}'
890
924
891
925
- name : install test log
892
926
run : |
0 commit comments