--- CMakeLists.txt.orig 2023-12-25 07:07:51.000000000 +0800 +++ CMakeLists.txt 2023-12-25 07:15:27.000000000 +0800 @@ -169,9 +169,6 @@ set(DETECT_HDF5 false CACHE BOOL "Disable HDF5 to avoid conflict with armadillo") # prevent issue #40 set(CMAKE_POLICY_DEFAULT_CMP0048 NEW) # disable warning about missing version in project command set(BUILD_SMOKE_TEST OFF CACHE BOOL "armadillo smoke test") # no smoke tests: it fails due to custom memory guard in memory.hpp -add_subdirectory(dependencies/armadillo-code) -include_directories(SYSTEM dependencies/armadillo-code/include) -add_library(blas ALIAS armadillo) # to use armadillo blas inside lbfgsb_cpp set(ignoreUnusedVariable ${LBFGSB_SHOW_BUILD}) add_subdirectory(dependencies/lbfgsb_cpp) @@ -219,9 +216,8 @@ #------------------------------------------------------ # Required since RcppArmadillo uses it by default -# /D or -D definition headers are updated according to the compiler 'style' -# Use windows style for easy checking on Unix -add_definitions(/DARMA_32BIT_WORD) +add_definitions(-DARMA_32BIT_WORD) +add_definitions(-DARMA_USE_HDF5) add_definitions(-DARMA_ALIEN_MEM_ALLOC_FUNCTION=lkalloc::malloc) add_definitions(-DARMA_ALIEN_MEM_FREE_FUNCTION=lkalloc::free) add_definitions(-DCARMA_DO_NOT_EXPORT_ALIEN_MEM_FUNCTIONS) @@ -698,7 +694,7 @@ ${CMAKE_COMMAND} -DBUILD_TYPE=${CMAKE_BUILD_TYPE} -P ${CMAKE_BINARY_DIR}/cmake_install.cmake) -ADD_DEPENDENCIES(install.lib Kriging armadillo) +ADD_DEPENDENCIES(install.lib Kriging) if (ENABLED_PYTHON_BINDING) ADD_DEPENDENCIES(install.lib _pylibkriging) endif() --- src/lib/CMakeLists.txt.orig 2023-12-25 07:07:51.000000000 +0800 +++ src/lib/CMakeLists.txt 2023-12-25 07:12:06.000000000 +0800 @@ -34,7 +34,7 @@ CXX_CLANG_TIDY ${CXX_CLANG_TIDY}) endif () -target_link_libraries(Kriging PUBLIC armadillo lbfgsb_cpp::lbfgsb_cpp) # maybe PRIVATE +target_link_libraries(Kriging PUBLIC armadillo hdf5 lbfgsb_cpp::lbfgsb_cpp) # TODO check if this method is useful # * https://atomheartother.github.io/c++/2018/07/12/CPPDynLib.html --- dependencies/lbfgsb_cpp/cmake/ExternalFortranProject.cmake.in.orig 2023-07-07 00:43:34.000000000 +0800 +++ dependencies/lbfgsb_cpp/cmake/ExternalFortranProject.cmake.in 2023-07-07 06:08:25.000000000 +0800 @@ -3,7 +3,6 @@ include(ExternalProject) # Avoid warnings about unused variables -set(ignoreUnusedVariable ${CMAKE_Fortran_COMPILER}) set(ignoreUnusedVariable ${Fortran_LINK_FLAGS}) set(ignoreUnusedVariable ${EMBED_CUSTOM_BLAS}) @@ -12,7 +11,7 @@ BINARY_DIR "@lbfgsb_BINARY_DIR@" CMAKE_GENERATOR "@LBFGSB_CMAKE_GENERATOR@" CMAKE_ARGS - "-DCMAKE_Fortran_COMPILER=@CMAKE_Fortran_COMPILER@" + "-DCMAKE_Fortran_COMPILER=__FC__" "-DFortran_LINK_FLAGS=@Fortran_LINK_FLAGS@" "-DCMAKE_BUILD_TYPE=@CMAKE_BUILD_TYPE@" "-DCMAKE_INSTALL_PREFIX=@lbfgsb_INSTALL_DIR@"