diff --git a/.github/presets/common.json b/.github/presets/common.json index 42b41c21..5452e43f 100644 --- a/.github/presets/common.json +++ b/.github/presets/common.json @@ -3,20 +3,25 @@ "cmakeMinimumRequired": { "major": 3, "minor": 23, "patch": 0 }, "configurePresets": [ { - "name": "gha-modules", + "name": "common", "displayName": "Modules GHA", - "inherits" : ["modules", "modules-vcpkg"], "cacheVariables": { - "IVW_MODULE_OPENMESH": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_SPRINGSYSTEM": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_VASP": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_NANOVGUTILS": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_TENSORVISBASE": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_INTEGRALLINEFILTERING": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_MOLVISBASE": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_MOLVISGL": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_MOLVISPYTHON": { "type": "BOOL", "value": "ON"}, - "IVW_MODULE_DATAFRAMECLUSTERING": { "type": "BOOL", "value": "ON"} + "IVW_MODULE_EIGENUTILS": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_HDF5": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_FFMPEG": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_WEBBROWSER": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_TETRAMESH": { "type": "BOOL", "value": "ON"}, + + "IVW_MODULE_OPENMESH": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_SPRINGSYSTEM": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_VASP": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_NANOVGUTILS": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_TENSORVISBASE": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_INTEGRALLINEFILTERING": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_MOLVISBASE": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_MOLVISGL": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_MOLVISPYTHON": { "type": "BOOL", "value": "ON"}, + "IVW_MODULE_DATAFRAMECLUSTERING": { "type": "BOOL", "value": "ON"} } } ] diff --git a/.github/presets/linux.json b/.github/presets/linux.json index 789ae48f..204c8f84 100644 --- a/.github/presets/linux.json +++ b/.github/presets/linux.json @@ -2,17 +2,39 @@ "version": 9, "cmakeMinimumRequired": { "major": 3, "minor": 30, "patch": 0 }, "include" : [ - "${sourceParentDir}/modules/.github/presets/common.json", - "${sourceDir}/.github/presets/linux.json" + "${sourceParentDir}/modules/.github/presets/common.json" ], "configurePresets": [ { - "name": "gha-modules-static", - "inherits" : ["gha-modules", "gha-static"] + "name": "gha", + "displayName": "Ninja Developer configuration", + "inherits" : ["common", "modules", "modules-vcpkg", "ninja", "developer", "vcpkg", "vcpkg-cache-write", "build"], + "cacheVariables": { + "CMAKE_C_COMPILER_LAUNCHER": "ccache", + "CMAKE_CXX_COMPILER_LAUNCHER": "ccache", + + "IVW_MODULE_FFMPEG": "OFF", + "IVW_MODULE_WEBBROWSER": "OFF", + "IVW_TEST_BENCHMARKS": "OFF" + } }, { - "name": "gha-modules-dynamic", - "inherits" : ["gha-modules", "gha-dynamic"] + "name": "gha-static", + "inherits" : ["gha"], + "cacheVariables": { + "BUILD_SHARED_LIBS": { "type": "BOOL", "value": "OFF"}, + "VCPKG_TARGET_TRIPLET": "x64-linux", + "VCPKG_HOST_TRIPLET": "x64-linux" + } + }, + { + "name": "gha-dynamic", + "inherits" : ["gha"], + "cacheVariables": { + "BUILD_SHARED_LIBS": { "type": "BOOL", "value": "ON"}, + "VCPKG_TARGET_TRIPLET": "x64-linux-dynamic", + "VCPKG_HOST_TRIPLET": "x64-linux-dynamic" + } } ] } diff --git a/.github/presets/macos.json b/.github/presets/macos.json index 9b5b64ff..8d021d10 100644 --- a/.github/presets/macos.json +++ b/.github/presets/macos.json @@ -2,17 +2,29 @@ "version": 9, "cmakeMinimumRequired": { "major": 3, "minor": 30, "patch": 0 }, "include" : [ - "${sourceParentDir}/modules/.github/presets/common.json", - "${sourceDir}/.github/presets/macos.json" + "${sourceParentDir}/modules/.github/presets/common.json" ], "configurePresets": [ { - "name": "gha-modules-static", - "inherits" : ["gha-modules", "gha-static"] + "name": "gha", + "displayName": "Xcode Developer configuration", + "inherits" : ["common", "modules", "modules-vcpkg", "xcode", "developer", "vcpkg", "vcpkg-cache-write", "build"], + "cacheVariables": { + "IVW_CFG_USE_CCACHE_XCODE": "ON" + } }, { - "name": "gha-modules-dynamic", - "inherits" : ["gha-modules", "gha-dynamic"] + "name": "gha-static", + "inherits" : ["gha"], + "cacheVariables": { + "BUILD_SHARED_LIBS": { "type": "BOOL", "value": "OFF"}, + "VCPKG_TARGET_TRIPLET": "arm64-osx", + "VCPKG_HOST_TRIPLET": "arm64-osx" + } + }, + { + "name": "gha-dynamic", + "inherits" : ["gha"] } ] } diff --git a/.github/presets/windows.json b/.github/presets/windows.json index 815ee1fc..e1bfc94a 100644 --- a/.github/presets/windows.json +++ b/.github/presets/windows.json @@ -2,17 +2,36 @@ "version": 9, "cmakeMinimumRequired": { "major": 3, "minor": 30, "patch": 0 }, "include" : [ - "${sourceParentDir}/modules/.github/presets/common.json", - "${sourceDir}/.github/presets/windows.json" + "${sourceParentDir}/modules/.github/presets/common.json" ], "configurePresets": [ { - "name": "gha-modules-static", - "inherits" : ["gha-modules", "gha-static"] + "name": "gha", + "inherits" : ["common", "modules", "modules-vcpkg", "msvc", "developer", "vcpkg", "vcpkg-cache-write", "build"], + "cacheVariables": { + "IVW_CFG_USE_CCACHE_MSVC": "ON", + "IVW_MODULE_SGCT": "ON", + "IVW_APP_INVIWO_DOME": "ON", + "VCPKG_MANIFEST_FEATURES": "sgct" + } }, { - "name": "gha-modules-dynamic", - "inherits" : ["gha-modules", "gha-dynamic"] + "name": "gha-static", + "inherits" : ["gha"], + "cacheVariables": { + "IVW_CFG_MSVC_FORCE_SHARED_CRT": { "type": "BOOL", "value": "ON"}, + "BUILD_SHARED_LIBS": { "type": "BOOL", "value": "OFF"}, + "VCPKG_TARGET_TRIPLET": "x64-windows-static-md", + "VCPKG_HOST_TRIPLET": "x64-windows-static-md" + } + }, + { + "name": "gha-dynamic", + "inherits" : ["gha"], + "cacheVariables": { + "IVW_DOXYGEN_PROJECT": "ON", + "IVW_DOXYGEN_LATEX_PATH": "C:/tools/TinyTeX/bin/win32/pdflatex.exe" + } } ] } diff --git a/.github/workflows/modules.yml b/.github/workflows/modules.yml index 1679c670..f95b1985 100644 --- a/.github/workflows/modules.yml +++ b/.github/workflows/modules.yml @@ -150,7 +150,7 @@ jobs: - name: "Configure CMake" shell: bash run: > - cmake -S inviwo -B build --preset gha-modules-${{ matrix.linkage }} + cmake -S inviwo -B build --preset gha-${{ matrix.linkage }} -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -DVCPKG_INSTALL_OPTIONS='--clean-after-build' @@ -334,7 +334,7 @@ jobs: - name: "Configure CMake" shell: bash run: > - cmake -S inviwo -B build --preset gha-modules-dynamic + cmake -S inviwo -B build --preset gha-dynamic -DCMAKE_CXX_FLAGS='-stdlib=libc++' -DVCPKG_INSTALL_OPTIONS='--clean-after-build' -DCMAKE_BUILD_TYPE=Release