Lemma is an Electromagnetics API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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: