56 lines
1.6 KiB
CMake
56 lines
1.6 KiB
CMake
PROJECT(LoadedCommand)
|
|
|
|
# set a definition
|
|
SET (TEST_COMMAND_TEST1 1)
|
|
|
|
INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
|
|
CHECK_TYPE_SIZE(char SIZEOF_CHAR)
|
|
|
|
INCLUDE (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
|
|
CHECK_FUNCTION_EXISTS(printf HAVE_PRINTF)
|
|
CHECK_FUNCTION_EXISTS(vsblabla HAVE_VSBLABLA)
|
|
|
|
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(${LoadedCommand_SOURCE_DIR}/LoadedCommand.h.in
|
|
${LoadedCommand_BINARY_DIR}/LoadedCommand.h)
|
|
|
|
INCLUDE_DIRECTORIES(${LoadedCommand_BINARY_DIR})
|
|
|
|
# try to compile the command
|
|
# make sure it is not already loaded
|
|
IF(COMMAND CMAKE_TEST_COMMAND)
|
|
ELSE(COMMAND CMAKE_TEST_COMMAND)
|
|
TRY_COMPILE(COMPILE_OK
|
|
${LoadedCommand_BINARY_DIR}/CMakeCommands
|
|
${LoadedCommand_SOURCE_DIR}/CMakeCommands
|
|
CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
|
|
OUTPUT_VARIABLE OUTPUT )
|
|
ENDIF(COMMAND CMAKE_TEST_COMMAND)
|
|
|
|
MESSAGE("Output from try compile: ${OUTPUT}")
|
|
|
|
# if the compile was OK, try loading the command
|
|
IF (COMPILE_OK)
|
|
LOAD_COMMAND(CMAKE_TEST_COMMAND
|
|
${LoadedCommand_BINARY_DIR}/CMakeCommands
|
|
${LoadedCommand_BINARY_DIR}/CMakeCommands/Debug
|
|
)
|
|
# if the command loaded, execute the command
|
|
IF (COMMAND CMAKE_TEST_COMMAND)
|
|
CMAKE_TEST_COMMAND()
|
|
ENDIF (COMMAND CMAKE_TEST_COMMAND)
|
|
ELSE (COMPILE_OK)
|
|
MESSAGE("failed to compile CMAKE_LOADED_COMMANDS")
|
|
ENDIF (COMPILE_OK)
|
|
|
|
IF (TEST_DEF)
|
|
ADD_DEFINITIONS(-DCMAKE_IS_FUN)
|
|
ENDIF (TEST_DEF)
|
|
|
|
ADD_EXECUTABLE (LoadedCommand LoadedCommand.cxx)
|