mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 18:30:06 +00:00
Merge pull request #457 from dpaulat/feature/setup-cleanup
CMake Setup, CMakePresets and Python Virtual Environments
This commit is contained in:
commit
4425c53c8e
38 changed files with 841 additions and 153 deletions
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
|
|
@ -20,7 +20,7 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- name: win64_msvc2022
|
||||
- name: windows_msvc2022_x64
|
||||
os: windows-2022
|
||||
build_type: Release
|
||||
env_cc: ''
|
||||
|
|
@ -34,7 +34,7 @@ jobs:
|
|||
qt_modules: qtimageformats qtmultimedia qtpositioning qtserialport
|
||||
qt_tools: ''
|
||||
conan_package_manager: ''
|
||||
conan_profile: scwx-win64_msvc2022
|
||||
conan_profile: scwx-windows_msvc2022_x64
|
||||
appimage_arch: ''
|
||||
artifact_suffix: windows-x64
|
||||
- name: linux_gcc_x64
|
||||
|
|
|
|||
10
.gitignore
vendored
10
.gitignore
vendored
|
|
@ -12,3 +12,13 @@ install_manifest.txt
|
|||
compile_commands.json
|
||||
CTestTestfile.cmake
|
||||
_deps
|
||||
|
||||
# Editor directories
|
||||
.idea/
|
||||
.vs/
|
||||
|
||||
# Python Virtual Environment
|
||||
.venv/
|
||||
|
||||
# Specific excludes for Supercell Wx
|
||||
tools/lib/user-setup.sh
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
cmake_minimum_required(VERSION 3.24)
|
||||
set(PROJECT_NAME supercell-wx)
|
||||
|
||||
include(tools/scwx_config.cmake)
|
||||
|
||||
scwx_python_setup()
|
||||
|
||||
project(${PROJECT_NAME}
|
||||
VERSION 0.4.9
|
||||
DESCRIPTION "Supercell Wx is a free, open source advanced weather radar viewer."
|
||||
|
|
@ -11,8 +16,6 @@ set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
|||
set(CMAKE_POLICY_DEFAULT_CMP0079 NEW)
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0148 OLD) # aws-sdk-cpp uses FindPythonInterp
|
||||
|
||||
include(tools/scwx_config.cmake)
|
||||
|
||||
scwx_output_dirs_setup()
|
||||
|
||||
enable_testing()
|
||||
|
|
|
|||
267
CMakePresets.json
Normal file
267
CMakePresets.json
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
{
|
||||
"version": 5,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 24,
|
||||
"patch": 0
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "base",
|
||||
"hidden": true,
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build/${presetName}",
|
||||
"cacheVariables": {
|
||||
"CMAKE_PROJECT_TOP_LEVEL_INCLUDES": "${sourceDir}/external/cmake-conan/conan_provider.cmake",
|
||||
"SCWX_VIRTUAL_ENV": "${sourceDir}/.venv"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-base",
|
||||
"inherits": "base",
|
||||
"hidden": true,
|
||||
"generator": "Visual Studio 17 2022",
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
},
|
||||
"vendor": {
|
||||
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
||||
"hostOS": [
|
||||
"Windows"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-x64-base",
|
||||
"inherits": "windows-base",
|
||||
"hidden": true
|
||||
},
|
||||
{
|
||||
"name": "linux-base",
|
||||
"inherits": "base",
|
||||
"hidden": true,
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Linux"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-base",
|
||||
"inherits": "windows-x64-base",
|
||||
"hidden": true,
|
||||
"cacheVariables": {
|
||||
"CMAKE_PREFIX_PATH": "C:/Qt/6.8.3/msvc2022_64",
|
||||
"CONAN_HOST_PROFILE": "scwx-windows_msvc2022_x64",
|
||||
"CONAN_BUILD_PROFILE": "scwx-windows_msvc2022_x64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-ninja-base",
|
||||
"inherits": "windows-msvc2022-x64-base",
|
||||
"hidden": true,
|
||||
"generator": "Ninja",
|
||||
"cacheVariables": {
|
||||
"CMAKE_PREFIX_PATH": "C:/Qt/6.8.3/msvc2022_64",
|
||||
"CONAN_HOST_PROFILE": "scwx-windows_msvc2022_x64",
|
||||
"CONAN_BUILD_PROFILE": "scwx-windows_msvc2022_x64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-base",
|
||||
"inherits": "linux-base",
|
||||
"hidden": true,
|
||||
"cacheVariables": {
|
||||
"CMAKE_PREFIX_PATH": "/opt/Qt/6.8.3/gcc_64",
|
||||
"CONAN_HOST_PROFILE": "scwx-linux_gcc-11",
|
||||
"CONAN_BUILD_PROFILE": "scwx-linux_gcc-11"
|
||||
},
|
||||
"environment": {
|
||||
"CC": "gcc-11",
|
||||
"CXX": "g++-11"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-debug",
|
||||
"inherits": "windows-msvc2022-x64-base",
|
||||
"displayName": "Windows MSVC 2022 x64 Debug",
|
||||
"architecture": {
|
||||
"value": "x64",
|
||||
"strategy": "external"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-release",
|
||||
"inherits": "windows-msvc2022-x64-base",
|
||||
"displayName": "Windows MSVC 2022 x64 Release",
|
||||
"architecture": {
|
||||
"value": "x64",
|
||||
"strategy": "external"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-ninja-debug",
|
||||
"inherits": "windows-msvc2022-x64-ninja-base",
|
||||
"displayName": "Windows MSVC 2022 x64 Ninja Debug",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-ninja-release",
|
||||
"inherits": "windows-msvc2022-x64-ninja-base",
|
||||
"displayName": "Windows MSVC 2022 x64 Ninja Release",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-debug",
|
||||
"inherits": "linux-gcc-base",
|
||||
"displayName": "Linux GCC Debug",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/${presetName}/Debug/supercell-wx"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-release",
|
||||
"inherits": "linux-gcc-base",
|
||||
"displayName": "Linux GCC Release",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/${presetName}/Release/supercell-wx"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-debug-asan",
|
||||
"inherits": "linux-gcc-base",
|
||||
"displayName": "Linux GCC Debug Address Sanitizer",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/${presetName}/Debug/supercell-wx",
|
||||
"SCWX_ADDRESS_SANITIZER": {
|
||||
"type": "BOOL",
|
||||
"value": "ON"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-release-asan",
|
||||
"inherits": "linux-gcc-base",
|
||||
"displayName": "Linux GCC Release Address Sanitizer",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/${presetName}/Release/supercell-wx",
|
||||
"SCWX_ADDRESS_SANITIZER": {
|
||||
"type": "BOOL",
|
||||
"value": "ON"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ci-linux-gcc14",
|
||||
"inherits": "linux-gcc-base",
|
||||
"displayName": "CI Linux GCC 14",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CONAN_HOST_PROFILE": "scwx-linux_gcc-14",
|
||||
"CONAN_BUILD_PROFILE": "scwx-linux_gcc-14"
|
||||
},
|
||||
"environment": {
|
||||
"CC": "gcc-14",
|
||||
"CXX": "g++-14"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ci-linux-clang17",
|
||||
"inherits": "linux-gcc-base",
|
||||
"displayName": "CI Linux Clang 17",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CONAN_HOST_PROFILE": "scwx-linux_clang-17",
|
||||
"CONAN_BUILD_PROFILE": "scwx-linux_clang-17"
|
||||
},
|
||||
"environment": {
|
||||
"CC": "clang-17",
|
||||
"CXX": "clang++-17"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ci-linux-gcc-arm64",
|
||||
"inherits": "linux-gcc-base",
|
||||
"displayName": "CI Linux GCC ARM64",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CONAN_HOST_PROFILE": "scwx-linux_gcc-11_armv8",
|
||||
"CONAN_BUILD_PROFILE": "scwx-linux_gcc-11_armv8",
|
||||
"CMAKE_PREFIX_PATH": "/opt/Qt/6.8.3/gcc_arm64"
|
||||
},
|
||||
"environment": {
|
||||
"CC": "gcc-11",
|
||||
"CXX": "g++-11"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "windows-msvc2022-x64-debug",
|
||||
"configurePreset": "windows-msvc2022-x64-debug",
|
||||
"displayName": "Windows MSVC 2022 x64 Debug",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-release",
|
||||
"configurePreset": "windows-msvc2022-x64-release",
|
||||
"displayName": "Windows MSVC 2022 x64 Release",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-debug",
|
||||
"configurePreset": "linux-gcc-debug",
|
||||
"displayName": "Linux GCC Debug",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-release",
|
||||
"configurePreset": "linux-gcc-release",
|
||||
"displayName": "Linux GCC Release",
|
||||
"configuration": "Release"
|
||||
}
|
||||
],
|
||||
"testPresets": [
|
||||
{
|
||||
"name": "windows-msvc2022-x64-debug",
|
||||
"configurePreset": "windows-msvc2022-x64-debug",
|
||||
"displayName": "Windows MSVC 2022 x64 Debug",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "windows-msvc2022-x64-release",
|
||||
"configurePreset": "windows-msvc2022-x64-release",
|
||||
"displayName": "Windows MSVC 2022 x64 Release",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-debug",
|
||||
"configurePreset": "linux-gcc-debug",
|
||||
"displayName": "Linux GCC Debug",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc-release",
|
||||
"configurePreset": "linux-gcc-release",
|
||||
"displayName": "Linux GCC Release",
|
||||
"configuration": "Release"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2021-2024 Dan Paulat
|
||||
Copyright (c) 2021-2025 Dan Paulat
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -37,8 +37,6 @@ class SupercellWxConan(ConanFile):
|
|||
self.options["libcurl"].ca_path = "none"
|
||||
|
||||
def requirements(self):
|
||||
self.requires("abseil/20250127.0", override=True)
|
||||
|
||||
if self.settings.os == "Linux":
|
||||
self.requires("onetbb/2022.0.0")
|
||||
|
||||
|
|
|
|||
2
external/qt6ct.cmake
vendored
2
external/qt6ct.cmake
vendored
|
|
@ -46,7 +46,7 @@ target_compile_definitions(qt6ct-common PRIVATE QT6CT_LIBRARY)
|
|||
|
||||
add_library(qt6ct-widgets STATIC ${qt6ct-widgets-source})
|
||||
set_target_properties(qt6ct-widgets PROPERTIES VERSION ${QT6CT_VERSION})
|
||||
target_link_libraries(qt6ct-widgets PRIVATE Qt6::Widgets Qt6::WidgetsPrivate qt6ct-common)
|
||||
target_link_libraries(qt6ct-widgets PRIVATE Qt6::Widgets qt6ct-common)
|
||||
target_compile_definitions(qt6ct-widgets PRIVATE QT6CT_LIBRARY)
|
||||
|
||||
if (MSVC)
|
||||
|
|
|
|||
3
requirements.txt
Normal file
3
requirements.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
conan
|
||||
geopandas
|
||||
GitPython
|
||||
|
|
@ -6,7 +6,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTORCC OFF)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
|
@ -483,11 +483,12 @@ set(PROJECT_SOURCES ${HDR_MAIN}
|
|||
${SRC_VIEW}
|
||||
${SHADER_FILES}
|
||||
${JSON_FILES}
|
||||
${RESOURCE_FILES}
|
||||
${TS_FILES}
|
||||
${CMAKE_FILES})
|
||||
set(EXECUTABLE_SOURCES ${SRC_EXE_MAIN})
|
||||
|
||||
qt_add_resources(PROJECT_SOURCES ${RESOURCE_FILES})
|
||||
|
||||
source_group("Header Files\\main" FILES ${HDR_MAIN})
|
||||
source_group("Source Files\\main" FILES ${SRC_MAIN})
|
||||
source_group("Header Files\\config" FILES ${HDR_CONFIG})
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
call tools\setup-common.bat
|
||||
|
||||
set build_dir=build-debug
|
||||
set build_type=Debug
|
||||
set conan_profile=scwx-win64_msvc2022
|
||||
set qt_version=6.8.3
|
||||
set qt_arch=msvc2022_64
|
||||
|
||||
conan config install tools/conan/profiles/%conan_profile% -tf profiles
|
||||
conan install . ^
|
||||
--remote conancenter ^
|
||||
--build missing ^
|
||||
--profile:all %conan_profile% ^
|
||||
--settings:all build_type=%build_type% ^
|
||||
--output-folder %build_dir%/conan
|
||||
|
||||
mkdir %build_dir%
|
||||
cmake -B %build_dir% -S . ^
|
||||
-DCMAKE_BUILD_TYPE=%build_type% ^
|
||||
-DCMAKE_CONFIGURATION_TYPES=%build_type% ^
|
||||
-DCMAKE_PREFIX_PATH=C:/Qt/%qt_version%/%qt_arch% ^
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=external/cmake-conan/conan_provider.cmake ^
|
||||
-DCONAN_HOST_PROFILE=%conan_profile% ^
|
||||
-DCONAN_BUILD_PROFILE=%conan_profile%
|
||||
pause
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#!/bin/bash
|
||||
./tools/setup-common.sh
|
||||
|
||||
build_dir=${1:-build-debug}
|
||||
build_type=Debug
|
||||
conan_profile=${2:-scwx-linux_gcc-11}
|
||||
qt_version=6.8.3
|
||||
qt_arch=gcc_64
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
conan config install tools/conan/profiles/${conan_profile} -tf profiles
|
||||
conan install . \
|
||||
--remote conancenter \
|
||||
--build missing \
|
||||
--profile:all ${conan_profile} \
|
||||
--settings:all build_type=${build_type} \
|
||||
--output-folder ${build_dir}/conan
|
||||
|
||||
mkdir -p ${build_dir}
|
||||
cmake -B ${build_dir} -S . \
|
||||
-DCMAKE_BUILD_TYPE=${build_type} \
|
||||
-DCMAKE_CONFIGURATION_TYPES=${build_type} \
|
||||
-DCMAKE_INSTALL_PREFIX=${build_dir}/${build_type}/supercell-wx \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${qt_version}/${qt_arch} \
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=${script_dir}/external/cmake-conan/conan_provider.cmake \
|
||||
-DCONAN_HOST_PROFILE=${conan_profile} \
|
||||
-DCONAN_BUILD_PROFILE=${conan_profile} \
|
||||
-G Ninja
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
call tools\setup-common.bat
|
||||
|
||||
set build_dir=build
|
||||
set conan_profile=scwx-win64_msvc2022
|
||||
set qt_version=6.8.3
|
||||
set qt_arch=msvc2022_64
|
||||
|
||||
conan config install tools/conan/profiles/%conan_profile% -tf profiles
|
||||
conan install . ^
|
||||
--remote conancenter ^
|
||||
--build missing ^
|
||||
--profile:all %conan_profile% ^
|
||||
--settings:all build_type=Debug ^
|
||||
--output-folder %build_dir%/conan
|
||||
conan install . ^
|
||||
--remote conancenter ^
|
||||
--build missing ^
|
||||
--profile:all %conan_profile% ^
|
||||
--settings:all build_type=Release ^
|
||||
--output-folder %build_dir%/conan
|
||||
|
||||
mkdir %build_dir%
|
||||
cmake -B %build_dir% -S . ^
|
||||
-DCMAKE_PREFIX_PATH=C:/Qt/%qt_version%/%qt_arch% ^
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=external/cmake-conan/conan_provider.cmake ^
|
||||
-DCONAN_HOST_PROFILE=%conan_profile% ^
|
||||
-DCONAN_BUILD_PROFILE=%conan_profile%
|
||||
pause
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
call tools\setup-common.bat
|
||||
|
||||
set build_dir=build-release
|
||||
set build_type=Release
|
||||
set conan_profile=scwx-win64_msvc2022
|
||||
set qt_version=6.8.3
|
||||
set qt_arch=msvc2022_64
|
||||
|
||||
conan config install tools/conan/profiles/%conan_profile% -tf profiles
|
||||
conan install . ^
|
||||
--remote conancenter ^
|
||||
--build missing ^
|
||||
--profile:all %conan_profile% ^
|
||||
--settings:all build_type=%build_type% ^
|
||||
--output-folder %build_dir%/conan
|
||||
|
||||
mkdir %build_dir%
|
||||
cmake -B %build_dir% -S . ^
|
||||
-DCMAKE_BUILD_TYPE=%build_type% ^
|
||||
-DCMAKE_CONFIGURATION_TYPES=%build_type% ^
|
||||
-DCMAKE_PREFIX_PATH=C:/Qt/%qt_version%/%qt_arch% ^
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=external/cmake-conan/conan_provider.cmake ^
|
||||
-DCONAN_HOST_PROFILE=%conan_profile% ^
|
||||
-DCONAN_BUILD_PROFILE=%conan_profile%
|
||||
pause
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#!/bin/bash
|
||||
./tools/setup-common.sh
|
||||
|
||||
build_dir=${1:-build-release}
|
||||
build_type=Release
|
||||
conan_profile=${2:-scwx-linux_gcc-11}
|
||||
qt_version=6.8.3
|
||||
qt_arch=gcc_64
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
conan config install tools/conan/profiles/${conan_profile} -tf profiles
|
||||
conan install . \
|
||||
--remote conancenter \
|
||||
--build missing \
|
||||
--profile:all ${conan_profile} \
|
||||
--settings:all build_type=${build_type} \
|
||||
--output-folder ${build_dir}/conan
|
||||
|
||||
mkdir -p ${build_dir}
|
||||
cmake -B ${build_dir} -S . \
|
||||
-DCMAKE_BUILD_TYPE=${build_type} \
|
||||
-DCMAKE_CONFIGURATION_TYPES=${build_type} \
|
||||
-DCMAKE_INSTALL_PREFIX=${build_dir}/${build_type}/supercell-wx \
|
||||
-DCMAKE_PREFIX_PATH=/opt/Qt/${qt_version}/${qt_arch} \
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=${script_dir}/external/cmake-conan/conan_provider.cmake \
|
||||
-DCONAN_HOST_PROFILE=${conan_profile} \
|
||||
-DCONAN_BUILD_PROFILE=${conan_profile} \
|
||||
-G Ninja
|
||||
45
tools/configure-environment.bat
Normal file
45
tools/configure-environment.bat
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
@setlocal enabledelayedexpansion
|
||||
|
||||
@set script_dir=%~dp0
|
||||
@set venv_path=%script_dir%\..\.venv
|
||||
|
||||
:: Assign user-specified Python Virtual Environment
|
||||
@if not "%~1"=="" (
|
||||
if /i "%~1"=="none" (
|
||||
set venv_path=
|
||||
) else (
|
||||
set venv_path=%~f1
|
||||
)
|
||||
)
|
||||
|
||||
:: Activate Python Virtual Environment
|
||||
@if defined venv_path (
|
||||
echo Activating Python Virtual Environment: %venv_path%
|
||||
python -m venv %venv_path%
|
||||
call %venv_path%\Scripts\activate.bat
|
||||
)
|
||||
|
||||
:: Install Python packages
|
||||
python -m pip install --upgrade pip
|
||||
pip install --upgrade -r "%script_dir%\..\requirements.txt"
|
||||
|
||||
:: Configure default Conan profile
|
||||
@conan profile detect -e
|
||||
|
||||
:: Conan profiles
|
||||
@set profile_count=1
|
||||
@set /a last_profile=profile_count - 1
|
||||
@set conan_profile[0]=scwx-windows_msvc2022_x64
|
||||
|
||||
:: Install Conan profiles
|
||||
@for /L %%i in (0,1,!last_profile!) do @(
|
||||
set "profile_name=!conan_profile[%%i]!"
|
||||
conan config install "%script_dir%\conan\profiles\!profile_name!" -tf profiles
|
||||
)
|
||||
|
||||
:: Deactivate Python Virtual Environment
|
||||
@if defined venv_path (
|
||||
call %venv_path%\Scripts\deactivate.bat
|
||||
)
|
||||
|
||||
@pause
|
||||
60
tools/configure-environment.sh
Executable file
60
tools/configure-environment.sh
Executable file
|
|
@ -0,0 +1,60 @@
|
|||
#!/bin/bash
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
# Assign user-specified Python Virtual Environment
|
||||
[ "${1:-}" = "none" ] && unset venv_path || export venv_path="$(readlink -f "${1:-${script_dir}/../.venv}")"
|
||||
|
||||
# Load custom build settings
|
||||
if [ -f "${script_dir}/lib/user-setup.sh" ]; then
|
||||
source "${script_dir}/lib/user-setup.sh"
|
||||
fi
|
||||
|
||||
# Activate Python Virtual Environment
|
||||
if [ -n "${venv_path:-}" ]; then
|
||||
python -m venv "${venv_path}"
|
||||
source "${venv_path}/bin/activate"
|
||||
fi
|
||||
|
||||
# Detect if a Python Virtual Environment was specified above, or elsewhere
|
||||
IN_VENV=$(python -c 'import sys; print(sys.prefix != getattr(sys, "base_prefix", sys.prefix))')
|
||||
|
||||
if [ "${IN_VENV}" = "True" ]; then
|
||||
# In a virtual environment, don't use --user
|
||||
PIP_FLAGS="--upgrade"
|
||||
else
|
||||
# Not in a virtual environment, use --user
|
||||
PIP_FLAGS="--upgrade --user"
|
||||
fi
|
||||
|
||||
# Install Python packages
|
||||
python -m pip install ${PIP_FLAGS} --upgrade pip
|
||||
pip install ${PIP_FLAGS} -r "${script_dir}/../requirements.txt"
|
||||
|
||||
# Configure default Conan profile
|
||||
conan profile detect -e
|
||||
|
||||
# Conan profiles
|
||||
conan_profiles=(
|
||||
"scwx-linux_clang-17"
|
||||
"scwx-linux_clang-17_armv8"
|
||||
"scwx-linux_clang-18"
|
||||
"scwx-linux_clang-18_armv8"
|
||||
"scwx-linux_gcc-11"
|
||||
"scwx-linux_gcc-11_armv8"
|
||||
"scwx-linux_gcc-12"
|
||||
"scwx-linux_gcc-12_armv8"
|
||||
"scwx-linux_gcc-13"
|
||||
"scwx-linux_gcc-13_armv8"
|
||||
"scwx-linux_gcc-14"
|
||||
"scwx-linux_gcc-14_armv8"
|
||||
)
|
||||
|
||||
# Install Conan profiles
|
||||
for profile_name in "${conan_profiles[@]}"; do
|
||||
conan config install "${script_dir}/conan/profiles/${profile_name}" -tf profiles
|
||||
done
|
||||
|
||||
# Deactivate Python Virtual Environment
|
||||
if [ -n "${venv_path:-}" ]; then
|
||||
deactivate
|
||||
fi
|
||||
1
tools/lib/common-paths.bat
Normal file
1
tools/lib/common-paths.bat
Normal file
|
|
@ -0,0 +1 @@
|
|||
@set qt_version=6.8.3
|
||||
2
tools/lib/common-paths.sh
Executable file
2
tools/lib/common-paths.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
export qt_version=6.8.3
|
||||
24
tools/lib/run-cmake-configure.bat
Normal file
24
tools/lib/run-cmake-configure.bat
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
@set cmake_args=-B "%build_dir%" -S "%script_dir%\..\.." ^
|
||||
-G "%generator%" ^
|
||||
-DCMAKE_PREFIX_PATH="%qt_base%/%qt_version%/%qt_arch%" ^
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES="%script_dir%\..\..\external\cmake-conan\conan_provider.cmake" ^
|
||||
-DCONAN_HOST_PROFILE=%conan_profile% ^
|
||||
-DCONAN_BUILD_PROFILE=%conan_profile% ^
|
||||
-DSCWX_VIRTUAL_ENV=%venv_path% ^
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=on
|
||||
|
||||
@if defined build_type (
|
||||
set cmake_args=%cmake_args% ^
|
||||
-DCMAKE_BUILD_TYPE=%build_type% ^
|
||||
-DCMAKE_CONFIGURATION_TYPES=%build_type%
|
||||
) else (
|
||||
:: CMAKE_BUILD_TYPE isn't used to build, but is required by the Conan CMakeDeps generator
|
||||
set cmake_args=%cmake_args% ^
|
||||
-DCMAKE_BUILD_TYPE=Release ^
|
||||
-DCMAKE_CONFIGURATION_TYPES=Debug;Release
|
||||
)
|
||||
|
||||
@mkdir "%build_dir%"
|
||||
cmake %cmake_args%
|
||||
42
tools/lib/run-cmake-configure.sh
Executable file
42
tools/lib/run-cmake-configure.sh
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
cmake_args=(
|
||||
-B "${build_dir}"
|
||||
-S "${script_dir}/../.."
|
||||
-G "${generator}"
|
||||
-DCMAKE_PREFIX_PATH="${qt_base}/${qt_version}/${qt_arch}"
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES="${script_dir}/../../external/cmake-conan/conan_provider.cmake"
|
||||
-DCONAN_HOST_PROFILE="${conan_profile}"
|
||||
-DCONAN_BUILD_PROFILE="${conan_profile}"
|
||||
-DSCWX_VIRTUAL_ENV="${venv_path}"
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
)
|
||||
|
||||
if [[ -n "${build_type}" ]]; then
|
||||
cmake_args+=(
|
||||
-DCMAKE_BUILD_TYPE="${build_type}"
|
||||
-DCMAKE_CONFIGURATION_TYPES="${build_type}"
|
||||
-DCMAKE_INSTALL_PREFIX="${build_dir}/${build_type}/supercell-wx"
|
||||
)
|
||||
else
|
||||
# CMAKE_BUILD_TYPE isn't used to build, but is required by the Conan CMakeDeps generator
|
||||
cmake_args+=(
|
||||
-DCMAKE_BUILD_TYPE="Release"
|
||||
-DCMAKE_CONFIGURATION_TYPES="Debug;Release"
|
||||
)
|
||||
fi
|
||||
|
||||
# Toggle address sanitizer based on argument
|
||||
if [ "${address_sanitizer}" != "disabled" ]; then
|
||||
cmake_args+=(
|
||||
-DSCWX_ADDRESS_SANITIZER=ON
|
||||
)
|
||||
else
|
||||
cmake_args+=(
|
||||
-DSCWX_ADDRESS_SANITIZER=OFF
|
||||
)
|
||||
fi
|
||||
|
||||
mkdir -p "${build_dir}"
|
||||
cmake "${cmake_args[@]}"
|
||||
39
tools/lib/setup-common.bat
Normal file
39
tools/lib/setup-common.bat
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
:: Import common paths
|
||||
@call %script_dir%\common-paths.bat
|
||||
|
||||
:: Activate Python Virtual Environment
|
||||
@if defined venv_path (
|
||||
echo Activating Python Virtual Environment: %venv_path%
|
||||
python -m venv %venv_path%
|
||||
call %venv_path%\Scripts\activate.bat
|
||||
)
|
||||
|
||||
:: Install Python packages
|
||||
python -m pip install --upgrade pip
|
||||
pip install --upgrade -r "%script_dir%\..\..\requirements.txt"
|
||||
|
||||
@if defined build_type (
|
||||
:: Install Conan profile and packages
|
||||
call %script_dir%\setup-conan.bat
|
||||
) else (
|
||||
:: Install Conan profile and debug packages
|
||||
set build_type=Debug
|
||||
call %script_dir%\setup-conan.bat
|
||||
|
||||
:: Install Conan profile and release packages
|
||||
set build_type=Release
|
||||
call %script_dir%\setup-conan.bat
|
||||
|
||||
:: Unset build_type
|
||||
set build_type=
|
||||
)
|
||||
|
||||
:: Run CMake Configure
|
||||
@call %script_dir%\run-cmake-configure.bat
|
||||
|
||||
:: Deactivate Python Virtual Environment
|
||||
@if defined venv_path (
|
||||
call %venv_path%\Scripts\deactivate.bat
|
||||
)
|
||||
55
tools/lib/setup-common.sh
Executable file
55
tools/lib/setup-common.sh
Executable file
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
# Import common paths
|
||||
source "${script_dir}/common-paths.sh"
|
||||
|
||||
# Load custom build settings
|
||||
if [ -f "${script_dir}/user-setup.sh" ]; then
|
||||
source "${script_dir}/user-setup.sh"
|
||||
fi
|
||||
|
||||
# Activate Python Virtual Environment
|
||||
if [ -n "${venv_path:-}" ]; then
|
||||
python -m venv "${venv_path}"
|
||||
source "${venv_path}/bin/activate"
|
||||
fi
|
||||
|
||||
# Detect if a Python Virtual Environment was specified above, or elsewhere
|
||||
IN_VENV=$(python -c 'import sys; print(sys.prefix != getattr(sys, "base_prefix", sys.prefix))')
|
||||
|
||||
if [ "${IN_VENV}" = "True" ]; then
|
||||
# In a virtual environment, don't use --user
|
||||
PIP_FLAGS="--upgrade"
|
||||
else
|
||||
# Not in a virtual environment, use --user
|
||||
PIP_FLAGS="--upgrade --user"
|
||||
fi
|
||||
|
||||
# Install Python packages
|
||||
python -m pip install ${PIP_FLAGS} pip
|
||||
pip install ${PIP_FLAGS} -r "${script_dir}/../../requirements.txt"
|
||||
|
||||
if [[ -n "${build_type}" ]]; then
|
||||
# Install Conan profile and packages
|
||||
"${script_dir}/setup-conan.sh"
|
||||
else
|
||||
# Install Conan profile and debug packages
|
||||
export build_type=Debug
|
||||
"${script_dir}/setup-conan.sh"
|
||||
|
||||
# Install Conan profile and release packages
|
||||
export build_type=Release
|
||||
"${script_dir}/setup-conan.sh"
|
||||
|
||||
# Unset build_type
|
||||
unset build_type
|
||||
fi
|
||||
|
||||
# Run CMake Configure
|
||||
"${script_dir}/run-cmake-configure.sh"
|
||||
|
||||
# Deactivate Python Virtual Environment
|
||||
if [ -n "${venv_path:-}" ]; then
|
||||
deactivate
|
||||
fi
|
||||
15
tools/lib/setup-conan.bat
Normal file
15
tools/lib/setup-conan.bat
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
:: Configure default Conan profile
|
||||
conan profile detect -e
|
||||
|
||||
:: Install selected Conan profile
|
||||
conan config install "%script_dir%\..\conan\profiles\%conan_profile%" -tf profiles
|
||||
|
||||
:: Install Conan packages
|
||||
conan install "%script_dir%\..\.." ^
|
||||
--remote conancenter ^
|
||||
--build missing ^
|
||||
--profile:all %conan_profile% ^
|
||||
--settings:all build_type=%build_type% ^
|
||||
--output-folder "%build_dir%\conan"
|
||||
16
tools/lib/setup-conan.sh
Executable file
16
tools/lib/setup-conan.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
# Configure default Conan profile
|
||||
conan profile detect -e
|
||||
|
||||
# Install selected Conan profile
|
||||
conan config install "${script_dir}/../conan/profiles/${conan_profile}" -tf profiles
|
||||
|
||||
# Install Conan packages
|
||||
conan install "${script_dir}/../.." \
|
||||
--remote conancenter \
|
||||
--build missing \
|
||||
--profile:all ${conan_profile} \
|
||||
--settings:all build_type=${build_type} \
|
||||
--output-folder "${build_dir}/conan"
|
||||
10
tools/lib/user-setup.example.sh
Normal file
10
tools/lib/user-setup.example.sh
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Example user setup script. Copy as user-setup.sh and modify as required.
|
||||
|
||||
# gcc-13 is not the default gcc version
|
||||
export CC=/usr/bin/gcc-13
|
||||
export CXX=/usr/bin/c++-13
|
||||
|
||||
# Override conan profile to be gcc-13
|
||||
export conan_profile=scwx-linux_gcc-13
|
||||
|
|
@ -17,3 +17,39 @@ macro(scwx_output_dirs_setup)
|
|||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_CURRENT_BINARY_DIR}/MinSizeRel/lib)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}/Debug/lib)
|
||||
endmacro()
|
||||
|
||||
macro(scwx_python_setup)
|
||||
set(SCWX_VIRTUAL_ENV "" CACHE STRING "Python Virtual Environment")
|
||||
|
||||
# Use a Python Virtual Environment
|
||||
if (SCWX_VIRTUAL_ENV)
|
||||
set(ENV{VIRTUAL_ENV} "${SCWX_VIRTUAL_ENV}")
|
||||
|
||||
if (WIN32)
|
||||
set(Python3_EXECUTABLE "$ENV{VIRTUAL_ENV}/Scripts/python.exe")
|
||||
else()
|
||||
set(Python3_EXECUTABLE "$ENV{VIRTUAL_ENV}/bin/python")
|
||||
endif()
|
||||
|
||||
message(STATUS "Using virtual environment: $ENV{VIRTUAL_ENV}")
|
||||
else()
|
||||
message(STATUS "Python virtual environment undefined")
|
||||
endif()
|
||||
|
||||
# Find Python
|
||||
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
||||
|
||||
# Verify we're using the right Python
|
||||
message(STATUS "Python executable: ${Python3_EXECUTABLE}")
|
||||
message(STATUS "Python version: ${Python3_VERSION}")
|
||||
|
||||
# Only if we are in an application defined virtual environment
|
||||
if (SCWX_VIRTUAL_ENV)
|
||||
# Setup pip
|
||||
set(PIP_ARGS install --upgrade -r "${CMAKE_SOURCE_DIR}/requirements.txt")
|
||||
|
||||
# Install requirements
|
||||
execute_process(COMMAND ${Python3_EXECUTABLE} -m pip ${PIP_ARGS}
|
||||
RESULT_VARIABLE PIP_RESULT)
|
||||
endif()
|
||||
endmacro()
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
pip install --upgrade conan
|
||||
pip install --upgrade geopandas
|
||||
pip install --upgrade GitPython
|
||||
conan profile detect -e
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
pip install --upgrade --user conan
|
||||
pip install --upgrade --user geopandas
|
||||
pip install --upgrade --user GitPython
|
||||
conan profile detect -e
|
||||
26
tools/setup-debug-msvc2022.bat
Normal file
26
tools/setup-debug-msvc2022.bat
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
@set build_dir=%script_dir%\..\build-debug-msvc2022
|
||||
@set build_type=Debug
|
||||
@set conan_profile=scwx-windows_msvc2022_x64
|
||||
@set generator=Visual Studio 17 2022
|
||||
@set qt_base=C:/Qt
|
||||
@set qt_arch=msvc2022_64
|
||||
@set venv_path=%script_dir%\..\.venv
|
||||
|
||||
:: Assign user-specified build directory
|
||||
@if not "%~1"=="" set build_dir=%~f1
|
||||
|
||||
:: Assign user-specified Python Virtual Environment
|
||||
@if not "%~2"=="" (
|
||||
if /i "%~2"=="none" (
|
||||
set venv_path=
|
||||
) else (
|
||||
set venv_path=%~f2
|
||||
)
|
||||
)
|
||||
|
||||
:: Perform common setup
|
||||
@call %script_dir%\lib\setup-common.bat
|
||||
|
||||
@pause
|
||||
26
tools/setup-debug-ninja.bat
Normal file
26
tools/setup-debug-ninja.bat
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
@set build_dir=%script_dir%\..\build-debug-ninja
|
||||
@set build_type=Debug
|
||||
@set conan_profile=scwx-windows_msvc2022_x64
|
||||
@set generator=Ninja
|
||||
@set qt_base=C:/Qt
|
||||
@set qt_arch=msvc2022_64
|
||||
@set venv_path=%script_dir%\..\.venv
|
||||
|
||||
:: Assign user-specified build directory
|
||||
@if not "%~1"=="" set build_dir=%~f1
|
||||
|
||||
:: Assign user-specified Python Virtual Environment
|
||||
@if not "%~2"=="" (
|
||||
if /i "%~2"=="none" (
|
||||
set venv_path=
|
||||
) else (
|
||||
set venv_path=%~f2
|
||||
)
|
||||
)
|
||||
|
||||
:: Perform common setup
|
||||
@call %script_dir%\lib\setup-common.bat
|
||||
|
||||
@pause
|
||||
16
tools/setup-debug.sh
Executable file
16
tools/setup-debug.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
export build_dir="$(readlink -f "${1:-${script_dir}/../build-debug}")"
|
||||
export build_type=Debug
|
||||
export conan_profile=${2:-scwx-linux_gcc-11}
|
||||
export generator=Ninja
|
||||
export qt_base=/opt/Qt
|
||||
export qt_arch=gcc_64
|
||||
export address_sanitizer=${4:-disabled}
|
||||
|
||||
# Assign user-specified Python Virtual Environment
|
||||
[ "${3:-}" = "none" ] && unset venv_path || export venv_path="$(readlink -f "${3:-${script_dir}/../.venv}")"
|
||||
|
||||
# Perform common setup
|
||||
"${script_dir}/lib/setup-common.sh"
|
||||
25
tools/setup-multi-msvc2022.bat
Normal file
25
tools/setup-multi-msvc2022.bat
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
@set build_dir=%script_dir%\..\build-msvc2022
|
||||
@set conan_profile=scwx-windows_msvc2022_x64
|
||||
@set generator=Visual Studio 17 2022
|
||||
@set qt_base=C:/Qt
|
||||
@set qt_arch=msvc2022_64
|
||||
@set venv_path=%script_dir%\..\.venv
|
||||
|
||||
:: Assign user-specified build directory
|
||||
@if not "%~1"=="" set build_dir=%~f1
|
||||
|
||||
:: Assign user-specified Python Virtual Environment
|
||||
@if not "%~2"=="" (
|
||||
if /i "%~2"=="none" (
|
||||
set venv_path=
|
||||
) else (
|
||||
set venv_path=%~f2
|
||||
)
|
||||
)
|
||||
|
||||
:: Perform common setup
|
||||
@call %script_dir%\lib\setup-common.bat
|
||||
|
||||
@pause
|
||||
25
tools/setup-multi-ninja.bat
Normal file
25
tools/setup-multi-ninja.bat
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
@set build_dir=%script_dir%\..\build-ninja
|
||||
@set conan_profile=scwx-windows_msvc2022_x64
|
||||
@set generator=Ninja Multi-Config
|
||||
@set qt_base=C:/Qt
|
||||
@set qt_arch=msvc2022_64
|
||||
@set venv_path=%script_dir%\..\.venv
|
||||
|
||||
:: Assign user-specified build directory
|
||||
@if not "%~1"=="" set build_dir=%~f1
|
||||
|
||||
:: Assign user-specified Python Virtual Environment
|
||||
@if not "%~2"=="" (
|
||||
if /i "%~2"=="none" (
|
||||
set venv_path=
|
||||
) else (
|
||||
set venv_path=%~f2
|
||||
)
|
||||
)
|
||||
|
||||
:: Perform common setup
|
||||
@call %script_dir%\lib\setup-common.bat
|
||||
|
||||
@pause
|
||||
18
tools/setup-multi.sh
Executable file
18
tools/setup-multi.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
export build_dir="$(readlink -f "${1:-${script_dir}/../build-debug}")"
|
||||
export conan_profile=${2:-scwx-linux_gcc-11}
|
||||
export generator="Ninja Multi-Config"
|
||||
export qt_base=/opt/Qt
|
||||
export qt_arch=gcc_64
|
||||
|
||||
# Assign user-specified Python Virtual Environment
|
||||
[ "${3:-}" = "none" ] && unset venv_path || export venv_path="$(readlink -f "${3:-${script_dir}/../.venv}")"
|
||||
|
||||
# FIXME: aws-sdk-cpp fails to configure using Ninja Multi-Config
|
||||
echo "Ninja Multi-Config is not supported in Linux"
|
||||
read -p "Press Enter to continue..."
|
||||
|
||||
# Perform common setup
|
||||
# "${script_dir}/lib/setup-common.sh"
|
||||
26
tools/setup-release-msvc2022.bat
Normal file
26
tools/setup-release-msvc2022.bat
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
@set build_dir=%script_dir%\..\build-release-msvc2022
|
||||
@set build_type=Release
|
||||
@set conan_profile=scwx-windows_msvc2022_x64
|
||||
@set generator=Visual Studio 17 2022
|
||||
@set qt_base=C:/Qt
|
||||
@set qt_arch=msvc2022_64
|
||||
@set venv_path=%script_dir%\..\.venv
|
||||
|
||||
:: Assign user-specified build directory
|
||||
@if not "%~1"=="" set build_dir=%~f1
|
||||
|
||||
:: Assign user-specified Python Virtual Environment
|
||||
@if not "%~2"=="" (
|
||||
if /i "%~2"=="none" (
|
||||
set venv_path=
|
||||
) else (
|
||||
set venv_path=%~f2
|
||||
)
|
||||
)
|
||||
|
||||
:: Perform common setup
|
||||
@call %script_dir%\lib\setup-common.bat
|
||||
|
||||
@pause
|
||||
26
tools/setup-release-ninja.bat
Normal file
26
tools/setup-release-ninja.bat
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
@set script_dir=%~dp0
|
||||
|
||||
@set build_dir=%script_dir%\..\build-release-ninja
|
||||
@set build_type=Release
|
||||
@set conan_profile=scwx-windows_msvc2022_x64
|
||||
@set generator=Ninja
|
||||
@set qt_base=C:/Qt
|
||||
@set qt_arch=msvc2022_64
|
||||
@set venv_path=%script_dir%\..\.venv
|
||||
|
||||
:: Assign user-specified build directory
|
||||
@if not "%~1"=="" set build_dir=%~f1
|
||||
|
||||
:: Assign user-specified Python Virtual Environment
|
||||
@if not "%~2"=="" (
|
||||
if /i "%~2"=="none" (
|
||||
set venv_path=
|
||||
) else (
|
||||
set venv_path=%~f2
|
||||
)
|
||||
)
|
||||
|
||||
:: Perform common setup
|
||||
@call %script_dir%\lib\setup-common.bat
|
||||
|
||||
@pause
|
||||
16
tools/setup-release.sh
Executable file
16
tools/setup-release.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
script_dir="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
export build_dir="$(readlink -f "${1:-${script_dir}/../build-release}")"
|
||||
export build_type=Release
|
||||
export conan_profile=${2:-scwx-linux_gcc-11}
|
||||
export generator=Ninja
|
||||
export qt_base=/opt/Qt
|
||||
export qt_arch=gcc_64
|
||||
export address_sanitizer=${4:-disabled}
|
||||
|
||||
# Assign user-specified Python Virtual Environment
|
||||
[ "${3:-}" = "none" ] && unset venv_path || export venv_path="$(readlink -f "${3:-${script_dir}/../.venv}")"
|
||||
|
||||
# Perform common setup
|
||||
"${script_dir}/lib/setup-common.sh"
|
||||
Loading…
Add table
Add a link
Reference in a new issue