12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- cmake_minimum_required (VERSION 2.6)
- project(LoadCommand)
- # set a definition
- set (TEST_COMMAND_TEST1 1)
- include (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
- CHECK_TYPE_SIZE(char SIZEOF_CHAR)
- CHECK_TYPE_SIZE(short SIZEOF_SHORT)
- include (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
- CHECK_INCLUDE_FILE("sys/prctl.h" HAVE_SYS_PRCTL_H)
- include (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
- CHECK_LIBRARY_EXISTS(m ceil "" HAVE_LIBM)
- configure_file(${LoadCommand_SOURCE_DIR}/LoadedCommand.h.in
- ${LoadCommand_BINARY_DIR}/LoadedCommand.h)
- include_directories(${LoadCommand_BINARY_DIR})
- # try to compile the command
- # make sure it is not already loaded
- if(COMMAND CMAKE_TEST_COMMAND)
- else()
- try_compile(COMPILE_OK
- ${LoadCommand_BINARY_DIR}/CMakeCommands
- ${LoadCommand_SOURCE_DIR}/CMakeCommands
- CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
- OUTPUT_VARIABLE OUTPUT )
- endif()
- message("Output from try compile: ${OUTPUT}")
- # if the compile was OK, try loading the command
- if (COMPILE_OK)
- load_command(CMAKE_TEST_COMMAND
- ${LoadCommand_BINARY_DIR}/CMakeCommands
- ${LoadCommand_BINARY_DIR}/CMakeCommands/Debug
- ${LoadCommand_BINARY_DIR}/CMakeCommands/Development
- )
- # if the command loaded, execute the command
- if (COMMAND CMAKE_TEST_COMMAND)
- CMAKE_TEST_COMMAND(
- "${LoadCommand_SOURCE_DIR}/LoadedCommand.cxx.in"
- "${LoadCommand_BINARY_DIR}/LoadedCommand2.cxx.in"
- "${LoadCommand_BINARY_DIR}/LoadedCommand3.cxx"
- )
- endif ()
- else ()
- message("failed to compile CMAKE_LOADED_COMMANDS")
- endif ()
- # TEST_DEF is set by the loaded command cmTestCommand.c
- if (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
- add_definitions(-DCMAKE_IS_FUN)
- endif ()
|