From d3ac9fd3a0a7644aa389ca063370f71ad2e3ceb2 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 10 Aug 2021 22:20:17 +0200 Subject: [PATCH] add: cmake option all in one build --- CMakeLists.txt | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 15db2c9..ac752d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,9 @@ cmake_minimum_required(VERSION 3.13.4) +set(BINPATH "/usr/local/bin") +set(LIBPATH "/usr/local/lib") +set(HEADERPATH "/usr/local/include") + if (LLVM_BUILD_TOOLS) set(CMAKE_C_COMPILER clang) set(CMAKE_C_FLAGS "-Wall") @@ -10,17 +14,25 @@ endif() project(discspan) -set(SOURCES discspan.c help.c) -set(SOURCE_LIB logic.c filehandler.c splitter.c) -set(PUBLIC_HEADERS discspan.h logic.h filehandler.h splitter.h) +if (ALLINONE) + set(SOURCES discspan.c help.c logic.c filehandler.c splitter.c) +else() + set(SOURCES discspan.c help.c) + set(SOURCE_LIB logic.c filehandler.c splitter.c) + set(PUBLIC_HEADERS discspan.h logic.h filehandler.h splitter.h) + add_library(span SHARED ${SOURCE_LIB}) + set_target_properties(span PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") +endif() -add_library(span SHARED ${SOURCE_LIB}) add_executable(discspan ${SOURCES}) -target_link_libraries(discspan m "-L." span) - -set_target_properties(span PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") +if (ALLINONE) + target_link_libraries(discspan m) + install(TARGETS discspan DESTINATION ${BINPATH}) +else() + target_link_libraries(discspan m "-L." span) + install(TARGETS discspan span DESTINATION ${BINPATH} + LIBRARY DESTINATION ${LIBPATH} + PUBLIC_HEADER DESTINATION ${HEADERPATH}) +endif() -install(TARGETS discspan span DESTINATION /usr/local/bin - LIBRARY DESTINATION /usr/local/lib - PUBLIC_HEADER DESTINATION /usr/local/include) -- 2.39.5