FreeCAD

Форк
0
/
ConfigureChecks.cmake 
59 строк · 1.6 Кб
1

2
include(CheckIncludeFile)
3
include(CheckIncludeFiles)
4
include(CheckSymbolExists)
5
include(CheckFunctionExists)
6
include(CheckLibraryExists)
7
include(CheckTypeSize)
8
include(CheckCSourceCompiles)
9
include(CheckIncludeFileCXX)
10
include(CheckCXXSourceCompiles)
11

12
check_include_file(GL/gl.h HAVE_GL_GL_H)
13

14
# i/o streams
15
check_include_file_cxx(istream HAVE_ISTREAM)
16
check_include_file_cxx(ostream HAVE_OSTREAM)
17
check_include_file_cxx(fstream HAVE_FSTREAM)
18
check_include_file_cxx(sstream HAVE_SSTREAM)
19
check_include_file_cxx(ios HAVE_IOS)
20
check_include_file_cxx(iostream HAVE_IOSTREAM)
21
check_include_file_cxx(iomanip HAVE_IOMANIP)
22

23
include(TestForANSIStreamHeaders)
24
IF(NOT CMAKE_NO_ANSI_STREAM_HEADERS)
25
	SET(HAVE_STD_IOSTREAM 1)
26
	SET(USE_STD_IOSTREAM 1)
27
ENDIF(NOT CMAKE_NO_ANSI_STREAM_HEADERS)
28

29
include(TestForSTDNamespace)
30
IF(NOT CMAKE_NO_ANSI_STRING_STREAM)
31
	SET(HAVE_NAMESPACES 1)
32
ENDIF(NOT CMAKE_NO_ANSI_STRING_STREAM)
33

34
SET(HAVE_QGLFORMAT_EQ_OP 1)
35
SET(HAVE_QGLFORMAT_SETOVERLAY 1)
36
SET(HAVE_QGLWIDGET_SETAUTOBUFFERSWAP 1)
37
SET(HAVE_QT_KEYPAD_DEFINE 1)
38
SET(HAVE_QWIDGET_SHOWFULLSCREEN 1)
39

40

41
file(WRITE ${CMAKE_BINARY_DIR}/backtrace.cpp
42
         "#include <cstddef>\n"
43
         "#include <execinfo.h>\n\n"
44
         "int main() {\n"
45
         "    void *callstack[128];\n"
46
         "    size_t nMaxFrames = sizeof(callstack) / sizeof(callstack[0]);\n"
47
         "    size_t nFrames = backtrace(callstack, nMaxFrames);\n"
48
         "    char **symbols = backtrace_symbols(callstack, nFrames);\n"
49
         "    return 0;\n"
50
         "}"
51
)
52

53
try_compile(
54
  RESULT_VAR
55
    ${CMAKE_BINARY_DIR}
56
  SOURCES
57
    ${CMAKE_BINARY_DIR}/backtrace.cpp
58
)
59

60
SET(HAVE_BACKTRACE_SYMBOLS ${RESULT_VAR})
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.