nanosm/CMakeLists.txt

54 lines
837 B
CMake

cmake_minimum_required(VERSION 3.15)
project(nanosm
LANGUAGES CXX
VERSION 0.1
)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include(Policies)
include(ProjectFuncs)
include(CompilerFlags)
add_subdirectory(third_party/tomlplusplus)
add_executable(nanosm
src/main.cpp
src/tomlpp_src.cpp
# glue code
src/EventLoop.cpp
src/Timer.cpp
src/WordExp.cpp
src/Process.cpp
src/RestartingProcess.cpp
)
target_compile_definitions(nanosm PRIVATE
-DTOML_HEADER_ONLY=0
)
target_link_libraries(nanosm PRIVATE
tomlplusplus::tomlplusplus
)
nanosm_target(nanosm)
# cmake install stuff
include(GNUInstallDirs)
# doc files
install(FILES
${PROJECT_SOURCE_DIR}/LICENSE
${PROJECT_SOURCE_DIR}/doc/nanosm.toml
DESTINATION ${CMAKE_INSTALL_DOCDIR}
)
install(TARGETS nanosm
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)