Lemma is an Electromagnetics API
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

SuperBuild.cmake 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. include(ExternalProject)
  2. if (eigen3_FOUND)
  3. message( STATUS "Eigen was found ${eigen_DIR}" )
  4. else()
  5. message( STATUS "Eigen WAS NOT FOUND ${eigen_DIR}" )
  6. ExternalProject_Add(EIGEN
  7. GIT_REPOSITORY "https://github.com/eigenteam/eigen-git-mirror.git"
  8. UPDATE_COMMAND ""
  9. GIT_TAG "3.3.3" #"default"
  10. PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/eigen
  11. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
  12. #CONFIGURE_COMMAND ""
  13. #BUILD_COMMAND ""
  14. )
  15. include_directories ("${CMAKE_INSTALL_PREFIX}/include/eigen3/")
  16. set (Eigen3_DIR "${CMAKE_INSTALL_PREFIX}/include/eigen3" CACHE PATH "" FORCE )
  17. #find_package (Eigen3 3.3 NO_MODULE REQUIRED)
  18. #if (eigen3_FOUND)
  19. # message( STATUS "Eigen was found!!!!!!!!!!!!!! ${eigen_DIR}" )
  20. #endif()
  21. endif()
  22. if (yaml-cpp_FOUND)
  23. message( STATUS "YAML-CPP was found ${yaml-cpp_FOUND}" )
  24. #message( STATUS "YAML-CPP PATH ${yaml-cpp_PATH}" )
  25. #message( STATUS "YAML-CPP DIR ${yaml-cpp_DIR}" )
  26. #message( STATUS "YAML-CPP INCLUDE DIR ${yaml-cpp_INCLUDE_DIR}" )
  27. #message( STATUS "YAML-CPP LIBRARIES ${YAML_CPP_LIBRARIES}" )
  28. #message( STATUS "YAML-CPP LIBRARY ${yaml-cpp_LIBRARY}" )
  29. else()
  30. message( STATUS "YAML-CPP WAS NOT FOUND" )
  31. ExternalProject_Add(YAML_CPP
  32. GIT_REPOSITORY "https://github.com/jbeder/yaml-cpp.git"
  33. GIT_TAG "yaml-cpp-0.6.1" # "master"
  34. UPDATE_COMMAND ""
  35. PATCH_COMMAND ""
  36. INSTALL_COMMAND ""
  37. PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/yaml-cpp
  38. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
  39. -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
  40. -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
  41. -DYAML_CPP_BUILD_TESTS=OFF
  42. )
  43. include_directories ("${CMAKE_INSTALL_PREFIX}/include/yaml-cpp")
  44. add_library(yaml-my-cpp SHARED IMPORTED)
  45. endif()
  46. if (LEMMA_ENABLE_TESTING)
  47. if (CXXTEST_FOUND)
  48. #message( STATUS "CXXTEST FOUND" )
  49. else()
  50. #message( STATUS "CxxTest will be built and installed along with Lemma, override if desired in GUI." )
  51. ExternalProject_Add(CxxTest
  52. GIT_REPOSITORY "https://github.com/CxxTest/cxxtest.git"
  53. GIT_TAG "master"
  54. UPDATE_COMMAND ""
  55. PATCH_COMMAND ""
  56. CONFIGURE_COMMAND ""
  57. BUILD_COMMAND ""
  58. INSTALL_COMMAND ""
  59. PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest
  60. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} /
  61. -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} /
  62. -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
  63. )
  64. # The values "CACHE PATH "" FORCE" makes the GUI show the values of the local CxxTest, but this can cause issues
  65. # with users wanting to specify their own path, its not recommended
  66. #set (CXXTEST_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest/src/CxxTest/") # CACHE PATH "" FORCE )
  67. #set (CXXTEST_PYTHON_TESTGEN_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest/src/CxxTest/bin/cxxtestgen") # CACHE PATH "" FORCE )
  68. #find_package(CxxTest REQUIRED)
  69. endif()
  70. endif()
  71. # tinyxml2, this library is used for XML IO
  72. option( LEMMA_TINYXML_SUPPORT "TinyXML library support for .xml files" OFF)
  73. if ( LEMMA_TINYXML_SUPPORT )
  74. ExternalProject_Add(TINYXML2
  75. GIT_REPOSITORY "https://github.com/leethomason/tinyxml2.git"
  76. GIT_TAG "master"
  77. UPDATE_COMMAND ""
  78. PATCH_COMMAND ""
  79. PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/tinyxml2
  80. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} /
  81. -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
  82. )
  83. add_compile_options(-DTINYXMLSUPPORT)
  84. endif()
  85. option( LEMMA_MATIO_SUPPORT "MATIO library support for MATLAB .mat files" OFF)
  86. if ( LEMMA_MATIO_SUPPORT )
  87. add_compile_options(-DHAVE_MATIO)
  88. # matio, this library is used for MATLAB file IO
  89. ExternalProject_ADD(MATIO
  90. GIT_REPOSITORY "git://git.code.sf.net/p/matio/matio"
  91. GIT_TAG "master"
  92. UPDATE_COMMAND ""
  93. PATCH_COMMAND ""
  94. PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/matio
  95. #CONFIGURE_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/external/matio/src/MATIO/autogen.sh && configure
  96. CONFIGURE_COMMAND ./autogen.sh && ./configure --prefix=${CMAKE_INSTALL_PREFIX}
  97. BUILD_IN_SOURCE 1
  98. BUILD_COMMAND ${MAKE}
  99. )
  100. endif()
  101. # vim: set tabstop=4 shiftwidth=4 expandtab: