From cfcf1c0c8f24016abf85453c72b22a7e0f90cc0a Mon Sep 17 00:00:00 2001 From: "Klein, Thorsten (GDE-EDS9)" Date: Thu, 9 May 2024 11:39:21 +0200 Subject: [PATCH] added CMakeLists.txt --- CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..43fc28c3 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,53 @@ +cmake_minimum_required(VERSION 3.4) +project(linenoise C) + +include(GNUInstallDirs) + +option(LINENOISE_BUILD_EXAMPLE OFF) + +# ----------------- +# LIBRARY +# ----------------- +add_library(${PROJECT_NAME} linenoise.c) +target_include_directories(${PROJECT_NAME} + INTERFACE $ +) +target_compile_options(${PROJECT_NAME} + PRIVATE -Wall -W +) + +# ----------------- +# EXAMPLE +# ----------------- +if(LINENOISE_BUILD_EXAMPLE) + add_executable(${PROJECT_NAME}-example example.c) + target_link_libraries(${PROJECT_NAME}-example + PRIVATE ${PROJECT_NAME} + ) + target_compile_options(${PROJECT_NAME} + PRIVATE -Wall -W + ) +endif() + +# ----------------- +# INSTALLATION +# ----------------- +if(TARGET ${PROJECT_NAME}-example) + install (TARGETS ${PROJECT_NAME}-example + DESTINATION ${CMAKE_INSTALL_BINDIR} + ) +endif() + +install (TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}Config + DESTINATION ${CMAKE_INSTALL_LIBDIR} +) + +install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/linenoise.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/linenoise/ +) + +install(EXPORT ${PROJECT_NAME}Config + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} +)