35 lines
1.4 KiB
CMake
35 lines
1.4 KiB
CMake
|
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||
|
|
||
|
# metadata
|
||
|
set(META_PROJECT_NAME reflective_rapidjson)
|
||
|
set(META_APP_NAME "Reflection for RapidJSON")
|
||
|
set(META_APP_AUTHOR "Martchus")
|
||
|
set(META_APP_URL "https://github.com/${META_APP_AUTHOR}/${META_PROJECT_NAME}")
|
||
|
set(META_APP_DESCRIPTION "Reflection for serializing/deserializing with RapidJSON")
|
||
|
set(META_APP_CATEGORIES "Utility;")
|
||
|
set(META_GUI_OPTIONAL false)
|
||
|
set(META_VERSION_MAJOR 0)
|
||
|
set(META_VERSION_MINOR 0)
|
||
|
set(META_VERSION_PATCH 1)
|
||
|
set(META_APP_VERSION ${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH})
|
||
|
|
||
|
# set project name for IDEs like Qt Creator
|
||
|
project(${META_PROJECT_NAME})
|
||
|
|
||
|
# allow bundling c++utilities
|
||
|
set(BUNDLED_CPP_UTILITIES_PATH OFF CACHE FILEPATH "specifies the (relative) path to the c++utilities sources for building it together with ${META_PROJECT_NAME}")
|
||
|
if(NOT BUNDLED_CPP_UTILITIES_PATH)
|
||
|
message(STATUS "Using system c++utilities")
|
||
|
elseif(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${BUNDLED_CPP_UTILITIES_PATH}" OR IS_DIRECTORY "${BUNDLED_CPP_UTILITIES_PATH}")
|
||
|
add_subdirectory("${BUNDLED_CPP_UTILITIES_PATH}" c++utilities)
|
||
|
list(APPEND CMAKE_MODULE_PATH ${CPP_UTILITIES_SOURCE_DIR}/cmake/modules)
|
||
|
else()
|
||
|
message(FATAL_ERROR "Specified directory for c++utilities sources \"${BUNDLED_CPP_UTILITIES_PATH}\" does not exist.")
|
||
|
endif()
|
||
|
|
||
|
# add helper library for using RapidJSON
|
||
|
add_subdirectory(lib)
|
||
|
|
||
|
# add code generator
|
||
|
add_subdirectory(moc)
|