54 lines
837 B
CMake
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}
|
|
)
|
|
|