CMakeLists.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. PROJECT(StringFileTest)
  2. INCLUDE_DIRECTORIES(${StringFileTest_BINARY_DIR})
  3. FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in" infile)
  4. STRING(REGEX MATCH "[cC][mM][aA][kK][eE]" rmvar "CMake is great")
  5. STRING(REGEX MATCHALL "[cC][mM][aA][kK][eE]" rmallvar "CMake is better than cmake or CMake")
  6. STRING(REGEX REPLACE "[Aa][uU][tT][oO]([cC][oO][nN][fF]|[mM][aA][kK][eE])"
  7. "CMake" rrepvar "People should use Autoconf and Automake")
  8. STRING(COMPARE EQUAL "CMake" "Autoconf" nceqvar)
  9. STRING(COMPARE EQUAL "CMake" "CMake" ceqvar)
  10. STRING(COMPARE NOTEQUAL "CMake" "Autoconf" cneqvar)
  11. STRING(COMPARE NOTEQUAL "CMake" "CMake" ncneqvar)
  12. STRING(COMPARE LESS "before" "after" nclvar)
  13. STRING(COMPARE LESS "max" "min" clvar)
  14. STRING(COMPARE GREATER "before" "after" cgvar)
  15. STRING(COMPARE GREATER "max" "min" ncgvar)
  16. STRING(ASCII 67 109 97 107 101 savar)
  17. STRING(TOUPPER "CMake" tuvar)
  18. STRING(TOLOWER "CMake" tlvar)
  19. FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Includes")
  20. SET(file "${CMAKE_CURRENT_BINARY_DIR}/Includes/Values.h")
  21. FILE(WRITE "${file}" "/* this file is generated */\n")
  22. FOREACH(var
  23. rmvar
  24. rmallvar
  25. rrepvar
  26. nceqvar
  27. ceqvar
  28. cneqvar
  29. ncneqvar
  30. nclvar
  31. clvar
  32. cgvar
  33. ncgvar
  34. savar
  35. tuvar
  36. tlvar)
  37. FILE(APPEND "${file}" "#define ${var} \"${${var}}\"")
  38. ENDFOREACH(var)
  39. STRING(REGEX REPLACE "includefile" "${file}" outfile "${infile}")
  40. FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/OutputFile.h" "${outfile}")
  41. ADD_EXECUTABLE(StringFileTest StringFile.cxx)