9db3116226
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
70 lines
2.1 KiB
CMake
70 lines
2.1 KiB
CMake
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 (CheckFunctionExists)
|
|
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(${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 )
|
|
# do another TRY_COMPILE to get around make
|
|
# problem on hp
|
|
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 ()
|
|
|