Mentions légales du service

Skip to content

[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 and INCLUDES_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

Merge request reports