diff --git a/lwshell/CMakeLists.txt b/lwshell/CMakeLists.txt index 981cb7b..f05f91d 100644 --- a/lwshell/CMakeLists.txt +++ b/lwshell/CMakeLists.txt @@ -1,11 +1,3 @@ cmake_minimum_required(VERSION 3.22) -# Register core library -add_library(lwshell INTERFACE) -target_sources(lwshell PUBLIC ${CMAKE_CURRENT_LIST_DIR}/src/lwshell/lwshell.c) -target_include_directories(lwshell INTERFACE ${CMAKE_CURRENT_LIST_DIR}/src/include) - -# Create config file -if(DEFINED LWSHELL_OPTS_DIR AND NOT EXISTS ${LWSHELL_OPTS_DIR}/lwshell_opts.h) - configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/lwshell/lwshell_opts_template.h ${LWSHELL_OPTS_DIR}/lwshell_opts.h COPYONLY) -endif() \ No newline at end of file +include(${CMAKE_CURRENT_LIST_DIR}/library.cmake) \ No newline at end of file diff --git a/lwshell/library.cmake b/lwshell/library.cmake new file mode 100644 index 0000000..9538e72 --- /dev/null +++ b/lwshell/library.cmake @@ -0,0 +1,21 @@ +# Library core sources +set(lwshell_core_SRCS + ${CMAKE_CURRENT_LIST_DIR}/src/lwshell/lwshell.c +) + +# Setup include directories +set(lwshell_include_DIRS + ${CMAKE_CURRENT_LIST_DIR}/src/include +) + +# Register library to the system +add_library(lwshell INTERFACE) +target_sources(lwshell INTERFACE ${lwshell_core_SRCS}) +target_include_directories(lwshell INTERFACE ${lwshell_include_DIRS}) +target_compile_options(lwshell PRIVATE ${LWSHELL_COMPILE_OPTIONS}) +target_compile_definitions(lwshell PRIVATE ${LWSHELL_COMPILE_DEFINITIONS}) + +# Create config file +if(DEFINED LWSHELL_OPTS_DIR AND NOT EXISTS ${LWSHELL_OPTS_DIR}/lwshell_opts.h) + configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/lwshell/lwshell_opts_template.h ${LWSHELL_OPTS_DIR}/lwshell_opts.h COPYONLY) +endif() \ No newline at end of file