Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux release #386

Merged
merged 66 commits into from
Sep 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
2019759
Running Linux UI
pyeatt Jun 24, 2020
b7a3746
Forgot to change python from 3.7 to 3.8
pyeatt Jun 24, 2020
7161d75
Update AboutDialog.cpp
Picaut Dec 9, 2020
a28b103
Merge branch 'master' of https://github.com/Picaut/I-Simpa
Picaut Dec 10, 2020
c9b4877
Update documentation
Picaut Jan 8, 2021
2b70b1a
Merge remote-tracking branch 'Ifsttar/dev'
Picaut Jan 8, 2021
518fc96
Merge remote-tracking branch 'Ifsttar/dev'
Picaut Jan 8, 2021
e882ec3
Merge pull request #270 from Picaut/master
nicolas-f Jan 8, 2021
3081893
Update requirements.txt
Picaut Jan 8, 2021
ef2f764
Update tetgen to 1.6
wbinek Apr 20, 2021
68356ee
Add import of skipped_faces file during tetgen debug
wbinek Apr 20, 2021
81a99b8
Use swig 4.0.2 from choco in appveyor build
wbinek Apr 20, 2021
39ad3fc
Update wxWidgets to 3.1.5
wbinek Apr 19, 2021
6d9887a
Fix deprecation warning for wxWidgets pen and brush styles
wbinek Apr 19, 2021
06ab222
Merge pull request #275 from wbinek/tetgen-update
nicolas-f Apr 20, 2021
2f97012
Auto resize last column of DataGrid to fill the window
wbinek Apr 20, 2021
e3435f4
Auto apply changes made to e_data_tree properties (e.g. materials)
wbinek Apr 20, 2021
71a081d
Increase height of ComboTreeCtrl especially on HDPI screens
wbinek Apr 20, 2021
9ebb76c
missing lib folder
nicolas-f Apr 22, 2021
fb44de3
Merge pull request #18 from nicolas-f/update-Swig-and-wxWidgets
wbinek Apr 22, 2021
d366a21
Merge pull request #276 from wbinek/update-Swig-and-wxWidgets
nicolas-f Apr 22, 2021
7ec63fe
Update appveyor.yml
nicolas-f Apr 22, 2021
519e245
Merge pull request #277 from wbinek/properties-grid-fixes
nicolas-f Apr 22, 2021
675a005
Update documentation
Picaut Jan 4, 2022
d9f78f6
Create CHANGELOG.md
Picaut Jan 4, 2022
5808844
Update CHANGELOG.md
Picaut Jan 4, 2022
d8a91dd
Merge branch 'dev' of https://github.com/Ifsttar/I-Simpa into dev
Picaut Jan 4, 2022
e47323c
Update documentation
Picaut Jan 4, 2022
c0ca1b0
update build for newer version of librairies
nicolas-f Jan 6, 2022
8988097
Update CMakeLists.txt
nicolas-f Jan 24, 2023
fb6a1e4
resolve conflicts
nicolas-f Jan 25, 2023
cb425a0
Merge branch 'nicolas-f-patch-1' of github.com:Universite-Gustave-Eif…
nicolas-f Jan 25, 2023
ee6e2ce
fix linux release
nicolas-f Jan 25, 2023
d2a2685
Linker flag for linux..
nicolas-f Jan 26, 2023
23c24a7
If mousemove not skipped, it block handling of drag&drop of tree items
nicolas-f Jan 26, 2023
439b7f8
build all branches
nicolas-f Jan 27, 2023
79163b7
manage array out of bound exception
nicolas-f Jan 30, 2023
accb84e
properly manage index<=-1
nicolas-f Jan 30, 2023
6029814
Use CPM to fetch wxwidgets
nicolas-f Feb 6, 2023
0a14079
Fix yml
nicolas-f Feb 6, 2023
468a137
Fix yml
nicolas-f Feb 6, 2023
c01bee8
Fix yml
nicolas-f Feb 6, 2023
d8e28b0
Fix yml
nicolas-f Feb 6, 2023
37301f0
Fix yml
nicolas-f Feb 6, 2023
8222a07
boost through cmake
nicolas-f Feb 6, 2023
a46e64e
fix gh error
nicolas-f Feb 6, 2023
ffabaf7
fix gh error2
nicolas-f Feb 6, 2023
5471bed
fix gh error2
nicolas-f Feb 6, 2023
2f8d9e3
fix gh error3
nicolas-f Feb 6, 2023
674f566
fix gh error4
nicolas-f Feb 6, 2023
75f10dc
fix gh error5
nicolas-f Feb 6, 2023
4cf929b
boost with cpm seems to be ok, wxwidgets is missing include with cpm..
nicolas-f Feb 7, 2023
2811565
remove azure
nicolas-f Feb 7, 2023
503a8b4
remove azure
nicolas-f Feb 7, 2023
89620f7
add deps
nicolas-f Feb 7, 2023
f74fe38
fine tune cmake
nicolas-f Feb 7, 2023
06a8a92
fine tune cmake2
nicolas-f Feb 7, 2023
30409b3
fine tune cmake3
nicolas-f Feb 7, 2023
5b75f65
fine tune cmake4
nicolas-f Feb 7, 2023
9267e92
reactivate build on gh actions
nicolas-f Feb 8, 2023
c25904a
add random
nicolas-f Feb 8, 2023
3e19dcc
remove boost from automated download, use last version of wxwidgets
nicolas-f Feb 8, 2023
5ea05ad
publish artifact
nicolas-f Feb 13, 2023
754b609
Upload files for appImage
nicolas-f Jan 18, 2024
4402301
Merge branch 'master' into linux_release
nicolas-f Sep 26, 2024
21435ef
ignore ios files
nicolas-f Sep 26, 2024
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
84 changes: 84 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: CMake

on: [workflow_dispatch, push, pull_request]


concurrency:
group: FC-CI-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

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

jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-22.04
env:
CPM_SOURCE_CACHE: ~/.cache/CPM
steps:
- uses: actions/checkout@v3
- name: Install I-SIMPA dependencies
run: |
sudo sed -i 's/azure\.//' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
libgtk-3-dev \
freeglut3-dev \
libxmu-dev \
libxi-dev \
libpng-dev \
libjpeg-dev \
libxxf86vm1 \
libxxf86vm-dev \
libxi-dev \
libxrandr-dev \
mesa-common-dev \
mesa-utils \
libgl1-mesa-dev \
libglapi-mesa \
byacc \
gettext \
cmake \
python3-dev \
swig \
libboost-all-dev
- name: Cache CPM dependency packages
uses: actions/cache@v3
with:
path: |
${{ env.CPM_SOURCE_CACHE }}
key: ${{ runner.os }}-isimpa

- 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
run: |
cmake -DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }} -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

- name: Build
working-directory: ${{github.workspace}}/build
# Compile i-simpa
run: make

- name: Install
working-directory: ${{github.workspace}}/build
# Copy stuff to bin subdirectory for "standalone" application
run: make install

- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: make test

- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: isimpa-amd64.zip
path: ${{github.workspace}}/build/bin

3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,5 @@ files.txt
*.pot
# cmake should convert .po files into .mo files if necessary
*.mo
.vscode/
.vscode
.DS_Store
12 changes: 9 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.6.0)
# begin basic metadata
# minimum CMake version required for C++20 support, among other things
cmake_minimum_required(VERSION 3.15)

# Maps to a solution file (isimpa.sln). The solution will
# have all targets (exe, lib, dll) as projects (.vcproj)
project (isimpa VERSION 1.3.4)

# a better way to load dependencies
include(cmake/CPM.cmake)

# convert path of a .lib file into a .dll file
# findboost does not store .dll locations
Expand Down Expand Up @@ -49,13 +53,15 @@ IF (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
IF (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
SET(USE_CXX_11 TRUE)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall --std=c++11 -O3 -fPIC" )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -fPIC" )
ENDIF()
ELSEIF (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
IF ((NOT APPLE AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "3.2")
OR (APPLE AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.1"))
SET(USE_CXX_11 TRUE)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-error=c++11-narrowing")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall --std=c++11 -Wno-error=c++11-narrowing -O3 -fPIC" )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -fPIC" )
ENDIF()
ELSEIF (MSVC AND MSVC_VERSION GREATER 1600)
SET(USE_CXX_11 TRUE)
Expand Down
32 changes: 16 additions & 16 deletions Docs/Building.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,33 @@
#### Software & Dependencies requirements

* CMake
* Boost 1.60
* wxWidget 3.1.0
* Swig
* Python 2.7
* Boost 1.73
* wxWidget 3.1.4
* Swig 3.0.11
* Python 3.8

:warning: This project uses OpenGL, check if your graphic driver is up to date !

---

### On Windows with Microsoft Visual Studio (64bits)

Last (free) version in date : [Visual Studio Community 2015](https://www.visualstudio.com/)
Last (free) version in date : [Visual Studio Community 2019](https://www.visualstudio.com/)

#### Libraries installation

We recommend you to create a lib folder in `C:` and to use it when extracting extracting externals libraries source.

* **Boost**
* [Download Boost 1.60](http://www.boost.org/users/history/)
* [Download Boost 1.73](http://www.boost.org/users/history/)
* Extract the archive
* To build Boost : from the Visual Studio shell (Menu > All Programs > Visual Studio Tools), in the Boost folder

.\bootstrap.bat
# build just what we need
.\b2. toolset=msvc-14.0 --with-thread --with-random --with-python --with-date_time --with-test --with-filesystem --with-regex --build-type=complete stage
.\b2. toolset=msvc-16.0 --with-thread --with-random --with-python --with-date_time --with-test --with-filesystem --with-regex --build-type=complete stage
# or everything
.\b2. toolset=msvc-14.0 --build-type=complete stage
.\b2. toolset=msvc-16.0 --build-type=complete stage

* Move the lib/ folder (inside stage/) to the Boost folder root
* Create/check environment variable
Expand All @@ -49,9 +49,9 @@ We recommend you to create a lib folder in `C:` and to use it when extracting ex
* Extract the archive
* Add to Path the Swig folder path
* **wxWidgets**
* [Download the wxWidget 3.1.0 Windows Installer](http://www.wxwidgets.org/downloads/)
* [Download the wxWidget 3.1.4 Windows Installer](http://www.wxwidgets.org/downloads/)
* The installer extract the source in a folder
* In the wxWidget folder, in build/msw, launch wx_vc14.sl
* In the wxWidget folder, in build/msw, launch wx_vc16.sl
* Choose the "debug" mode and generate the solution
* Choose the "release" mode and generate the solution again
* Quit Visual Studio
Expand All @@ -60,7 +60,7 @@ We recommend you to create a lib folder in `C:` and to use it when extracting ex
WXWIN path\to\wxwidget

* **Python**
* [Download Python 2.7](https://www.python.org/downloads/)
* [Download Python 3.8](https://www.python.org/downloads/)
* Install it (the installer has an option that can do the two next steps for you)
* Add to Path the Python installation folder path
* Create/check environment variable
Expand Down Expand Up @@ -89,7 +89,7 @@ In order to build under linux you have to download/install the following librari

- gcc-4.8
- g++-4.8
- python 2.7
- python 3.8
- freeglut3-dev
- libxmu-dev
- libxi-dev
Expand All @@ -111,13 +111,13 @@ Swig from here:
https://github.com/swig/swig/archive/rel-3.0.10.tar.gz

Boost from here:
https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.bz2
https://sourceforge.net/projects/boost/files/boost/1.73.0/boost_1_73_0.tar.bz2/download

wxWidgets from here:
https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2
https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.4/wxWidgets-3.1.4.tar.bz2

Cmake from here
https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz
Cmake from here (or from apt-get)
https://cmake.org/files/LatestRelease/cmake-3.22.0.tar.gz

#### Building instructions

Expand Down
2 changes: 1 addition & 1 deletion Docs/code_TCR.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Presentation

**TCR is a numerical code based on the Classical Theory or Reverberation.**

- `Visit the offical I-Simpa website`_ for more information about SPPS code.
- `Visit the offical I-Simpa website`_ for more information about TCR code.

- See the main `characteristics of the code`_ that is embedded in I-Simpa.

Expand Down
20 changes: 10 additions & 10 deletions Docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,16 @@ the TCR numerical codes (embedded within the I-Simpa software).
`instructions`_

.. note::
- Some illustrations may referred to previous versions of I-Simpa.
- Depending of your OS, screenchots may differs.
- Some texts and translations in I-Simpa may have changed.
- If the present documentation is the 'Offline documentation' you may refer to the online version at http://i-simpa-wiki.readthedocs.io/fr/latest/ for an up-to-date documentation.
- If you observe some mistakes or errors, please `write an Issue on GitHub`_
- You can also `contribute to the documentation`_.
- The official documentation is available in English only.

.. _visit the offical I-Simpa website: https://i-simpa.univ-gustave-eiffel.fr/
- This user guide is currently not complete. Additions are underway.
- Some illustrations may referred to previous versions of I-Simpa.
- Depending of your OS, screenchots may differs.
- Some texts and translations in I-Simpa may have changed.
- If the present documentation is the 'Offline documentation' you may refer to the online version at http://i-simpa-wiki.readthedocs.io/en/latest/ for an up-to-date documentation.
- If you observe some mistakes or errors, please `write an Issue on GitHub`_
- You can also `contribute to the documentation`_.
- The official documentation is available in English only.

.. _visit the offical I-Simpa website: http://i-simpa.ifsttar.fr
.. _instructions: https://github.com/Ifsttar/I-Simpa/wiki
.. _contribute to the documentation: https://github.com/Ifsttar/I-Simpa/wiki/Write-documentation
.. _write an Issue on GitHub: https://github.com/Ifsttar/I-Simpa/issues
Expand Down Expand Up @@ -111,7 +112,6 @@ the TCR numerical codes (embedded within the I-Simpa software).
:maxdepth: 2
:caption: Appendices

errors_messages
I_Simpa_standard
room_acoustics_parameters
glossary
Expand Down
22 changes: 11 additions & 11 deletions Docs/presentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ Windows properties:
- User can **rearrange and resize** all components in the computer screen by selecting and moving the corresponding component.
- You can come back to the **default view** by selecting the option 'Reinitialize interface' in the 'Windows' menu.

.. _'File': Menu_File.html
.. _'Edition': Menu_Edition.html
.. _'Simulation': Menu_Simulation.html
.. _'View': Menu_View.html
.. _'Windows': Menu_Windows.html
.. _'Help': Menu_Help.html
.. _'Toolbars': Toolbars.html
.. _'Project' window: Project_window.html
.. _'Properties' window: Properties_window.html
.. _'Console' window: Console_window.html
.. _'Main' window: Main_window.html
.. _'File': menu_file.html
.. _'Edition': menu_edition.html
.. _'Simulation': menu_simulation.html
.. _'View': menu_view.html
.. _'Windows': menu_windows.html
.. _'Help': menu_help.html
.. _'Toolbars': toolbars.html
.. _'Project' window: project_window.html
.. _'Properties' window: properties_window.html
.. _'Console' window: console_window.html
.. _'Main' window: main_window.html
1 change: 0 additions & 1 deletion Docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
sphinxcontrib-bibtex==1.0.0
docutils==0.16
35 changes: 15 additions & 20 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,15 @@ environment:
BOOST_LIBRARYDIR: C:\Libraries\boost_1_73_0\lib64-msvc-14.2
PYTHON_LIBRARY: C:\Python38-x64\libs\python38.lib
PYTHON_INCLUDE_DIR: C:\Python38-x64\include
WXWIN: C:\wxWidgets-3.1.4\
wxWidgets_ROOT_DIR: C:\wxWidgets-3.1.4\
wxWidgets_INCLUDE_DIRS: C:\wxWidgets-3.1.4\include
wxWidgets_LIBRARIES: C:\wxWidgets-3.1.4\lib\vc14x_x64_dll
SWIG_DIR: C:\Libraries\swigwin-3.0.11
SWIG_EXECUTABLE: C:\Libraries\swigwin-3.0.11\swig.exe
WXWIN: C:\wxWidgets-3.1.5\
wxWidgets_ROOT_DIR: C:\wxWidgets-3.1.5\
wxWidgets_INCLUDE_DIRS: C:\wxWidgets-3.1.5\include
wxWidgets_LIBRARIES: C:\wxWidgets-3.1.5\lib\vc14x_x64_dll
SWIG_DIR: C:\ProgramData\chocolatey\lib\swig\tools
#SWIG_EXECUTABLE: C:\Libraries\swigwin-3.0.11\swig.exe
PYTHON_EXECUTABLE: C:\Python38-x64\python.exe
CTEST_OUTPUT_ON_FAILURE: 1

# branches to build
branches:
# whitelist
only:
- master

# Operating system (build VM template)
os: Visual Studio 2019

Expand All @@ -50,18 +44,19 @@ before_build:
# Copy x64 dll from system32 to python27 x64
#- cmd: copy c:\windows\system32\PYTHON27.DLL C:\Python27-x64\python27.dll
- echo Download wxWidgets lib
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.4/wxWidgets-3.1.4.7z'
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.4/wxMSW-3.1.4_vc14x_x64_Dev.7z'
- cmd: 7z x -aoa wxWidgets-3.1.4.7z -oC:\wxWidgets-3.1.4
- cmd: 7z x -aoa wxMSW-3.1.4_vc14x_x64_Dev.7z -oC:\wxWidgets-3.1.4
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxWidgets-3.1.5.7z'
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxMSW-3.1.5_vc14x_x64_Dev.7z'
- cmd: 7z x -aoa wxWidgets-3.1.5.7z -oC:\wxWidgets-3.1.5
- cmd: 7z x -aoa wxMSW-3.1.5_vc14x_x64_Dev.7z -oC:\wxWidgets-3.1.5
- cmd: dir %wxWidgets_LIBRARIES%
# Download Release wxWidgets DLL's
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.4/wxMSW-3.1.4_vc14x_x64_ReleaseDLL.7z' -Timeout 15000
- cmd: 7z x -aoa wxMSW-3.1.4_vc14x_x64_ReleaseDLL.7z -oC:\wxWidgets-3.1.4
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxMSW-3.1.5_vc14x_x64_ReleaseDLL.7z' -Timeout 15000
- cmd: 7z x -aoa wxMSW-3.1.5_vc14x_x64_ReleaseDLL.7z -oC:\wxWidgets-3.1.5
# install dependencies:
- choco install poedit nsis 7zip.install
- ps: Start-FileDownload 'https://github.com/nicolas-f/build_resources/raw/master/swigwin-3.0.11.zip' -FileName 'c:\Libraries\swigwin-3.0.11.zip' -Timeout 15000
- ps: 7z x -aoa c:\Libraries\swigwin-3.0.11.zip -oC:\Libraries -r -y
#- ps: Start-FileDownload 'https://github.com/nicolas-f/build_resources/raw/master/swigwin-3.0.11.zip' -FileName 'c:\Libraries\swigwin-3.0.11.zip' -Timeout 15000
#- ps: 7z x c:\Libraries\swigwin-3.0.11.zip -oC:\Libraries -r -y
- choco install swig
- cmd: SET PATH=%PATH%;%WXWIN%;%SWIG_DIR%;%wxWidgets_LIB_DIR%;C:\Program Files (x86)\Poedit\Gettexttools\bin;%BOOST_LIBRARYDIR%;
- ps: swig.exe -version
- echo Running cmake...
Expand Down
2 changes: 0 additions & 2 deletions ci/travis/linux/after_script.sh

This file was deleted.

Loading
Loading