* Auto generate CMAKE_PREFIX_PATH/DESTDIR
* Auto set CMAKE_INSTALL_PREFIX
* Always default SLIC3R_STATIC to on
* Only allow one value for CMAKE_OSX_ARCHITECTURES
* Set arch for OpenSSL from CMAKE_OSX_ARCHITECTURES
* Set CMAKE_INSTALL_RPATH from CMAKE_PREFIX_PATH
* Default CMAKE_MACOSX_RPATH and CMAKE_MACOSX_BUNDLE to on
* Auto set BBL_RELEASE_TO_PUBLIC based on build config
* Default to GTK 3
* Fix linux debug build
Update find modules to also look for the debug variant of the libraries
* Set DEP_DEBUG and ORCA_INCLUDE_DEBUG_INFO based on CMAKE_BUILD_TYPE
* Add a fallback value for Windows SDK if the env variables are not set
* Reflect CMake changes in the build scripts
* Add missing line
* Fix auto setting DEP_DEBUG and ORCA_INCLUDE_DEBUG_INFO
* Update dep folder name for linux in GH actions
* Invert dep-folder-name conditions
`''` is considered a falsy value, which was causing the value to always be set to 'OrcaSlicer_dep'
* Properly handle finding the debug version of libnoise
* Convert FindNLopt.cmake to a config mode wrapper
* Use separate build directory for debug builds on Linux
* Move find_package for libnoise
* Cleanup and improve linux build script
- Add dry run
- Add build in RelWithDebInfo
- Add function to print and run commands
* Remove linux destdir deprecation and cleanup
* Fix flatpak build
* Disable fail fast for flatpak builds
* Flatpak improvements
- Build wxWidgets using deps cmake
- Improve handling of space freeing commands while building deps
- Allow cmake to directly download deps
- Set needed flags within cmake instead of the build manifest
* Print clean build commands
* Implement shellcheck recommendations
* Cleanup
* Fix CMakeLists.txt syntax by replacing empty elseif with else statement
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Shellcheck all shell scripts
* Implement Shellcheck's recommendations
* Shellcheck the distribution-specific files
* Include the distro scripts to trigger action
* Fix array usage (hopefully)
* Use single-quote string
TIL: single quote string in yaml treats everything as literal, but
double quote allows backslash escaping.
* Make all cmake commands use set+-x dance and fix macos getopts line
Make Claude happy
getopts has colon after a command which takes an argument
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
Move many third-party components' source codes from the src folder to a new folder called deps_src. The goal is to make the code structure clearer and easier to navigate.
* FIX: revert default CMake generator for deps on macOS
Before I wrongfully assumed that default CMake generator for both deps
and slicer is Xcode.
This is not true, as deps used implicitly-defaulted Unix Makefiles.
Fix by separating generator used for Slicer and deps, leaving the
choice to use Ninja for both.
Right now Xcode generator is not supported for deps and must be fixed
separately.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* FIX: Use ALL_BUILD target when building slicer with Xcode generator
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* FIX: Adjust .app searching subdir for Xcode generator
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
---------
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* ENH: Improve macOS build script
- Update shebang to bash, as it is already expected to be present in
run_gettext.sh
- Added fail-fast shell options.
- Changed default CMake generator to Ninja
- Adopted configuration for non-multi-config generators (Ninja, Make)
- Added new options:
- Allow to set CMake generator back to Xcode, no option for make
thou.
- Allow to build without reconfiguring CMake, improves build times.
Unnecessary Cmake reconfigurations require full rebuild.
- Allow to set build configuration for CMake
- Reorganized targets into separate function to break "cd" dependency.
- Reformat shell code.
- Fix all warnings reported by ShellCheck linter tool.
- Update run_gettext.sh to respect build dir in full mode.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* FIX: Install ninja with brew on CI.
Test if building works with Ninja by default.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* ENH: Set Xcode back as default generator.
Use Ninja on CI with explicit option.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* FIX: Partially revent changes in run_gettext.sh
Revert changes for option parsing.
Leave fixes for issues found by ShellCheck linter tool.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
---------
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>