| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| # file Copyright.txt or https://cmake.org/licensing for details. |
| |
| add_executable(ccmake |
| ccmake.cxx |
| cmCursesBoolWidget.cxx |
| cmCursesCacheEntryComposite.cxx |
| cmCursesColor.cxx |
| cmCursesDummyWidget.cxx |
| cmCursesFilePathWidget.cxx |
| cmCursesForm.cxx |
| cmCursesLabelWidget.cxx |
| cmCursesLongMessageForm.cxx |
| cmCursesMainForm.cxx |
| cmCursesOptionsWidget.cxx |
| cmCursesPathWidget.cxx |
| cmCursesStringWidget.cxx |
| cmCursesWidget.cxx |
| ) |
| target_include_directories(ccmake PRIVATE ${CURSES_INCLUDE_PATH}) |
| set(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_PATH}) |
| target_link_libraries(ccmake CMakeLib) |
| if(CMAKE_USE_SYSTEM_FORM) |
| find_path(CURSES_FORM_INCLUDE_DIR NAMES form.h HINTS ${CURSES_INCLUDE_PATH} ${CURSES_INCLUDE_PATH}/ncurses) |
| if(CURSES_FORM_INCLUDE_DIR) |
| target_include_directories(ccmake PRIVATE ${CURSES_FORM_INCLUDE_DIR}) |
| list(APPEND CMAKE_REQUIRED_INCLUDES ${CURSES_FORM_INCLUDE_DIR}) |
| endif() |
| target_link_libraries(ccmake |
| ${CURSES_FORM_LIBRARY} |
| ${CURSES_LIBRARY} |
| ) |
| set(CMAKE_REQUIRED_LIBRARIES |
| ${CURSES_FORM_LIBRARY} |
| ${CURSES_LIBRARY} |
| ) |
| if(CURSES_EXTRA_LIBRARY) |
| target_link_libraries(ccmake ${CURSES_EXTRA_LIBRARY}) |
| list(APPEND CMAKE_REQUIRED_LIBRARIES ${CURSES_EXTRA_LIBRARY}) |
| endif() |
| else() |
| target_link_libraries(ccmake cmForm) |
| get_target_property(cmFormIncludeDirs cmForm INTERFACE_INCLUDE_DIRECTORIES) |
| list(APPEND CMAKE_REQUIRED_INCLUDES ${cmFormIncludeDirs}) |
| get_target_property(cmFormLibraries cmForm INTERFACE_LINK_LIBRARIES) |
| set(CMAKE_REQUIRED_LIBRARIES ${cmFormLibraries}) |
| endif() |
| |
| include(CheckSymbolExists) |
| check_symbol_exists(use_default_colors |
| "form.h" |
| HAVE_CURSES_USE_DEFAULT_COLORS) |
| if(HAVE_CURSES_USE_DEFAULT_COLORS) |
| set_source_files_properties(cmCursesColor.cxx |
| PROPERTIES COMPILE_DEFINITIONS HAVE_CURSES_USE_DEFAULT_COLORS) |
| endif() |
| |
| if(CMake_JOB_POOL_LINK_BIN) |
| set_property(TARGET ccmake PROPERTY JOB_POOL_LINK "link-bin") |
| endif() |
| |
| CMake_OPTIONAL_COMPONENT(ccmake) |
| install(TARGETS ccmake DESTINATION ${CMAKE_BIN_DIR} ${COMPONENT}) |