Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ on:
pull_request:
workflow_dispatch:

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

# for matrix check https://docs.github.com/en/actions/reference/specifications-for-github-hosted-runners
jobs:
prepare_matrix:
Expand All @@ -35,14 +31,14 @@ jobs:
steps:
- name: Checkout the source
if: github.event_name != 'pull_request'
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
submodules: recursive
fetch-depth: 0

- name: Checkout the source - pull request
if: github.event_name == 'pull_request'
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
submodules: recursive
fetch-depth: 0
Expand All @@ -59,7 +55,7 @@ jobs:
python-version: "3.12"

- name: Start ssh key agent
uses: webfactory/ssh-agent@v0.9.0
uses: webfactory/ssh-agent@v0.10.0
with:
ssh-private-key: ${{ secrets.RULESSUPPORT_DEPLOY_KEY }}

Expand Down
13 changes: 10 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@ PROJECT(${PROJECT}
# -----------------------------------------------------------------------------
# CMake Options
# -----------------------------------------------------------------------------
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)

if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /Zc:__cplusplus")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
Expand All @@ -31,12 +29,16 @@ find_package(Qt6 COMPONENTS Widgets WebEngineWidgets REQUIRED)

find_package(ManiVault COMPONENTS Core PointData CONFIG QUIET)

find_package(OpenMP)

# -----------------------------------------------------------------------------
# Source files
# -----------------------------------------------------------------------------
set(SOURCES
src/PointDataConversionPlugin.h
src/PointDataConversionPlugin.cpp
src/SlidersAction.h
src/SlidersAction.cpp
)

set(AUX
Expand All @@ -60,6 +62,10 @@ target_include_directories(${PROJECT} PRIVATE "${ManiVault_INCLUDE_DIR}")
# -----------------------------------------------------------------------------
target_compile_features(${PROJECT} PRIVATE cxx_std_20)

set_target_properties(${PROJECT} PROPERTIES
AUTOMOC ON
)

# -----------------------------------------------------------------------------
# Target library linking
# -----------------------------------------------------------------------------
Expand All @@ -68,6 +74,7 @@ target_link_libraries(${PROJECT} PRIVATE Qt6::WebEngineWidgets)

target_link_libraries(${PROJECT} PRIVATE ManiVault::Core)
target_link_libraries(${PROJECT} PRIVATE ManiVault::PointData)
target_link_libraries(${PROJECT} PRIVATE OpenMP::OpenMP_CXX)

# -----------------------------------------------------------------------------
# Target installation
Expand Down
19 changes: 15 additions & 4 deletions conanfile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from conans import ConanFile
from conan.tools.cmake import CMakeDeps, CMake, CMakeToolchain
from conans.tools import save, load
from conans.tools import os_info, SystemPackageTool
import os
import shutil
import pathlib
Expand All @@ -9,7 +10,7 @@


class PointDataConversionPluginConan(ConanFile):
"""Class to package the PointDataConversionPlugin using conan
"""Class to package the PointDataConversionPlugin using conan

Packages both RELEASE and RELWITHDEBINFO.
Uses rules_support (github.com/ManiVaultStudio/rulessupport) to derive
Expand Down Expand Up @@ -68,8 +69,13 @@ def configure(self):
pass

def system_requirements(self):
# May be needed for macOS or Linux
pass
if os_info.is_macos:
installer = SystemPackageTool()
installer.install("libomp")
proc = subprocess.run("brew --prefix libomp", shell=True, capture_output=True)
subprocess.run(f"ln {proc.stdout.decode('UTF-8').strip()}/lib/libomp.dylib /usr/local/lib/libomp.dylib", shell=True)
if os_info.is_linux:
self.run("sudo apt update && sudo apt install -y libtbb-dev")

def config_options(self):
if self.settings.os == "Windows":
Expand Down Expand Up @@ -100,8 +106,13 @@ def generate(self):
tc.variables["ManiVault_DIR"] = manivault_dir

# Set some build options
tc.variables["MV_UNITY_BUILD"] = "ON"
tc.cache_variables["MV_UNITY_BUILD"] = "ON"

if os_info.is_macos:
proc = subprocess.run("brew --prefix libomp", shell=True, capture_output=True)
prefix_path = f"{proc.stdout.decode('UTF-8').strip()}"
tc.variables["OpenMP_ROOT"] = prefix_path

tc.generate()

def _configure_cmake(self):
Expand Down
Loading
Loading