TZIVI-254: IVI needs a newer version of cmake
[profile/ivi/cmake.git] / Tests / LoadCommand / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.6)
2 PROJECT(LoadCommand)
3
4 # set a definition
5 SET (TEST_COMMAND_TEST1 1)
6
7 INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
8 CHECK_TYPE_SIZE(char  SIZEOF_CHAR)
9 CHECK_TYPE_SIZE(short  SIZEOF_SHORT)
10
11 INCLUDE (CheckFunctionExists)
12 CHECK_FUNCTION_EXISTS(printf        HAVE_PRINTF)
13 CHECK_FUNCTION_EXISTS(vsblabla      HAVE_VSBLABLA)
14
15 CONFIGURE_FILE(${LoadCommand_SOURCE_DIR}/LoadedCommand.h.in
16                ${LoadCommand_BINARY_DIR}/LoadedCommand.h)
17
18 INCLUDE_DIRECTORIES(${LoadCommand_BINARY_DIR})
19
20 # try to compile the command
21 # make sure it is not already loaded
22 IF(COMMAND CMAKE_TEST_COMMAND)
23 ELSE(COMMAND CMAKE_TEST_COMMAND)
24   TRY_COMPILE(COMPILE_OK 
25     ${LoadCommand_BINARY_DIR}/CMakeCommands 
26     ${LoadCommand_SOURCE_DIR}/CMakeCommands 
27     CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
28     OUTPUT_VARIABLE OUTPUT )
29 # do another TRY_COMPILE to get around make
30 # problem on hp
31   TRY_COMPILE(COMPILE_OK 
32     ${LoadCommand_BINARY_DIR}/CMakeCommands 
33     ${LoadCommand_SOURCE_DIR}/CMakeCommands 
34     CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
35     OUTPUT_VARIABLE OUTPUT )
36 ENDIF(COMMAND CMAKE_TEST_COMMAND)
37
38 MESSAGE("Output from try compile: ${OUTPUT}")
39
40 # if the compile was OK, try loading the command
41 IF (COMPILE_OK)
42   LOAD_COMMAND(CMAKE_TEST_COMMAND 
43     ${LoadCommand_BINARY_DIR}/CMakeCommands 
44     ${LoadCommand_BINARY_DIR}/CMakeCommands/Debug
45     ${LoadCommand_BINARY_DIR}/CMakeCommands/Development
46     )
47   # if the command loaded, execute the command
48   IF (COMMAND CMAKE_TEST_COMMAND)
49     CMAKE_TEST_COMMAND(
50       "${LoadCommand_SOURCE_DIR}/LoadedCommand.cxx.in"
51       "${LoadCommand_BINARY_DIR}/LoadedCommand2.cxx.in"
52       "${LoadCommand_BINARY_DIR}/LoadedCommand3.cxx"
53       )
54   ENDIF (COMMAND CMAKE_TEST_COMMAND)
55 ELSE (COMPILE_OK)
56   MESSAGE("failed to compile CMAKE_LOADED_COMMANDS")
57 ENDIF (COMPILE_OK)
58
59 # TEST_DEF is set by the loaded command cmTestCommand.c
60 IF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
61   ADD_DEFINITIONS(-DCMAKE_IS_FUN)
62 ENDIF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
63