Merge topic 'WriteCompilerDetectionHeader-valid-prefix'

b47c125f WCDH: Ensure that the prefix argument to the macro is valid.
This commit is contained in:
Brad King 2014-07-07 08:54:33 -04:00 committed by CMake Topic Stage
commit c9feebb9e8
8 changed files with 42 additions and 0 deletions

View File

@ -235,6 +235,14 @@ function(write_compiler_detection_header
message(FATAL_ERROR "Unparsed arguments: ${_WCD_UNPARSED_ARGUMENTS}")
endif()
if (prefix_arg STREQUAL "")
message(FATAL_ERROR "A prefix must be specified")
endif()
string(MAKE_C_IDENTIFIER ${prefix_arg} cleaned_prefix)
if (NOT prefix_arg STREQUAL cleaned_prefix)
message(FATAL_ERROR "The prefix must be a valid C identifier.")
endif()
if(NOT _WCD_VERSION)
set(_WCD_VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION})
endif()

View File

@ -0,0 +1,5 @@
CMake Error at .*/Modules/WriteCompilerDetectionHeader.cmake:[0-9]+ \(message\):
A prefix must be specified
Call Stack \(most recent call first\):
EmptyPrefix.cmake:[0-9]+ \(write_compiler_detection_header\)
CMakeLists.txt:[0-9]+ \(include\)

View File

@ -0,0 +1,10 @@
include(WriteCompilerDetectionHeader)
write_compiler_detection_header(
FILE "${CMAKE_CURRENT_BINARY_DIR}/somefile"
PREFIX ""
VERSION 3.1
COMPILERS GNU
FEATURES cxx_final
)

View File

@ -0,0 +1,5 @@
CMake Error at .*/Modules/WriteCompilerDetectionHeader.cmake:[0-9]+ \(message\):
The prefix must be a valid C identifier.
Call Stack \(most recent call first\):
InvalidPrefix.cmake:[0-9]+ \(write_compiler_detection_header\)
CMakeLists.txt:[0-9]+ \(include\)

View File

@ -0,0 +1,10 @@
include(WriteCompilerDetectionHeader)
write_compiler_detection_header(
FILE "${CMAKE_CURRENT_BINARY_DIR}/somefile"
PREFIX "0compile"
VERSION 3.1
COMPILERS GNU
FEATURES cxx_final
)

View File

@ -10,3 +10,5 @@ run_cmake(OldVersion)
run_cmake(InvalidCompiler)
run_cmake(InvalidFeature)
run_cmake(InvalidCXXFeature)
run_cmake(EmptyPrefix)
run_cmake(InvalidPrefix)