39 lines
677 B
CMake
39 lines
677 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
project(
|
|
json
|
|
LANGUAGES
|
|
C
|
|
)
|
|
|
|
add_library(
|
|
${PROJECT_NAME}
|
|
json.c
|
|
)
|
|
target_include_directories(
|
|
${PROJECT_NAME}
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
set_target_properties(
|
|
${PROJECT_NAME}
|
|
PROPERTIES
|
|
C_STANDARD 23
|
|
C_STANDARD_REQUIRED ON
|
|
C_EXTENSIONS OFF
|
|
)
|
|
|
|
install(TARGETS ${PROJECT_NAME} DESTINATION lib)
|
|
install(FILES json.h DESTINATION include)
|
|
|
|
option(BUILD_EXAMPLE "Build the example" OFF)
|
|
if(BUILD_EXAMPLE)
|
|
add_subdirectory(example)
|
|
endif()
|
|
|
|
option(BUILD_TESTS "Build unit tests" OFF)
|
|
if(BUILD_TESTS)
|
|
enable_testing()
|
|
add_subdirectory(tests)
|
|
endif()
|
|
|