Add checks for useful c++1y features

This commit is contained in:
Dmitry Marakasov 2014-12-25 22:16:41 +03:00
parent 76f2d746ca
commit 96c59ff7ed
5 changed files with 41 additions and 0 deletions

View File

@ -52,6 +52,19 @@ IF(SDL2PP_WITH_WERROR)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WERROR_FLAG}")
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
CONFIGURE_FILE(
SDL2pp/Config.hh.in

View File

@ -30,5 +30,7 @@
#cmakedefine SDL2PP_WITH_IMAGE
#cmakedefine SDL2PP_WITH_2_0_4
#cmakedefine SDL2PP_WITH_EXPERIMENTAL_OPTIONAL
#cmakedefine SDL2PP_WITH_DEPRECATED
#endif

11
cmake/CheckCompile.cmake Normal file
View 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)

View File

@ -0,0 +1,7 @@
[[deprecated]]
void f() {
}
int main() {
return 0;
}

View File

@ -0,0 +1,8 @@
#include <experimental/optional>
#include <string>
int main() {
std::experimental::optional<std::string> o;
return !o;
}