CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. PROJECT(LoadedCommand)
  2. # set a definition
  3. SET (TEST_COMMAND_TEST1 1)
  4. INCLUDE (${CMAKE_ROOT}/Modules/CheckSizeOf.cmake)
  5. CHECK_TYPE_SIZE(char SIZEOF_CHAR)
  6. CHECK_TYPE_SIZE(short SIZEOF_SHORT)
  7. CHECK_TYPE_SIZE(int SIZEOF_INT)
  8. CHECK_TYPE_SIZE(long SIZEOF_LONG)
  9. CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG)
  10. CHECK_TYPE_SIZE(__int64 SIZEOF___INT64)
  11. INCLUDE (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
  12. CHECK_FUNCTION_EXISTS(vsprintf HAVE_VSPRINTF)
  13. CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF)
  14. CHECK_FUNCTION_EXISTS(vsblabla HAVE_VSBLABLA)
  15. CHECK_FUNCTION_EXISTS(gethostbyname HAVE_GETHOSTBYNAME)
  16. CHECK_FUNCTION_EXISTS(connect HAVE_CONNECT)
  17. CHECK_FUNCTION_EXISTS(remove HAVE_REMOVE)
  18. CHECK_FUNCTION_EXISTS(shmat HAVE_SHMAT)
  19. INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
  20. CHECK_INCLUDE_FILE("sys/prctl.h" HAVE_SYS_PRCTL_H)
  21. CHECK_INCLUDE_FILE("sys/prafasdfctl.h" HAVE_SYS_PRAFASDFCTL_H)
  22. INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
  23. CHECK_LIBRARY_EXISTS(m ceil "" HAVE_LIBM)
  24. CONFIGURE_FILE(${LoadedCommand_SOURCE_DIR}/LoadedCommand.h.in
  25. ${LoadedCommand_BINARY_DIR}/LoadedCommand.h)
  26. INCLUDE_DIRECTORIES(${LoadedCommand_BINARY_DIR})
  27. # try to compile the command
  28. TRY_COMPILE(COMPILE_OK
  29. ${LoadedCommand_BINARY_DIR}/CMakeCommands
  30. ${LoadedCommand_SOURCE_DIR}/CMakeCommands
  31. CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO)
  32. # if the compile was OK, try loading the command
  33. IF (COMPILE_OK)
  34. LOAD_COMMAND(CMAKE_TEST_COMMAND
  35. ${LoadedCommand_BINARY_DIR}/CMakeCommands
  36. ${LoadedCommand_BINARY_DIR}/CMakeCommands/Debug
  37. )
  38. # if the command loaded, execute the command
  39. IF (COMMAND CMAKE_TEST_COMMAND)
  40. CMAKE_TEST_COMMAND()
  41. ENDIF (COMMAND CMAKE_TEST_COMMAND)
  42. ELSE (COMPILE_OK)
  43. MESSAGE("failed to compile CMAKE_LOADED_COMMANDS")
  44. ENDIF (COMPILE_OK)
  45. IF (TEST_DEF)
  46. ADD_DEFINITIONS(-DCMAKE_IS_FUN)
  47. ENDIF (TEST_DEF)
  48. ADD_EXECUTABLE (LoadedCommand LoadedCommand.cxx)