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

[core] Move member initialization in header when possible. #683

Merged
merged 6 commits into from
Dec 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
CMAKE_C_COMPILER: "/usr/bin/clang"
CMAKE_CXX_COMPILER: "/usr/bin/clang++"
CMAKE_CXX_FLAGS: "-DEIGEN_MPL2_ONLY -Wno-deprecated-declarations"
MACOSX_DEPLOYMENT_TARGET: "10.15"
OSX_DEPLOYMENT_TARGET: "10.15"
OSX_ARCHITECTURES: "x86_64;arm64"
WHEEL_ARCH: "universal2"

Expand Down Expand Up @@ -64,7 +64,7 @@ jobs:
"${PYTHON_EXECUTABLE}" -m pip install delocate twine
- name: Build project dependencies
run: |
MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} OSX_ARCHITECTURES=${OSX_ARCHITECTURES} \
OSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET} OSX_ARCHITECTURES=${OSX_ARCHITECTURES} \
BUILD_TYPE="${{ matrix.BUILD_TYPE }}" ./build_tools/build_install_deps_unix.sh
"${PYTHON_EXECUTABLE}" -m pip install "torch==${TORCH_VERSION}" -f https://download.pytorch.org/whl/cpu
"${PYTHON_EXECUTABLE}" -m pip install "gymnasium>=0.26,<0.29" "importlib-metadata>=3.3.0"
Expand All @@ -82,7 +82,7 @@ jobs:
cmake "${RootDir}" -DCMAKE_INSTALL_PREFIX="${InstallDir}" -DCMAKE_PREFIX_PATH="${InstallDir}" \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-DBOOST_ROOT="${InstallDir}" -DBoost_INCLUDE_DIR="${InstallDir}/include" \
-DBoost_NO_SYSTEM_PATHS=TRUE -DBoost_NO_BOOST_CMAKE=TRUE \
Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:
delocate-wheel -vvv --require-archs "${WHEEL_ARCH}" \
-w "${RootDir}/build/wheelhouse" "${RootDir}/build/pypi/dist/jiminy_py/"*.whl
"${PYTHON_EXECUTABLE}" "${RootDir}/build_tools/wheel_addplat_macos.py" -vvv --rm-orig --clobber \
-p "macosx_${MACOSX_DEPLOYMENT_TARGET//./_}_${WHEEL_ARCH}" "${RootDir}/build/wheelhouse/"*.whl
-p "macosx_${OSX_DEPLOYMENT_TARGET//./_}_${WHEEL_ARCH}" "${RootDir}/build/wheelhouse/"*.whl
"${PYTHON_EXECUTABLE}" -m pip install --force-reinstall --no-deps "${RootDir}/build/wheelhouse/"*.whl
- name: Upload the wheel for Linux of jiminy_py
if: matrix.BUILD_TYPE == 'Release'
Expand Down
48 changes: 26 additions & 22 deletions build_tools/build_install_deps_unix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ if [ -z ${BUILD_TYPE} ]; then
fi

### Set the macos sdk version min if undefined
if [ -z ${MACOSX_DEPLOYMENT_TARGET} ]; then
MACOSX_DEPLOYMENT_TARGET="10.15"
echo "MACOSX_DEPLOYMENT_TARGET is unset. Defaulting to '${MACOSX_DEPLOYMENT_TARGET}'."
if [ -z ${OSX_DEPLOYMENT_TARGET} ]; then
OSX_DEPLOYMENT_TARGET="10.15"
echo "OSX_DEPLOYMENT_TARGET is unset. Defaulting to '${OSX_DEPLOYMENT_TARGET}'."
fi

### Set the build architecture if undefined
if [ -z ${OSX_ARCHITECTURES} ]; then
OSX_ARCHITECTURES="x86_64"
OSX_ARCHITECTURES="arm64"
echo "OSX_ARCHITECTURES is unset. Defaulting to '${OSX_ARCHITECTURES}'."
fi

Expand All @@ -32,6 +32,8 @@ if [ -z ${CMAKE_CXX_COMPILER} ]; then
fi

### Set common CMAKE_C/CXX_FLAGS
# '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION' flag is required to compile `boost::container_hash::hash`
# with C++17 enabled from "old" releases of Boost.
CMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION -Wno-deprecated-declarations"
if [ "${BUILD_TYPE}" == "Release" ]; then
CMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -DNDEBUG -O3"
Expand All @@ -43,8 +45,8 @@ fi
echo "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}"

### Get the fullpath of Jiminy project
ScriptDir="$(cd "$(dirname "$0")" >/dev/null 2>&1 && pwd)"
RootDir="$(dirname $ScriptDir)"
ScriptDir="$(cd "$(dirname -- $0)" >/dev/null 2>&1 && pwd)"
RootDir="$(dirname -- ${ScriptDir})"

### Set the fullpath of the install directory, then creates it
InstallDir="${RootDir}/install"
Expand Down Expand Up @@ -79,7 +81,7 @@ unset Boost_ROOT
# - Boost.Python == 1.75 fixes support of PyPy
# - Boost.Python == 1.76 fixes error handling at import
# - Boost >= 1.75 is required to compile ouf-of-the-box on MacOS for intel and Apple Silicon
# - Boost < 1.77 causes compilation failure with gcc-12.
# - Boost < 1.77 causes compilation failure with gcc-12 if not patched
# - Boost >= 1.77 affects the memory layout to improve alignment, breaking retro-compatibility
if [ ! -d "${RootDir}/boost" ]; then
git clone --depth 1 https://github.com/boostorg/boost.git "${RootDir}/boost"
Expand Down Expand Up @@ -206,6 +208,9 @@ git apply --reject --whitespace=fix "${RootDir}/build_tools/patch_deps_unix/pino
# * Set the cmake cache variable CMAKE_PREFIX_PATH
# * Set the environment variable Boost_DIR

# Must add toolset to search path for boost build system to find it
PATH="${PATH}:$(dirname -- ${CMAKE_C_COMPILER})"

### Build and install the build tool b2 (build-ception !)
cd "${RootDir}/boost"
./bootstrap.sh --prefix="${InstallDir}" --with-python="${PYTHON_EXECUTABLE}"
Expand Down Expand Up @@ -234,7 +239,7 @@ else
fi
CMAKE_CXX_FLAGS_B2="-fPIC -std=c++11"
if [ "${OSTYPE//[0-9.]/}" == "darwin" ]; then
CMAKE_CXX_FLAGS_B2="${CMAKE_CXX_FLAGS_B2} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}"
CMAKE_CXX_FLAGS_B2="${CMAKE_CXX_FLAGS_B2} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}"
fi
if grep -q ";" <<< "${OSX_ARCHITECTURES}" ; then
CMAKE_CXX_FLAGS_B2="${CMAKE_CXX_FLAGS_B2} $(echo "-arch ${OSX_ARCHITECTURES}" | sed "s/;/ -arch /g")"
Expand All @@ -249,7 +254,7 @@ mkdir -p "${RootDir}/boost/build"
architecture= address-model=64 $DebugOptionsB2 \
threading=single link=static runtime-link=static \
cxxflags="${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_B2}" \
linkflags="${CMAKE_CXX_FLAGS_B2}" \
linkflags="${CMAKE_CXX_FLAGS_B2}" toolset="$(basename -- ${CMAKE_C_COMPILER})" \
variant="$BuildTypeB2" install -q -d0 -j2

./b2 --prefix="${InstallDir}" --build-dir="${RootDir}/boost/build" \
Expand All @@ -258,7 +263,7 @@ mkdir -p "${RootDir}/boost/build"
architecture= address-model=64 $DebugOptionsB2 \
threading=single link=shared runtime-link=shared \
cxxflags="${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_B2}" \
linkflags="${CMAKE_CXX_FLAGS_B2}" \
linkflags="${CMAKE_CXX_FLAGS_B2}" toolset="$(basename -- ${CMAKE_C_COMPILER})" \
variant="$BuildTypeB2" install -q -d0 -j2

#################################### Build and install eigen3 ##########################################
Expand All @@ -277,7 +282,7 @@ cd "${RootDir}/eigenpy/build"
cmake "${RootDir}/eigenpy" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" -DCMAKE_PREFIX_PATH="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF \
-DPYTHON_EXECUTABLE="$PYTHON_EXECUTABLE" -DPYTHON_STANDARD_LAYOUT=ON \
Expand All @@ -295,12 +300,11 @@ cd "${RootDir}/tinyxml/build"
cmake "${RootDir}/tinyxml" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON \
-DCMAKE_CXX_FLAGS_RELEASE_INIT="" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -DTIXML_USE_STL" \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"

make install -j2

############################## Build and install console_bridge ########################################
Expand All @@ -310,7 +314,7 @@ cd "${RootDir}/console_bridge/build"
cmake "${RootDir}/console_bridge" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON \
-DCMAKE_CXX_FLAGS_RELEASE_INIT="" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_BUILD_TYPE="$BUILD_TYPE"
Expand All @@ -330,7 +334,7 @@ cd "${RootDir}/urdfdom/build"
cmake "${RootDir}/urdfdom" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" -DCMAKE_PREFIX_PATH="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DBUILD_TESTING=OFF \
-DCMAKE_CXX_FLAGS_RELEASE_INIT="" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_BUILD_TYPE="$BUILD_TYPE"
Expand All @@ -343,7 +347,7 @@ cd "${RootDir}/cppad/build"
cmake "${RootDir}/cppad" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_CXX_FLAGS_RELEASE_INIT="" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_BUILD_TYPE="$BUILD_TYPE"
make install -j2
Expand All @@ -356,7 +360,7 @@ cd "${RootDir}/cppadcodegen/build"
cmake "${RootDir}/cppadcodegen" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DGOOGLETEST_GIT=ON \
-DCMAKE_CXX_FLAGS_RELEASE_INIT="" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_BUILD_TYPE="$BUILD_TYPE"
Expand All @@ -371,14 +375,14 @@ cd "${RootDir}/assimp/build"
cmake "${RootDir}/assimp" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON \
-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_ZLIB=ON -DASSIMP_BUILD_TESTS=OFF \
-DASSIMP_BUILD_SAMPLES=OFF -DBUILD_DOCS=OFF -DBUILD_TESTING=OFF \
-DCMAKE_C_FLAGS="${CMAKE_CXX_FLAGS} -DHAVE_HIDDEN" -DCMAKE_CXX_FLAGS_RELEASE_INIT="" \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -Wno-strict-overflow -Wno-tautological-compare -Wno-array-compare $(
) -Wno-alloc-size-larger-than -Wno-unknown-warning-option -Wno-unknown-warning" \
) -Wno-alloc-size-larger-than -Wno-unknown-warning-option -Wno-unknown-warning -Wno-error=array-bounds" \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"
make install -j2

Expand All @@ -389,7 +393,7 @@ cd "${RootDir}/hpp-fcl/third-parties/qhull/build"
cmake "${RootDir}/hpp-fcl/third-parties/qhull" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON \
-DCMAKE_C_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -Wno-conversion" \
Expand All @@ -401,7 +405,7 @@ cd "${RootDir}/hpp-fcl/build"
cmake "${RootDir}/hpp-fcl" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" -DCMAKE_PREFIX_PATH="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF \
-DPYTHON_EXECUTABLE="$PYTHON_EXECUTABLE" -DPYTHON_STANDARD_LAYOUT=ON \
Expand All @@ -423,7 +427,7 @@ cd "${RootDir}/pinocchio/build"
cmake "${RootDir}/pinocchio" -Wno-dev -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER="${CMAKE_C_COMPILER}" -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER}" \
-DCMAKE_INSTALL_PREFIX="${InstallDir}" -DCMAKE_PREFIX_PATH="${InstallDir}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
-DCMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURES}" -DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF \
-DPYTHON_EXECUTABLE="$PYTHON_EXECUTABLE" -DPYTHON_STANDARD_LAYOUT=ON \
Expand Down
2 changes: 1 addition & 1 deletion build_tools/cmake/base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ else()
-Wno-unknown-warning -Wno-undefined-var-template \
-Wno-long-long -Wno-error=maybe-uninitialized \
-Wno-error=uninitialized -Wno-error=deprecated \
-Wno-error=array-bounds")
-Wno-error=array-bounds -Wno-error=redundant-move")
endif()

# Shared libraries need PIC
Expand Down
10 changes: 5 additions & 5 deletions core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ target_include_directories(${PROJECT_NAME}-object PUBLIC
)

# Configure jsoncpp and hdf5 dependencies.
# Note that defining only BUILD_INTERFACE will prevent the header files to be exported,
# Note that defining only BUILD_INTERFACE will prevent the header files from being exported,
# thus not making them available by a side-project depending on Jiminy. However, since
# jsoncpp is installed on the system as an external project, those side-projects must
# simply call find_package(jsoncpp) and it will be included automatically.
Expand All @@ -124,7 +124,7 @@ target_include_directories(${PROJECT_NAME}-object SYSTEM PUBLIC
$<BUILD_INTERFACE:${INSTALL_DIR}/include>
)

# Linking with other libraries (in such a way to avoid any warnings compiling them)
# Linking with other libraries (as a way to avoid any warnings compiling them)
target_link_libraries_system(${PROJECT_NAME}-object pinocchio::pinocchio hpp-fcl::hpp-fcl Eigen3::Eigen)
if(NOT "${urdfdom_LIBRARIES}" MATCHES ".*tinyxml.*")
list(APPEND urdfdom_LIBRARIES "tinyxml")
Expand All @@ -133,7 +133,7 @@ target_link_libraries(${PROJECT_NAME}-object ${urdfdom_LIBRARIES})
target_link_libraries(${PROJECT_NAME}-object jsoncpp::jsoncpp hdf5::hdf5_cpp hdf5::hdf5 hdf5::zlib) # Beware the order is critical !
if(WIN32)
# Adding this dependency on Windows is necessary since HDF5 >= 1.14.3.
# Hopefully this broken transitive dependency when build static libary
# Hopefully this broken transitive dependency when building static libary
# will be fixed. See: https://github.com/HDFGroup/hdf5/issues/3663
target_link_libraries(${PROJECT_NAME}-object shlwapi)
endif()
Expand All @@ -143,7 +143,7 @@ if(UNIX AND NOT APPLE)
target_link_libraries(${PROJECT_NAME}-object ${CMAKE_DL_LIBS} -lrt)
endif()

# Create both static and shared libraries from intermediary object
# Create both static and shared libraries from the intermediary object
add_library(${PROJECT_NAME} STATIC $<TARGET_OBJECTS:${PROJECT_NAME}-object>)
target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}-object)
add_library(${LIBRARY_NAME} SHARED $<TARGET_OBJECTS:${PROJECT_NAME}-object>)
Expand Down Expand Up @@ -171,7 +171,7 @@ if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()

# Specialize jiminy core configuration file and install it
# Specialize Jiminy core configuration file and install it
set(JIMINY_CONFIG_IN "${CMAKE_SOURCE_DIR}/build_tools/cmake/jiminyConfig.cmake.in")
set(JIMINY_CONFIG_OUT "${CMAKE_BINARY_DIR}/cmake/jiminyConfig.cmake")
configure_file(${JIMINY_CONFIG_IN} ${JIMINY_CONFIG_OUT} @ONLY)
Expand Down
3 changes: 2 additions & 1 deletion core/examples/double_pendulum/double_pendulum.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
#include <filesystem>

#include "jiminy/core/fwd.h"
#include "jiminy/core/hardware/fwd.h"
#include "jiminy/core/telemetry/fwd.h"
#include "jiminy/core/utilities/helpers.h"
#include "jiminy/core/io/file_device.h"
#include "jiminy/core/telemetry/telemetry_recorder.h"
#include "jiminy/core/hardware/abstract_sensor.h"
#include "jiminy/core/hardware/basic_motors.h"
#include "jiminy/core/control/controller_functor.h"
Expand Down
3 changes: 2 additions & 1 deletion core/examples/external_project/double_pendulum.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
#include <filesystem>

#include "jiminy/core/fwd.h"
#include "jiminy/core/hardware/fwd.h"
#include "jiminy/core/telemetry/fwd.h"
#include "jiminy/core/utilities/helpers.h"
#include "jiminy/core/io/file_device.h"
#include "jiminy/core/telemetry/telemetry_recorder.h"
#include "jiminy/core/hardware/abstract_sensor.h"
#include "jiminy/core/hardware/basic_motors.h"
#include "jiminy/core/control/controller_functor.h"
Expand Down
18 changes: 9 additions & 9 deletions core/include/jiminy/core/constraints/abstract_constraint.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ namespace jiminy
DISABLE_COPY(AbstractConstraintBase)

public:
AbstractConstraintBase() = default;
explicit AbstractConstraintBase() = default;
virtual ~AbstractConstraintBase();

/// \brief Refresh the internal buffers and proxies.
Expand Down Expand Up @@ -77,25 +77,25 @@ namespace jiminy

public:
/// \brief Lambda multipliers.
Eigen::VectorXd lambda_;
Eigen::VectorXd lambda_{};

protected:
/// \brief Model on which the constraint operates.
std::weak_ptr<const Model> model_;
std::weak_ptr<const Model> model_{};
/// \brief Flag to indicate whether the constraint has been attached to a model.
bool isAttached_;
bool isAttached_{false};
/// \brief Flag to indicate whether the constraint is enabled.
///
/// \remarks Handling of this flag is done at Robot level.
bool isEnabled_;
bool isEnabled_{false};
/// \brief Position-related baumgarte stabilization gain.
double kp_;
double kp_{0.0};
/// \brief Velocity-related baumgarte stabilization gain.
double kd_;
double kd_{0.0};
/// \brief Jacobian of the constraint.
Eigen::MatrixXd jacobian_;
Eigen::MatrixXd jacobian_{};
/// \brief Drift of the constraint.
Eigen::VectorXd drift_;
Eigen::VectorXd drift_{};
};

template<class T>
Expand Down
Loading