在Cmakelist中添加Arpack/Armadillo

Adding Arpack/Armadillo in Cmakelist

本文关键字:Armadillo Arpack 添加 Cmakelist      更新时间:2023-10-16

我正在努力在myCMakeLists(见下文)文件中添加ARPACK,我在Mac-OSX下构建了我的Qt项目。请注意,我通过"Macport"安装了犰狳库,Qt会自动识别它,而无需将其添加到CMakeList文件中。但是由于我使用的是犰狳的稀疏分解函数,Qt要求我将ARPACK库链接到该项目。我安装了ARPACK库,但没有找到如何添加我的CMakeList文件。请问我该如何添加它?

我通过在 CMakeList 中添加以下行来解决此问题:

 SET(ARMADILLO_INCLUDE_DIR "/Users/Anass/Downloads/armadillo-  
 6.600.4/include/")
 SET(ARMADILLO_LIBRARIES "/Users/Anass/Downloads/armadillo-
 6.600.4/libarmadillo.6.60.4.dylib")
 SET(ARPACK_LIBRARIES "/opt/local/lib/libarpack.dylib")
 ...
 IF(LAPACK_FOUND)
    SET(LINK_LIBRARIES  
    ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}   
    ${ARMADILLO_LIBRARIES} ${ARPACK_LIBRARIES})
    ELSE()
    SET(LINK_LIBRARIES ${ARMADILLO_LIBRARIES} ${ARPACK_LIBRARIES})
    ENDIF()
   MESSAGE("")
   MESSAGE("STEP 3 : GENERATE COMPILATION PROCESS")
   MESSAGE("")
   include_directories(
        ${ARMADILLO_INCLUDE_DIR}
   )
   if(CMAKE_COMPILER_IS_GNUCXX)
    message("adding c++11 support")
    list(APPEND CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
  endif(CMAKE_COMPILER_IS_GNUCXX)
   ########################################################
   SET(EXECUTABLE_OUTPUT_PATH ./bin)
   MESSAGE("Add test cmake")
   SET(test_cmake_SRCS
       ${CMAKE_SOURCE_DIR}/src/test_cmake.cpp

   )
   add_executable(test_cmake ${test_cmake_SRCS})
   target_link_libraries(test_cmake ${LINK_LIBRARIES})