Skip to content

Commit

Permalink
Adding xrandr and hdf5 to pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
Urs Hofmann committed Jul 16, 2024
1 parent 3427d31 commit 5ae2513
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 24 deletions.
34 changes: 15 additions & 19 deletions .github/workflows/cmake-multi-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,16 @@ jobs:
#
# To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list.
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest]
build_type: [Release]
c_compiler: [gcc, clang, cl]
include:
- os: windows-latest
c_compiler: cl
cpp_compiler: cl
- os: ubuntu-latest
c_compiler: gcc
cpp_compiler: g++
- os: ubuntu-latest
c_compiler: clang
cpp_compiler: clang++
exclude:
- os: windows-latest
c_compiler: gcc
- os: windows-latest
c_compiler: clang
- os: ubuntu-latest
c_compiler: cl
c_compiler: [gcc, clang]
include:
- os: ubuntu-latest
c_compiler: gcc
cpp_compiler: g++
- os: ubuntu-latest
c_compiler: clang
cpp_compiler: clang++

steps:
- uses: actions/checkout@v4
Expand All @@ -54,6 +44,12 @@ jobs:
run: |
echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get -y install libxrandr-dev libhdf5-serial-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
Expand Down
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")

# find dependencies (most of them are handled through FetchContent)
find_package(ImGUI REQUIRED)
find_package(glfw3 REQUIRED)
find_package(GLFW REQUIRED)
find_package(OpenGL REQUIRED)
find_package(SDL2 REQUIRED)
find_library(H5CPP_LIB hdf5_cpp)
find_library(H5_LIB hdf5) # todo this sounds fishy that
find_package(ImPlot REQUIRED)
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,18 @@ Required packages:
- a capable C++ compiler which can be consumed by `CMake`
- `CUDA` for GPU acceleration (can be disabled, not required)
- `hdf5` for dataset import and export
- `libxrandr`, `libxinerama`, `libxcursor`, `libxi`, `libgl1-mesa-dev`: used for GUI framework

Package installation command ArchLinux:

```bash
pacman -S hdf5
pacman -S hdf5 libxrandr libxinerama
```

Package installation command Ubuntu:

```bash
apt-get install libhdf5-serial-dev
apt-get install libhdf5-serial-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev
```

Many other dependencies are directly managed through CMake based on `FetchContent`.
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/FindImGUI.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ if (NOT imgui_POPULATED)
# glfw3_LIBRARIES is empty
target_link_libraries(ImGUI_target
PRIVATE
${glfw3_LIBRARIES}
${glfw_LIBRARIES}
${OPENGL_LIBRARIES}
)

Expand Down

0 comments on commit 5ae2513

Please sign in to comment.