Add CMakeLists.txt

This commit is contained in:
Zeke Xiao 2024-12-17 06:59:26 +00:00
parent e316d53fa7
commit 8c8b87a8f4

31
CMakeLists.txt Normal file
View File

@ -0,0 +1,31 @@
# Copyright (c) 2020-2021 Thakee Nathees
# Distributed Under The MIT License
cmake_minimum_required(VERSION 3.5)
project(pocket C)
set(POCKET_SRC_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/src/core
${CMAKE_CURRENT_SOURCE_DIR}/src/libs
)
file(GLOB POCKET_SOURCES "")
foreach(POCKET_SRC_DIR ${POCKET_SRC_DIRS})
file(GLOB SOURCES "${POCKET_SRC_DIR}/*.c")
list(APPEND POCKET_SOURCES ${SOURCES})
endforeach()
add_library(${PROJECT_NAME} ${POCKET_SOURCES})
target_include_directories(${PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src/include)
if(NOT MSVC)
target_link_libraries(${PROJECT_NAME} m dl)
target_compile_options(${PROJECT_NAME} PRIVATE -fPIC)
endif()
# if pocket is top level proejct build cli
if(${PROJECT_NAME} STREQUAL ${CMAKE_PROJECT_NAME})
add_executable(${PROJECT_NAME}cli ${CMAKE_SOURCE_DIR}/cli/main.c)
target_link_libraries(${PROJECT_NAME}cli ${PROJECT_NAME})
endif()