CMakeLists.txt 1020 B

12345678910111213141516171819202122232425262728293031323334353637
  1. # This file is part of the Spring engine (GPL v2 or later), see LICENSE.html
  2. OPTION(ASSIMP_HEADERCHECK "adds the target headercheck which compiles every header file, default disabled because it adds many targets" OFF)
  3. if(ASSIMP_HEADERCHECK)
  4. include_directories(
  5. ${Assimp_SOURCE_DIR}/code/BoostWorkaround
  6. )
  7. FILE(GLOB_RECURSE headers
  8. ${Assimp_SOURCE_DIR}/code/*.h
  9. )
  10. set(headerchecklibs "")
  11. FOREACH( HEADER ${headers} )
  12. #pseudo unique name
  13. string(REPLACE "${Spring_SOURCE_DIR}" "" PLIST "${HEADER}")
  14. string(REPLACE "/" ";" PLIST "${PLIST}")
  15. SET(TEST_NAME "headercheck_")
  16. foreach(name ${PLIST})
  17. SET(TEST_NAME "${TEST_NAME}_${name}")
  18. endforeach()
  19. SET(TEST_FILE ${CMAKE_CURRENT_BINARY_DIR}/src-generated/${TEST_NAME}.cpp)
  20. # create test file
  21. configure_file( headercheck.cpp.in ${TEST_FILE} )
  22. # add library
  23. add_library( ${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_FILE} )
  24. list(APPEND headerchecklibs ${TEST_NAME})
  25. ENDFOREACH()
  26. add_custom_target(headercheck DEPENDS ${headerchecklibs})
  27. endif()