FindModtran.cmake 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # 防止重复引用
  2. if(MODTRAN_ALREADY_INCLUDED)
  3. return()
  4. endif()
  5. set(MODTRAN_ALREADY_INCLUDED 1)
  6. # find_path 搜索包含某个文件的路径
  7. # 如果在某个路径下发现了该文件,该结果会被存储到该变量中;如果没有找到,存储的结果将会是<VAR>-NOTFOUND
  8. find_path(MODTRAN_DIRS
  9. NAMES
  10. Mod4v1r1.exe
  11. PATHS
  12. ${CMAKE_SOURCE_DIR}/extlib/Modran4
  13. NO_SYSTEM_ENVIRONMENT_PATH
  14. NO_CMAKE_SYSTEM_PATH
  15. )
  16. # MODTRAN版本号设置
  17. set(MODTRAN_VERSION_MAJOR 4)
  18. set(MODTRAN_VERSION_MINOR 0)
  19. set(MODTRAN_VERSION_PATCH 0)
  20. set(MODTRAN_VERSION "${MODTRAN_VERSION_MAJOR}.${MODTRAN_VERSION_MINOR}.${MODTRAN_VERSION_PATCH}")
  21. if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
  22. set(MODTRAN_EXECUTABLE "${MODTRAN_DIRS}/Mod4v1r1.exe")
  23. endif()
  24. include(FindPackageHandleStandardArgs)
  25. # 如果找到所有需要的变量,并且版本匹配,则将CFD_FOUND变量设置为TRUE
  26. find_package_handle_standard_args(MODTRAN
  27. FOUND_VAR
  28. MODTRAN_FOUND
  29. REQUIRED_VARS
  30. MODTRAN_DIRS
  31. MODTRAN_EXECUTABLE
  32. VERSION_VAR
  33. MODTRAN_VERSION
  34. )