Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
CMake
CMake
Commits
113a395e
Commit
113a395e
authored
Feb 15, 2019
by
Brad King
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'try_compile-expand-compile-defs' into release-3.14
Merge-request:
!2965
parents
dac6cf1b
cde2596a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
52 additions
and
13 deletions
+52
-13
Modules/Compiler/Cray-C.cmake
Modules/Compiler/Cray-C.cmake
+6
-6
Modules/Compiler/Cray-CXX.cmake
Modules/Compiler/Cray-CXX.cmake
+6
-6
Source/cmCoreTryCompile.cxx
Source/cmCoreTryCompile.cxx
+1
-1
Tests/TryCompile/CMakeLists.txt
Tests/TryCompile/CMakeLists.txt
+29
-0
Tests/TryCompile/check_a_b.c
Tests/TryCompile/check_a_b.c
+10
-0
No files found.
Modules/Compiler/Cray-C.cmake
View file @
113a395e
...
...
@@ -8,13 +8,13 @@ string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
string
(
APPEND CMAKE_C_FLAGS_RELEASE_INIT
" -DNDEBUG"
)
if
(
CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1
)
set
(
CMAKE_C90_STANDARD_COMPILE_OPTION
"
-h noc99,conform
"
)
set
(
CMAKE_C90_EXTENSION_COMPILE_OPTION
"
-h noc99,gnu
"
)
set
(
CMAKE_C99_STANDARD_COMPILE_OPTION
"
-h c99,conform
"
)
set
(
CMAKE_C99_EXTENSION_COMPILE_OPTION
"
-h c99,gnu
"
)
set
(
CMAKE_C90_STANDARD_COMPILE_OPTION -h noc99,conform
)
set
(
CMAKE_C90_EXTENSION_COMPILE_OPTION -h noc99,gnu
)
set
(
CMAKE_C99_STANDARD_COMPILE_OPTION -h c99,conform
)
set
(
CMAKE_C99_EXTENSION_COMPILE_OPTION -h c99,gnu
)
if
(
CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.5
)
set
(
CMAKE_C11_STANDARD_COMPILE_OPTION
"
-h std=c11,conform
"
)
set
(
CMAKE_C11_EXTENSION_COMPILE_OPTION
"
-h std=c11,gnu
"
)
set
(
CMAKE_C11_STANDARD_COMPILE_OPTION -h std=c11,conform
)
set
(
CMAKE_C11_EXTENSION_COMPILE_OPTION -h std=c11,gnu
)
endif
()
endif
()
...
...
Modules/Compiler/Cray-CXX.cmake
View file @
113a395e
...
...
@@ -8,15 +8,15 @@ string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
string
(
APPEND CMAKE_CXX_FLAGS_RELEASE_INIT
" -DNDEBUG"
)
if
(
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1
)
set
(
CMAKE_CXX98_STANDARD_COMPILE_OPTION
"
-h conform
"
)
set
(
CMAKE_CXX98_EXTENSION_COMPILE_OPTION
"
-h gnu
"
)
set
(
CMAKE_CXX98_STANDARD_COMPILE_OPTION -h conform
)
set
(
CMAKE_CXX98_EXTENSION_COMPILE_OPTION -h gnu
)
if
(
NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.4
)
set
(
CMAKE_CXX11_STANDARD_COMPILE_OPTION
"
-h std=c++11
"
)
set
(
CMAKE_CXX11_EXTENSION_COMPILE_OPTION
"
-h std=c++11,gnu
"
)
set
(
CMAKE_CXX11_STANDARD_COMPILE_OPTION -h std=c++11
)
set
(
CMAKE_CXX11_EXTENSION_COMPILE_OPTION -h std=c++11,gnu
)
endif
()
if
(
NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.6
)
set
(
CMAKE_CXX14_STANDARD_COMPILE_OPTION
"
-h std=c++14
"
)
set
(
CMAKE_CXX14_EXTENSION_COMPILE_OPTION
"
-h std=c++14,gnu
"
)
set
(
CMAKE_CXX14_STANDARD_COMPILE_OPTION -h std=c++14
)
set
(
CMAKE_CXX14_EXTENSION_COMPILE_OPTION -h std=c++14,gnu
)
endif
()
endif
()
...
...
Source/cmCoreTryCompile.cxx
View file @
113a395e
...
...
@@ -226,7 +226,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv,
}
else
if
(
doing
==
DoingCMakeFlags
)
{
cmakeFlags
.
push_back
(
argv
[
i
]);
}
else
if
(
doing
==
DoingCompileDefinitions
)
{
c
ompileDefs
.
push_back
(
argv
[
i
]
);
c
mSystemTools
::
ExpandListArgument
(
argv
[
i
],
compileDefs
);
}
else
if
(
doing
==
DoingLinkOptions
)
{
linkOptions
.
push_back
(
argv
[
i
]);
}
else
if
(
doing
==
DoingLinkLibraries
)
{
...
...
Tests/TryCompile/CMakeLists.txt
View file @
113a395e
...
...
@@ -165,6 +165,35 @@ try_compile(TEST_INNER
OUTPUT_VARIABLE output
)
TEST_ASSERT
(
TEST_INNER
"try_compile project mode failed:
\n
${
output
}
"
)
try_compile
(
COMPILE_DEFINITIONS_LIST_EXPANDED
${
TryCompile_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeTmp
${
TryCompile_SOURCE_DIR
}
/check_a_b.c
OUTPUT_VARIABLE output
COMPILE_DEFINITIONS
"-DDEF_A;-DDEF_B"
)
if
(
COMPILE_DEFINITIONS_LIST_EXPANDED
)
message
(
STATUS
"COMPILE_DEFINITIONS list expanded correctly"
)
else
()
string
(
REPLACE
"
\n
"
"
\n
"
output
"
${
output
}
"
)
message
(
SEND_ERROR
"COMPILE_DEFINITIONS list did not expand correctly
\n
${
output
}
"
)
endif
()
try_compile
(
SHOULD_FAIL_DUE_TO_BAD_SOURCE
${
TryCompile_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/CMakeTmp
${
TryCompile_SOURCE_DIR
}
/pass.c
OUTPUT_VARIABLE output
COMPILE_DEFINITIONS
"bad#source.c"
)
if
(
SHOULD_FAIL_DUE_TO_BAD_SOURCE AND NOT CMAKE_GENERATOR MATCHES
"Watcom WMake|NMake Makefiles"
)
string
(
REPLACE
"
\n
"
"
\n
"
output
"
${
output
}
"
)
message
(
SEND_ERROR
"try_compile with bad#source.c did not fail:
\n
${
output
}
"
)
elseif
(
NOT output MATCHES
[[(bad#source\.c|bad\\)]]
)
string
(
REPLACE
"
\n
"
"
\n
"
output
"
${
output
}
"
)
message
(
SEND_ERROR
"try_compile with bad#source.c failed without mentioning bad source:
\n
${
output
}
"
)
else
()
message
(
STATUS
"try_compile with bad#source.c correctly failed"
)
endif
()
add_executable
(
TryCompile pass.c
)
######################################
...
...
Tests/TryCompile/check_a_b.c
0 → 100644
View file @
113a395e
#ifndef DEF_A
# error DEF_A not defined
#endif
#ifndef DEF_B
# error DEF_B not defined
#endif
int
main
()
{
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment