Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Source/CursesDialog/CMakeLists.txt
5000 views
1
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2
# file LICENSE.rst or https://cmake.org/licensing for details.
3
4
add_executable(ccmake
5
ccmake.cxx
6
cmCursesBoolWidget.cxx
7
cmCursesCacheEntryComposite.cxx
8
cmCursesColor.cxx
9
cmCursesDummyWidget.cxx
10
cmCursesFilePathWidget.cxx
11
cmCursesForm.cxx
12
cmCursesLabelWidget.cxx
13
cmCursesLongMessageForm.cxx
14
cmCursesMainForm.cxx
15
cmCursesOptionsWidget.cxx
16
cmCursesPathWidget.cxx
17
cmCursesStringWidget.cxx
18
cmCursesWidget.cxx
19
)
20
target_include_directories(ccmake PRIVATE ${CURSES_INCLUDE_PATH})
21
set(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_PATH})
22
target_link_libraries(ccmake CMakeLib)
23
if(CMAKE_USE_SYSTEM_FORM)
24
find_path(CURSES_FORM_INCLUDE_DIR NAMES form.h HINTS ${CURSES_INCLUDE_PATH} ${CURSES_INCLUDE_PATH}/ncurses)
25
if(CURSES_FORM_INCLUDE_DIR)
26
target_include_directories(ccmake PRIVATE ${CURSES_FORM_INCLUDE_DIR})
27
list(APPEND CMAKE_REQUIRED_INCLUDES ${CURSES_FORM_INCLUDE_DIR})
28
endif()
29
target_link_libraries(ccmake
30
${CURSES_FORM_LIBRARY}
31
${CURSES_LIBRARY}
32
)
33
set(CMAKE_REQUIRED_LIBRARIES
34
${CURSES_FORM_LIBRARY}
35
${CURSES_LIBRARY}
36
)
37
if(CURSES_EXTRA_LIBRARY)
38
target_link_libraries(ccmake ${CURSES_EXTRA_LIBRARY})
39
list(APPEND CMAKE_REQUIRED_LIBRARIES ${CURSES_EXTRA_LIBRARY})
40
endif()
41
else()
42
target_link_libraries(ccmake cmForm)
43
get_target_property(cmFormIncludeDirs cmForm INTERFACE_INCLUDE_DIRECTORIES)
44
list(APPEND CMAKE_REQUIRED_INCLUDES ${cmFormIncludeDirs})
45
get_target_property(cmFormLibraries cmForm INTERFACE_LINK_LIBRARIES)
46
set(CMAKE_REQUIRED_LIBRARIES ${cmFormLibraries})
47
endif()
48
49
include(CheckSymbolExists)
50
check_symbol_exists(use_default_colors
51
"form.h"
52
HAVE_CURSES_USE_DEFAULT_COLORS)
53
if(HAVE_CURSES_USE_DEFAULT_COLORS)
54
set_source_files_properties(cmCursesColor.cxx
55
PROPERTIES COMPILE_DEFINITIONS HAVE_CURSES_USE_DEFAULT_COLORS)
56
endif()
57
58
if(CMake_JOB_POOL_LINK_BIN)
59
set_property(TARGET ccmake PROPERTY JOB_POOL_LINK "link-bin")
60
endif()
61
62
CMake_OPTIONAL_COMPONENT(ccmake)
63
install(TARGETS ccmake DESTINATION ${CMake_INSTALL_BIN_DIR} ${COMPONENT})
64
65