Files
simple-object-server/CMakeLists.txt
Your Name 72af459e73
Some checks failed
Build-Test-Publish / Build (push) Failing after 36s
'Generic Commit'
2025-06-02 00:44:31 +12:00

61 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(simple_object_storage)
set(PROJECT_EXE_NAME simple_object_storage)
# Set the build type to Debug
#set(CMAKE_BUILD_TYPE Debug CACHE STRING "Build type (e.g., Debug, Release)" FORCE)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Linking flags (removed -static)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
set(BUILD_SHARED_LIBS OFF)
# Configure version information
string(TIMESTAMP CURRENT_YEAR "%Y")
string(TIMESTAMP CURRENT_MONTH "%m")
string(TIMESTAMP CURRENT_DAY "%d")
string(TIMESTAMP CURRENT_HOUR "%H")
string(TIMESTAMP CURRENT_MINUTE "%M")
set(PROJECT_VERSION "${CURRENT_YEAR}.${CURRENT_MONTH}${CURRENT_DAY}.${CURRENT_HOUR}${CURRENT_MINUTE}")
string(TIMESTAMP RELEASE_DATE "%Y-%m-%d")
# Configure version.hpp file
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.hpp.in"
"${CMAKE_CURRENT_BINARY_DIR}/src/autogen/version.hpp"
@ONLY
)
# Find all source files in src directory
file(GLOB_RECURSE SOURCES
"src/*.cpp"
"src/sqlite3/*.c"
)
# Find all header files in src directory
file(GLOB_RECURSE HEADERS
"src/*.hpp"
"src/sqlite3/*.h"
)
# Add include directories
include_directories(
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src/autogen>
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/autogen
)
# Create executable
add_executable(${PROJECT_EXE_NAME} ${SOURCES})
# Remove specific static flags as CMAKE_EXE_LINKER_FLAGS handles it now
target_link_libraries(${PROJECT_EXE_NAME}
)
# Install target
install(TARGETS ${PROJECT_EXE_NAME}
RUNTIME DESTINATION bin
)