diff --git a/.github/workflows/binary-build-win.yml b/.github/workflows/binary-build-win.yml new file mode 100644 index 00000000..2e3dc826 --- /dev/null +++ b/.github/workflows/binary-build-win.yml @@ -0,0 +1,32 @@ +name: Windows Binary Build +# author: Christoph Fröhlich +# description: 'Build & test all dependencies from released (binary) windows packages.' + +on: + workflow_dispatch: + pull_request: + branches: + - ros2-master + # types: + # - labeled + push: + branches: + - ros2-master + # issue_comment: + # types: + # - created + +jobs: + binary-windows: + # if: | + # (github.event_name == 'issue_comment' && contains(github.event.comment.body, '/check-windows')) || + # (github.event_name == 'pull_request' && contains(github.event.label.name, 'check-windows')) || + # (github.event_name == 'workflow_dispatch') + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-win-build.yml@windows_ci_boost + with: + ros_distro: jazzy + ref_for_scheduled_build: ros2-master + os_name: windows-2019 + install_boost: true + install_vcpkg: true + windows_dependencies: control_toolbox.windows.jazzy.repos diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f144e88..c8783247 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,11 +7,16 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)") endif() if(WIN32) - # Enable Math Constants - # https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants?view=vs-2019 add_compile_definitions( + # For math constants + # https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants?view=vs-2019 _USE_MATH_DEFINES + # Minimize Windows namespace collision + NOMINMAX + WIN32_LEAN_AND_MEAN ) + # set the same behavior for windows as it is on linux + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() set(THIS_PACKAGE_INCLUDE_DEPENDS diff --git a/control_toolbox.windows.jazzy.repos b/control_toolbox.windows.jazzy.repos new file mode 100644 index 00000000..4b4f31b3 --- /dev/null +++ b/control_toolbox.windows.jazzy.repos @@ -0,0 +1,17 @@ +repositories: + filters: + type: git + url: https://github.com/christophfroehlich/filters.git + version: ros2-boost + cpp_polyfills: + type: git + url: https://github.com/PickNikRobotics/cpp_polyfills.git + version: main + rsl: + type: git + url: https://github.com/PickNikRobotics/RSL.git + version: main + generate_parameter_library: + type: git + url: https://github.com/PickNikRobotics/generate_parameter_library.git + version: main