mirror of
https://github.com/libSDL2pp/libSDL2pp.git
synced 2025-08-04 03:15:59 -04:00
Add checks for useful c++1y features
This commit is contained in:
parent
76f2d746ca
commit
96c59ff7ed
@ -52,6 +52,19 @@ IF(SDL2PP_WITH_WERROR)
|
|||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WERROR_FLAG}")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WERROR_FLAG}")
|
||||||
ENDIF(SDL2PP_WITH_WERROR)
|
ENDIF(SDL2PP_WITH_WERROR)
|
||||||
|
|
||||||
|
# platform checks
|
||||||
|
INCLUDE(CheckCompile)
|
||||||
|
CHECK_COMPILE(
|
||||||
|
SDL2PP_WITH_EXPERIMENTAL_OPTIONAL
|
||||||
|
${PROJECT_SOURCE_DIR}/cmake/std_experimental_optional_test.cc
|
||||||
|
"Checking for experimental/optional header"
|
||||||
|
)
|
||||||
|
CHECK_COMPILE(
|
||||||
|
SDL2PP_WITH_DEPRECATED
|
||||||
|
${PROJECT_SOURCE_DIR}/cmake/attribute_deprecated_test.cc
|
||||||
|
"Checking for [[deprecated]] attribute"
|
||||||
|
)
|
||||||
|
|
||||||
# config.h
|
# config.h
|
||||||
CONFIGURE_FILE(
|
CONFIGURE_FILE(
|
||||||
SDL2pp/Config.hh.in
|
SDL2pp/Config.hh.in
|
||||||
|
@ -30,5 +30,7 @@
|
|||||||
|
|
||||||
#cmakedefine SDL2PP_WITH_IMAGE
|
#cmakedefine SDL2PP_WITH_IMAGE
|
||||||
#cmakedefine SDL2PP_WITH_2_0_4
|
#cmakedefine SDL2PP_WITH_2_0_4
|
||||||
|
#cmakedefine SDL2PP_WITH_EXPERIMENTAL_OPTIONAL
|
||||||
|
#cmakedefine SDL2PP_WITH_DEPRECATED
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
11
cmake/CheckCompile.cmake
Normal file
11
cmake/CheckCompile.cmake
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
MACRO(CHECK_COMPILE RESULT_VAR SOURCE_FILE DESCRIPTION)
|
||||||
|
SET(SAVED_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WERROR_FLAG}")
|
||||||
|
TRY_COMPILE(${RESULT_VAR} ${CMAKE_BINARY_DIR} ${SOURCE_FILE})
|
||||||
|
IF(${RESULT_VAR})
|
||||||
|
MESSAGE(STATUS "${DESCRIPTION}: yes")
|
||||||
|
ELSE(${RESULT_VAR})
|
||||||
|
MESSAGE(STATUS "${DESCRIPTION}: no")
|
||||||
|
ENDIF(${RESULT_VAR})
|
||||||
|
SET(CMAKE_CXX_FLAGS "${SAVED_CXX_FLAGS}")
|
||||||
|
ENDMACRO(CHECK_COMPILE)
|
7
cmake/attribute_deprecated_test.cc
Normal file
7
cmake/attribute_deprecated_test.cc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[[deprecated]]
|
||||||
|
void f() {
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
return 0;
|
||||||
|
}
|
8
cmake/std_experimental_optional_test.cc
Normal file
8
cmake/std_experimental_optional_test.cc
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include <experimental/optional>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
std::experimental::optional<std::string> o;
|
||||||
|
|
||||||
|
return !o;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user