CMakeLists.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. PROJECT(LoadedCommand)
  2. # set a definition
  3. SET (TEST_COMMAND_TEST1 1)
  4. INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
  5. CHECK_TYPE_SIZE(char SIZEOF_CHAR)
  6. INCLUDE (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
  7. CHECK_FUNCTION_EXISTS(printf HAVE_PRINTF)
  8. CHECK_FUNCTION_EXISTS(vsblabla HAVE_VSBLABLA)
  9. INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
  10. CHECK_INCLUDE_FILE("sys/prctl.h" HAVE_SYS_PRCTL_H)
  11. INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
  12. CHECK_LIBRARY_EXISTS(m ceil "" HAVE_LIBM)
  13. CONFIGURE_FILE(${LoadedCommand_SOURCE_DIR}/LoadedCommand.h.in
  14. ${LoadedCommand_BINARY_DIR}/LoadedCommand.h)
  15. INCLUDE_DIRECTORIES(${LoadedCommand_BINARY_DIR})
  16. # try to compile the command
  17. # make sure it is not already loaded
  18. IF(COMMAND CMAKE_TEST_COMMAND)
  19. ELSE(COMMAND CMAKE_TEST_COMMAND)
  20. TRY_COMPILE(COMPILE_OK
  21. ${LoadedCommand_BINARY_DIR}/CMakeCommands
  22. ${LoadedCommand_SOURCE_DIR}/CMakeCommands
  23. CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
  24. OUTPUT_VARIABLE OUTPUT )
  25. ENDIF(COMMAND CMAKE_TEST_COMMAND)
  26. MESSAGE("Output from try compile: ${OUTPUT}")
  27. # if the compile was OK, try loading the command
  28. IF (COMPILE_OK)
  29. LOAD_COMMAND(CMAKE_TEST_COMMAND
  30. ${LoadedCommand_BINARY_DIR}/CMakeCommands
  31. ${LoadedCommand_BINARY_DIR}/CMakeCommands/Debug
  32. )
  33. # if the command loaded, execute the command
  34. IF (COMMAND CMAKE_TEST_COMMAND)
  35. CMAKE_TEST_COMMAND()
  36. ENDIF (COMMAND CMAKE_TEST_COMMAND)
  37. ELSE (COMPILE_OK)
  38. MESSAGE("failed to compile CMAKE_LOADED_COMMANDS")
  39. ENDIF (COMPILE_OK)
  40. IF (TEST_DEF)
  41. ADD_DEFINITIONS(-DCMAKE_IS_FUN)
  42. ENDIF (TEST_DEF)
  43. ADD_EXECUTABLE (LoadedCommand LoadedCommand.cxx)