add_compile_options( -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -Wno-format-security -DKBUILD_NO_NLS ) # TODO: fix these warnings add_compile_options( -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast ) add_definitions( -DKERNEL_VERSION=0 -DCURSES_LOC= -DNCURSES_WIDECHAR=1 -DLOCALE -DKBUILD_NO_NL ) if(MINGW) get_filename_component(MINGW_BIN_DIR ${CMAKE_C_COMPILER} DIRECTORY) set(CMAKE_INCLUDE_PATH ${MINGW_BIN_DIR}/../include) set(CMAKE_LIBRARY_PATH ${MINGW_BIN_DIR}/../lib) endif() list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) find_package(Curses REQUIRED) find_package(Regex REQUIRED) include_directories( ${CURSES_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) if(CURSES_HAVE_NCURSES_CURSES_H) include_directories(${CURSES_INCLUDE_DIRS}/ncurses) endif() configure_file(zconf.tab.c_shipped zconf.tab.c @ONLY) configure_file(zconf.lex.c_shipped zconf.lex.c @ONLY) configure_file(zconf.hash.c_shipped zconf.hash.c @ONLY) add_executable(conf conf.c zconf.tab.c ) target_link_libraries(conf ${Regex_LIBRARIES}) add_executable(mconf mconf.c zconf.tab.c lxdialog/checklist.c lxdialog/inputbox.c lxdialog/menubox.c lxdialog/textbox.c lxdialog/util.c lxdialog/yesno.c ) target_link_libraries(mconf ${CURSES_LIBRARIES} ${Regex_LIBRARIES}) # Build a GTK-based frontend to Kconfig if the necessary dependencies # are already installed. find_package (PkgConfig) if(PkgConfig_FOUND) pkg_check_modules (GTK2 gtk+-2.0 libglade-2.0) if(GTK2_FOUND) message(STATUS "Found GTK+-2.0 and libglade-2.0, will build gconf") add_executable(gconf gconf.c zconf.tab.c ) target_include_directories( gconf PRIVATE ${GTK2_INCLUDE_DIRS}) target_link_libraries( gconf PRIVATE ${GTK2_LIBRARY_DIRS}) target_compile_options( gconf PRIVATE ${GTK2_CFLAGS_OTHER}) target_link_libraries( gconf PRIVATE ${GTK2_LIBRARIES}) target_link_libraries( gconf PRIVATE -Wl,--export-dynamic) file(COPY gconf.glade DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) endif() endif() if(NOT GTK2_FOUND) message(STATUS "Skipped building gconf since GTK dependencies were not met.") endif() # Build a QT-based frontend to Kconfig if the necessary dependencies # are already installed. # FIXME: Support other QT versions find_package(Qt4 COMPONENTS QtGui QtNetwork QtSql QtCore Qt3Support) if(Qt4_FOUND) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) add_executable(qconf qconf.cc zconf.tab.c ) target_compile_options(qconf PRIVATE -Wfatal-errors) target_link_libraries(qconf Qt4::QtGui Qt4::QtNetwork Qt4::QtSql Qt4::QtCore Qt4::Qt3Support ) else() message(STATUS "Skipped building qconf since QT dependencies were not found.") endif()