diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bd95075..ba56e1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,10 @@ on: paths: - '.github/workflows/build.yml' - 'CMakeLists.txt' - - 'CMakeSettings.json' + - 'CMakePresets.json' + - 'scripts/setup.sh' + - 'scripts/setup.ps1' + - 's2e-core' - 'src/**' jobs: @@ -20,37 +23,20 @@ jobs: strategy: fail-fast: false matrix: - build_bit: ['BUILD_64BIT=OFF', 'BUILD_64BIT=ON'] + include: + - build_bit: 'BUILD_64BIT=OFF' + architecture: Win32 + preset: windows-win32-debug + - build_bit: 'BUILD_64BIT=ON' + architecture: x64 + preset: windows-x64-debug steps: - - uses: actions/checkout@v4 - - - name: checkout the submodules + - name: Checkout with submodules uses: actions/checkout@v4 with: submodules: recursive - - name: use HTTPS to download NRLMSISE00 table - shell: bash - run: | - cmake_file="s2e-core/ExtLibraries/nrlmsise00/CMakeLists.txt" - ftp_url="ftp://ftp.agi.com/pub/DynamicEarthData" - https_url="https://data.agi.com/pub/DynamicEarthData" - - if grep -Fq "$ftp_url" "$cmake_file"; then - sed -i "s|$ftp_url|$https_url|g" "$cmake_file" - elif ! grep -Fq "$https_url" "$cmake_file"; then - echo "NRLMSISE00 table URL was not found in $cmake_file" >&2 - exit 1 - fi - - grep -F "set(NRLMSISE_TABLE_URL_BASE $https_url)" "$cmake_file" - - - name: Configure build for x86 - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: amd64_x86 - - name: show tools version shell: powershell run: | @@ -61,63 +47,39 @@ jobs: uses: actions/cache@v6 with: key: extlib-${{ runner.os }}-${{ hashFiles('./s2e-core/ExtLibraries/**') }}-${{ matrix.build_bit }} - path: ./s2e-core/ExtLibraries - - - name: build extlib 32bit - if: steps.cache-extlib.outputs.cache-hit != 'true' && matrix.build_bit == 'BUILD_64BIT=OFF' - shell: powershell - working-directory: ./s2e-core/ExtLibraries - run: | - $extlib_dir=(pwd).Path - $settings_dir=(Resolve-Path "../../settings").Path - cmake -G "Visual Studio 17 2022" -A Win32 -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DEXT_LIB_DIR="${extlib_dir}" -DSETTINGS_DIR="${settings_dir}" -D${{ matrix.build_bit }} - cmake --build . + path: | + ./ExtLibraries + ./settings/environment/cspice + ./settings/environment/space_weather + ./settings/environment/gravity_field - - name: build extlib 64bit - if: steps.cache-extlib.outputs.cache-hit != 'true' && matrix.build_bit == 'BUILD_64BIT=ON' - shell: powershell - working-directory: ./s2e-core/ExtLibraries - run: | - $extlib_dir=(pwd).Path - $settings_dir=(Resolve-Path "../../settings").Path - cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DEXT_LIB_DIR="${extlib_dir}" -DSETTINGS_DIR="${settings_dir}" -D${{ matrix.build_bit }} - cmake --build . - - - name: install extlib + - name: build extlib if: steps.cache-extlib.outputs.cache-hit != 'true' shell: powershell - working-directory: ./s2e-core/ExtLibraries run: | - cmake --install . + $extlib_dir=(Join-Path (pwd).Path "ExtLibraries") + $settings_dir=(Resolve-Path "./settings").Path + cmake -S ./s2e-core/ExtLibraries -B ./build/extlibraries-${{ matrix.architecture }} -G "Visual Studio 17 2022" -A ${{ matrix.architecture }} -DEXT_LIB_DIR="${extlib_dir}" -DSETTINGS_DIR="${settings_dir}" -D${{ matrix.build_bit }} + cmake --build ./build/extlibraries-${{ matrix.architecture }} --config Debug + cmake --install ./build/extlibraries-${{ matrix.architecture }} --config Debug - name: check extlib shell: powershell - working-directory: ./s2e-core/ExtLibraries - run: | - ls cspice - ls cspice/cspice_msvs*/lib - ls cspice/include - ls cspice/generic_kernels - ls nrlmsise00 - ls nrlmsise00/lib* - ls nrlmsise00/lib*/libnrlmsise00.lib - ls nrlmsise00/src - - - name: build 32bit - if: matrix.build_bit == 'BUILD_64BIT=OFF' - shell: cmd run: | - cl.exe - cmake -G "Visual Studio 17 2022" -A Win32 -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DEXT_LIB_DIR=./s2e-core/ExtLibraries -D${{ matrix.build_bit }} - cmake --build . + ls ExtLibraries/cspice + ls ExtLibraries/cspice/cspice_msvs*/lib + ls ExtLibraries/cspice/include + ls ExtLibraries/nrlmsise00 + ls ExtLibraries/nrlmsise00/lib* + ls ExtLibraries/nrlmsise00/lib*/libnrlmsise00.lib + ls ExtLibraries/nrlmsise00/src + ls settings/environment/cspice/generic_kernels - - name: build 64bit - if: matrix.build_bit == 'BUILD_64BIT=ON' - shell: cmd + - name: build S2E with preset + shell: powershell run: | - cl.exe - cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DEXT_LIB_DIR=./s2e-core/ExtLibraries -D${{ matrix.build_bit }} - cmake --build . + cmake --preset ${{ matrix.preset }} + cmake --build --preset ${{ matrix.preset }} --parallel build_s2e_linux: name: Build on Linux @@ -125,33 +87,26 @@ jobs: strategy: fail-fast: false matrix: - compiler: ['gcc-11 g++-11', 'clang clang++'] - build_bit: ['BUILD_64BIT=OFF', 'BUILD_64BIT=ON'] + include: + - build_bit: 'BUILD_64BIT=OFF' + preset: linux-x86-debug + compiler: 'gcc-11 g++-11' + - build_bit: 'BUILD_64BIT=ON' + preset: linux-debug + compiler: 'gcc-11 g++-11' + - build_bit: 'BUILD_64BIT=OFF' + preset: linux-x86-debug + compiler: 'clang clang++' + - build_bit: 'BUILD_64BIT=ON' + preset: linux-debug + compiler: 'clang clang++' steps: - - uses: actions/checkout@v4 - - - name: checkout the submodules + - name: Checkout with submodules uses: actions/checkout@v4 with: submodules: recursive - - name: use HTTPS to download NRLMSISE00 table - shell: bash - run: | - cmake_file="s2e-core/ExtLibraries/nrlmsise00/CMakeLists.txt" - ftp_url="ftp://ftp.agi.com/pub/DynamicEarthData" - https_url="https://data.agi.com/pub/DynamicEarthData" - - if grep -Fq "$ftp_url" "$cmake_file"; then - sed -i "s|$ftp_url|$https_url|g" "$cmake_file" - elif ! grep -Fq "$https_url" "$cmake_file"; then - echo "NRLMSISE00 table URL was not found in $cmake_file" >&2 - exit 1 - fi - - grep -F "set(NRLMSISE_TABLE_URL_BASE $https_url)" "$cmake_file" - - name: set compiler id: compiler run: | @@ -185,37 +140,33 @@ jobs: uses: actions/cache@v6 with: key: extlib-${{ runner.os }}-${{ hashFiles('./s2e-core/ExtLibraries/**') }}-${{ matrix.build_bit }} - path: ./s2e-core/ExtLibraries + path: | + ./ExtLibraries + ./settings/environment/cspice + ./settings/environment/space_weather + ./settings/environment/gravity_field - name: build extlib if: steps.cache-extlib.outputs.cache-hit != 'true' - working-directory: ./s2e-core/ExtLibraries - run: | - settings_dir="$(realpath ../../settings)" - cmake . -D${{ matrix.build_bit }} -DEXT_LIB_DIR="$(pwd)" -DSETTINGS_DIR="$settings_dir" - cmake --build . - - name: install extlib - if: steps.cache-extlib.outputs.cache-hit != 'true' - working-directory: ./s2e-core/ExtLibraries run: | - cmake --install . + cmake -S ./s2e-core/ExtLibraries -B ./build/extlibraries-${{ matrix.preset }} -D${{ matrix.build_bit }} -DEXT_LIB_DIR="$(pwd)/ExtLibraries" -DSETTINGS_DIR="$(realpath ./settings)" + cmake --build ./build/extlibraries-${{ matrix.preset }} --parallel + cmake --install ./build/extlibraries-${{ matrix.preset }} - name: check extlib - working-directory: ./s2e-core/ExtLibraries run: | - ls cspice - ls cspice/cspice_unix* - ls cspice/include - ls cspice/generic_kernels - ls nrlmsise00 - ls nrlmsise00/lib* - ls nrlmsise00/lib*/libnrlmsise00.a - ls nrlmsise00/src + ls ExtLibraries/cspice + ls ExtLibraries/cspice/cspice_unix* + ls ExtLibraries/cspice/include + ls ExtLibraries/nrlmsise00 + ls ExtLibraries/nrlmsise00/lib* + ls ExtLibraries/nrlmsise00/lib*/libnrlmsise00.a + ls ExtLibraries/nrlmsise00/src + ls settings/environment/cspice/generic_kernels - name: build - working-directory: . env: CC: ${{ steps.compiler.outputs.CC }} CXX: ${{ steps.compiler.outputs.CXX }} run: | - cmake . -D${{ matrix.build_bit }} -DEXT_LIB_DIR=./s2e-core/ExtLibraries - cmake --build . + cmake --preset ${{ matrix.preset }} + cmake --build --preset ${{ matrix.preset }} --parallel diff --git a/CMakeLists.txt b/CMakeLists.txt index 4efb216..c6a0ea9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,9 +101,6 @@ file(GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_LIST_DIR}/src/*.cpp) # Uncomment the following line to exclude any files that match the REGEX from SOURCE_FILES # list(FILTER SOURCE_FILES EXCLUDE REGEX ${CMAKE_CURRENT_LIST_DIR}/src/example.cpp) -# Create executable file -add_executable(${PROJECT_NAME} ${SOURCE_FILES}) - ## cspice library if(APPLE) if(APPLE_SILICON) @@ -176,25 +173,30 @@ if(NOT NRLMSISE00_LIB) message(FATAL_ERROR "nrlmsise00 not found in ${EXT_LIB_DIR}") endif() -## Linking libraries -set(S2E_LIBRARIES - IGRF WRAPPER_NRLMSISE00 INIH SGP4 UTIL OPTICS RELATIVE_ORBIT_MODELS ORBIT_MODELS GEODESY MATH +# link hack for MSVC link.exe +add_library(lib${PROJECT_NAME} + $ + $ + $ + $ + + $ + $ + $ + $ + $ + $ + $ +) +add_executable(${PROJECT_NAME} ${SOURCE_FILES}) + +target_link_libraries(${PROJECT_NAME} + lib${PROJECT_NAME} + + # ExtLibraries + ${NRLMSISE00_LIB} + ${CSPICE_LIB} ) -# Initialize link -target_link_libraries(COMPONENT DYNAMICS GLOBAL_ENVIRONMENT LOCAL_ENVIRONMENT MATH_PHYSICS SETTING_FILE_READER LOGGER UTILITIES) -target_link_libraries(DYNAMICS GLOBAL_ENVIRONMENT LOCAL_ENVIRONMENT SIMULATION MATH_PHYSICS) -target_link_libraries(DISTURBANCE DYNAMICS GLOBAL_ENVIRONMENT LOCAL_ENVIRONMENT MATH_PHYSICS) -target_link_libraries(SIMULATION DYNAMICS GLOBAL_ENVIRONMENT LOCAL_ENVIRONMENT DISTURBANCE MATH_PHYSICS) -target_link_libraries(GLOBAL_ENVIRONMENT ${CSPICE_LIB} MATH_PHYSICS) -target_link_libraries(LOCAL_ENVIRONMENT GLOBAL_ENVIRONMENT ${CSPICE_LIB} MATH_PHYSICS) -target_link_libraries(MATH_PHYSICS ${NRLMSISE00_LIB}) -target_link_libraries(SETTING_FILE_READER INIH) - -target_link_libraries(${PROJECT_NAME} DYNAMICS) -target_link_libraries(${PROJECT_NAME} DISTURBANCE) -target_link_libraries(${PROJECT_NAME} SIMULATION) -target_link_libraries(${PROJECT_NAME} GLOBAL_ENVIRONMENT LOCAL_ENVIRONMENT) -target_link_libraries(${PROJECT_NAME} COMPONENT) ## C2A integration if(USE_C2A) diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..e0fb7ad --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,118 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 21, + "patch": 0 + }, + "configurePresets": [ + { + "name": "base", + "hidden": true, + "binaryDir": "${sourceDir}/build/${presetName}", + "cacheVariables": { + "EXT_LIB_DIR": "${sourceDir}/ExtLibraries", + "SETTINGS_DIR_FROM_EXE": "${sourceDir}/settings", + "EXT_LIB_DIR_FROM_EXE": "${sourceDir}/ExtLibraries", + "CORE_DIR_FROM_EXE": "${sourceDir}/s2e-core" + } + }, + { + "name": "unix-debug", + "hidden": true, + "inherits": "base", + "generator": "Unix Makefiles", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "BUILD_64BIT": "ON" + } + }, + { + "name": "linux-debug", + "displayName": "Linux x64 Debug", + "description": "Build a 64-bit Debug executable on Linux.", + "inherits": "unix-debug" + }, + { + "name": "linux-x86-debug", + "displayName": "Linux x86 Debug", + "description": "Build a 32-bit Debug executable on Linux.", + "inherits": "unix-debug", + "cacheVariables": { + "BUILD_64BIT": "OFF" + } + }, + { + "name": "macos-arm64-debug", + "displayName": "macOS Apple Silicon Debug", + "description": "Build a Debug executable for an Apple Silicon Mac.", + "inherits": "unix-debug", + "cacheVariables": { + "APPLE_SILICON": "ON" + } + }, + { + "name": "macos-x64-debug", + "displayName": "macOS Intel Debug", + "description": "Build a Debug executable for an Intel Mac.", + "inherits": "unix-debug", + "cacheVariables": { + "APPLE_SILICON": "OFF" + } + }, + { + "name": "windows-base", + "hidden": true, + "inherits": "base", + "generator": "Visual Studio 17 2022" + }, + { + "name": "windows-x64-debug", + "displayName": "Windows x64 Debug", + "description": "Build a 64-bit Debug executable with Visual Studio 2022.", + "inherits": "windows-base", + "architecture": "x64", + "cacheVariables": { + "BUILD_64BIT": "ON" + } + }, + { + "name": "windows-win32-debug", + "displayName": "Windows Win32 Debug", + "description": "Build a 32-bit Debug executable with Visual Studio 2022.", + "inherits": "windows-base", + "architecture": "Win32", + "cacheVariables": { + "BUILD_64BIT": "OFF" + } + } + ], + "buildPresets": [ + { + "name": "linux-debug", + "configurePreset": "linux-debug" + }, + { + "name": "linux-x86-debug", + "configurePreset": "linux-x86-debug" + }, + { + "name": "macos-arm64-debug", + "configurePreset": "macos-arm64-debug" + }, + { + "name": "macos-x64-debug", + "configurePreset": "macos-x64-debug" + }, + { + "name": "windows-x64-debug", + "configurePreset": "windows-x64-debug", + "configuration": "Debug" + }, + { + "name": "windows-win32-debug", + "configurePreset": "windows-win32-debug", + "configuration": "Debug" + } + ] +} diff --git a/CMakeSettings.json b/CMakeSettings.json deleted file mode 100644 index 54477e5..0000000 --- a/CMakeSettings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "configurations": [ - { - "name": "Win32", - "generator": "Visual Studio 17 2022", - "configurationType": "Debug", - "inheritEnvironments": [ - "msvc_x86" - ], - "buildRoot": "${thisFileDir}\\CMakeBuilds", - "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "" - } - ] -} \ No newline at end of file diff --git a/README.md b/README.md index b183751..64ec3f2 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,80 @@ This repository provides the following samples. ## How to construct the repository -- This repository includes [s2e-core](https://github.com/ut-issl/s2e-core) with the `git submodule`. Please use the following commands to construct the directory. +- This repository includes [s2e-core](https://github.com/ut-issl/s2e-core) as a Git submodule. Clone the repository with either of the following methods. ``` $ git clone git@github.com:ut-issl/s2e-user-example.git $ cd s2e-user-example/ - $ git submodule init - $ git submodule update + $ git submodule update --init --recursive ``` Or use the following command to clone the repository. ``` $ git clone --recursive git@github.com:ut-issl/s2e-user-example.git ``` +## Development environment setup + +The setup scripts initialize the submodule, download and install the S2E external libraries, configure the platform-specific CMake preset, and build S2E. CMake 3.21 or later is required. + +External libraries are installed in `ExtLibraries/`, and downloaded environment data is installed under `settings/environment/`. Both locations are ignored by Git. + +### Linux and macOS + +Run the setup script from the repository. It automatically selects Linux x64, Apple Silicon, or Intel Mac settings. + +```sh +./scripts/setup.sh +``` + +The script selects one of the following presets: + +- `linux-debug` +- `macos-arm64-debug` +- `macos-x64-debug` + +The `linux-x86-debug` preset is also available for CI and manual 32-bit builds; it requires the compiler's multilib packages. The setup script selects the 64-bit preset on Linux. + +The setup script builds both the external libraries and S2E, so no additional build command is required. Later, after changing only the S2E source code, you can optionally rebuild just S2E with: + +```sh +cmake --build --preset linux-debug --parallel +``` + +Replace `linux-debug` with the preset selected by the setup script on macOS. + +### Windows and Visual Studio + +Visual Studio 2022 with the **Desktop development with C++** workload, CMake 3.21 or later, Git, and PowerShell are required. + +For a 64-bit build, run: + +```powershell +.\scripts\setup.ps1 +``` + +For a 32-bit build, run: + +```powershell +.\scripts\setup.ps1 -Architecture Win32 +``` + +The script selects `windows-x64-debug` or `windows-win32-debug`. After setup, Visual Studio can open this repository as a CMake project and select the same preset. The generated Visual Studio solution is also available under the corresponding `build/windows-*-debug/` directory. + +The PowerShell setup script also builds both the external libraries and S2E. Later, after changing only the S2E source code, you can optionally rebuild just S2E with: + +```powershell +cmake --build --preset windows-x64-debug --parallel +``` + +The former Visual Studio-specific `CMakeSettings.json` has been replaced by `CMakePresets.json`, so Visual Studio, command-line builds, and automation share the same S2E configuration. + +### List available presets + +```sh +cmake --list-presets +cmake --build --list-presets +``` + ## Branches - `main` branch diff --git a/s2e-core b/s2e-core index 1c0256a..fb6813c 160000 --- a/s2e-core +++ b/s2e-core @@ -1 +1 @@ -Subproject commit 1c0256a7b4d9118e9c1cc369870cd20a62001d80 +Subproject commit fb6813c9f32fba18b1408e47e7f891f5d9cb8044 diff --git a/scripts/setup.ps1 b/scripts/setup.ps1 new file mode 100644 index 0000000..a16f10f --- /dev/null +++ b/scripts/setup.ps1 @@ -0,0 +1,72 @@ +param( + [ValidateSet("x64", "Win32")] + [string]$Architecture = "x64" +) + +$ErrorActionPreference = "Stop" + +function Invoke-Checked { + param( + [Parameter(Mandatory = $true)] + [string]$Command, + + [Parameter(Mandatory = $true)] + [string[]]$ArgumentList + ) + + & $Command @ArgumentList + if ($LASTEXITCODE -ne 0) { + throw "$Command failed with exit code $LASTEXITCODE" + } +} + +$RepoDir = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path.Replace("\", "/") +$ExtSourceDir = "$RepoDir/s2e-core/ExtLibraries" +$ExtInstallDir = "$RepoDir/ExtLibraries" +$SettingsDir = "$RepoDir/settings" + +if ($Architecture -eq "x64") { + $Build64Bit = "ON" + $Preset = "windows-x64-debug" +} else { + $Build64Bit = "OFF" + $Preset = "windows-win32-debug" +} + +$ExtBuildDir = "$RepoDir/build/extlibraries-$Preset" + +Invoke-Checked "git" @( + "-C", $RepoDir, + "submodule", "update", "--init", "--recursive" +) + +Invoke-Checked "cmake" @( + "-S", $ExtSourceDir, + "-B", $ExtBuildDir, + "-G", "Visual Studio 17 2022", + "-A", $Architecture, + "-DEXT_LIB_DIR=$ExtInstallDir", + "-DSETTINGS_DIR=$SettingsDir", + "-DBUILD_64BIT=$Build64Bit" +) + +Invoke-Checked "cmake" @( + "--build", $ExtBuildDir, + "--config", "Debug", + "--parallel" +) + +Invoke-Checked "cmake" @( + "--install", $ExtBuildDir, + "--config", "Debug" +) + +Push-Location $RepoDir +try { + Invoke-Checked "cmake" @("--preset", $Preset) + Invoke-Checked "cmake" @("--build", "--preset", $Preset, "--parallel") +} finally { + Pop-Location +} + +Write-Host "Setup completed with preset: $Preset" diff --git a/scripts/setup.sh b/scripts/setup.sh new file mode 100755 index 0000000..dcc5ce3 --- /dev/null +++ b/scripts/setup.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +set -euo pipefail + +repo_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +build_64bit=ON +apple_silicon=OFF + +case "$(uname -s)" in + Darwin) + case "$(uname -m)" in + arm64) + preset=macos-arm64-debug + apple_silicon=ON + ;; + x86_64) + preset=macos-x64-debug + ;; + *) + echo "Unsupported macOS architecture: $(uname -m)" >&2 + exit 1 + ;; + esac + ;; + Linux) + case "$(uname -m)" in + x86_64|amd64) + preset=linux-debug + ;; + *) + echo "Unsupported Linux architecture: $(uname -m)" >&2 + exit 1 + ;; + esac + ;; + *) + echo "Unsupported operating system: $(uname -s)" >&2 + echo "Windows users should run scripts/setup.ps1 from PowerShell." >&2 + exit 1 + ;; +esac + +command -v git >/dev/null || { echo "git was not found." >&2; exit 1; } +command -v cmake >/dev/null || { echo "cmake was not found." >&2; exit 1; } + +ext_build_dir="${repo_dir}/build/extlibraries-${preset}" + +git -C "${repo_dir}" submodule update --init --recursive + +cmake \ + -S "${repo_dir}/s2e-core/ExtLibraries" \ + -B "${ext_build_dir}" \ + -DEXT_LIB_DIR="${repo_dir}/ExtLibraries" \ + -DSETTINGS_DIR="${repo_dir}/settings" \ + -DBUILD_64BIT="${build_64bit}" \ + -DAPPLE_SILICON="${apple_silicon}" \ + -DCMAKE_BUILD_TYPE=Debug + +cmake --build "${ext_build_dir}" --parallel +cmake --install "${ext_build_dir}" + +( + cd "${repo_dir}" + cmake --preset "${preset}" + cmake --build --preset "${preset}" --parallel +) + +echo "Setup completed with preset: ${preset}" diff --git a/settings/user_simulation_base.ini b/settings/user_simulation_base.ini index de22720..c281963 100644 --- a/settings/user_simulation_base.ini +++ b/settings/user_simulation_base.ini @@ -141,4 +141,4 @@ save_initialize_files = ENABLE number_of_simulated_spacecraft = 1 number_of_simulated_ground_station = 0 spacecraft_file(0) = SETTINGS_DIR_FROM_EXE/user_satellite/satellite.ini -log_file_save_directory = ../../logs/ +log_file_save_directory = SETTINGS_DIR_FROM_EXE/../logs/