[CMake] Allowing to manually add external libraries
name: Hotfix
about: Quick bugfix with very localized and low impact changes.
Description Closes #4 (closed)
Changelog
- Adding possibility to declare manually
EXTERNAL_LIBRARIES_LIST
andINCLUDES_LIST
Hot to use it
You just need to add EXTERNAL_LIBRARIES_TO_FIND_LIST
, EXTERNAL_LIBRARIES_LIST
and INCLUDES_LIST
to your configure.sh
as a string input separating the files/folders with semicolon (;).
For example (see two last lines):
#!/bin/sh
# Set variables
export FELISCE_SOURCE="${FELISCE_SOURCE:-"$( cd "$(dirname "$0")" ; pwd -P )"/..}"
export FELISCE_BUILD="${FELISCE_SOURCE}/build"
# Set basic configuration
export FELISCE_BUILD_TYPE=${FELISCE_BUILD_TYPE:-"Release"}
# Clean
clear
rm -rf "${FELISCE_BUILD}/${FELISCE_BUILD_TYPE}/cmake_install.cmake"
rm -rf "${FELISCE_BUILD}/${FELISCE_BUILD_TYPE}/CMakeCache.txt"
rm -rf "${FELISCE_BUILD}/${FELISCE_BUILD_TYPE}/CMakeFiles"
# Configure
cmake --no-warn-unused-cli .. \
-H"${FELISCE_SOURCE}" \
-B"${FELISCE_BUILD}/${FELISCE_BUILD_TYPE}" \
-DCMAKE_BUILD_TYPE="${FELISCE_BUILD_TYPE}" \
-DUSE_COTIRE=ON \
-DBUILD_TESTING=ON \
-DLIBMESHB_ROOT_DIR="$HOME/local" \
-DGETPOT_INCLUDE_DIR="$HOME/src/getpot-cpp" \
-DPETSC_DIR="$HOME/src/petsc/" \
-DNSINRIA_DIR="$HOME/src/felisce-ns/" \
-DEXTERNAL_LIBRARIES_TO_FIND_LIST="m" \
-DEXTERNAL_LIBRARIES_LIST="$HOME/src/mmg/build/lib/libmmg.so;$HOME/src/mmg/build/lib/libmmg3d.so" \
-DINCLUDES_LIST="$HOME/src/mmg/build/include/mmg/" \
# Compile with Cotire
cmake --build "${FELISCE_BUILD}/${FELISCE_BUILD_TYPE}" --target all_unity -- -j$(nproc)
cmake --build "${FELISCE_BUILD}/${FELISCE_BUILD_TYPE}" --target install/fast -- -j$(nproc)
FYI @magbales
Edited by Vicente Mataix Ferrándiz