CMakeLists.txt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. PROJECT(${KWSYS_NAMESPACE})
  2. INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIStreamHeaders.cmake)
  3. INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake)
  4. INCLUDE(${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake)
  5. INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake)
  6. CHECK_INCLUDE_FILE_CXX("sstream" CMAKE_HAS_ANSI_STRING_STREAM)
  7. SET(KWSYS_NO_STD_NAMESPACE ${CMAKE_NO_STD_NAMESPACE})
  8. SET(KWSYS_NO_ANSI_STREAM_HEADERS ${CMAKE_NO_ANSI_STREAM_HEADERS})
  9. SET(KWSYS_NO_ANSI_STRING_STREAM ${CMAKE_NO_ANSI_STRING_STREAM})
  10. SET(KWSYS_NO_ANSI_FOR_SCOPE ${CMAKE_NO_ANSI_FOR_SCOPE})
  11. SET(CLASSES Directory RegularExpression SystemTools)
  12. SET(HEADERS Configure StandardIncludes)
  13. SET(SRCS)
  14. SET(KWSYS_INCLUDES)
  15. FOREACH(c ${CLASSES})
  16. SET(SRCS ${SRCS} ${c}.cxx)
  17. CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${c}.hxx.in
  18. ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${c}.hxx
  19. @ONLY IMMEDIATE)
  20. SET(KWSYS_INCLUDES ${KWSYS_INCLUDES}
  21. ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${c}.hxx)
  22. ENDFOREACH(c)
  23. FOREACH(h ${HEADERS})
  24. CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${h}.hxx.in
  25. ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.hxx
  26. @ONLY IMMEDIATE)
  27. SET(KWSYS_INCLUDES ${KWSYS_INCLUDES}
  28. ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.hxx)
  29. ENDFOREACH(h)
  30. ADD_LIBRARY(${KWSYS_NAMESPACE} ${SRCS})
  31. ADD_DEFINITIONS("-DKWSYS_NAMESPACE=${KWSYS_NAMESPACE}")
  32. INCLUDE_DIRECTORIES(BEFORE ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE})
  33. IF(KWSYS_LIBRARY_INSTALL_DIR)
  34. INSTALL_TARGETS(${KWSYS_LIBRARY_INSTALL_DIR} ${KWSYS_NAMESPACE})
  35. ENDIF(KWSYS_LIBRARY_INSTALL_DIR)
  36. IF(KWSYS_INCLUDE_INSTALL_DIR)
  37. INSTALL_FILES(${KWSYS_INCLUDE_INSTALL_DIR}/${KWSYS_NAMESPACE}
  38. FILES ${KWSYS_INCLUDES})
  39. ENDIF(KWSYS_INCLUDE_INSTALL_DIR)