This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
quick-text-bar/CMakeLists.txt

69 lines
2.0 KiB
CMake

# --- INTERNAL STUFF ---
cmake_minimum_required(VERSION 3.1.0)
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config.h")
configure_file(config.h.in "${CMAKE_CURRENT_SOURCE_DIR}/config.h")
endif()
configure_file(quick-text-bar.1.in quick-text-bar.1)
include(config.cmake.default)
include(config.cmake OPTIONAL)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_C_STANDARD 99)
set(THREADS_PREFER_PTHREAD_FLAG ON)
include(GNUInstallDirs)
project(quick-text-bar)
if(EXTRA_FLAGS)
list(JOIN EXTRA_FLAGS " " EXTRA_FLAGS_STRING)
message("Building with extra flags: ${EXTRA_FLAGS_STRING}")
endif()
find_package(Threads REQUIRED)
find_package(PkgConfig REQUIRED)
if(EXTRA_PACKAGES)
pkg_check_modules(USER REQUIRED ${EXTRA_PACKAGES})
include_directories(${USER_INCLUDE_DIRS})
link_directories(${USER_LIBRARY_DIRS})
add_definitions(${USER_CFLAGS_OTHER})
list(APPEND EXTRA_LIBRARIES ${USER_LIBRARIES})
endif()
if(USE_X)
pkg_check_modules(X11 REQUIRED x11)
include_directories(${X11_INCLUDE_DIRS})
link_directories(${X11_LIBRARY_DIRS})
add_definitions(${X11_CFLAGS_OTHER})
add_compile_definitions(HAS_X11)
list(APPEND EXTRA_LIBRARIES ${X11_LIBRARIES})
endif()
list(LENGTH MODULE_NAMES MODULE_COUNT)
if(MODULE_COUNT EQUAL 0)
message(FATAL_ERROR "No modules defined!")
endif()
foreach(module_name ${MODULE_NAMES})
string(FIND "${module_name}" "/" sep_index)
if(NOT sep_index EQUAL -1)
set(module_path "${module_name}")
else()
set(module_path "${MODULE_DIRECTORY}${module_name}")
endif()
message("Found module: ${module_path}")
list(APPEND MODULE_SOURCE_FILES "${module_path}")
endforeach()
add_compile_definitions(QTB_VERSION="${QTB_VERSION}")
add_definitions(${EXTRA_FLAGS})
add_executable(quick-text-bar main.c ${MODULE_SOURCE_FILES} ${EXTRA_SOURCE_FILES})
target_link_libraries(quick-text-bar PRIVATE Threads::Threads m ${EXTRA_LIBRARIES})
install(TARGETS quick-text-bar)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/quick-text-bar.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")