43 lines
895 B
CMake
43 lines
895 B
CMake
cmake_minimum_required(VERSION 3.24.2)
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
|
# TODO: Define this version number with build system.
|
|
# TODO: Add git hash to version number.
|
|
project(cppchallenge VERSION 1.0.0)
|
|
|
|
find_package(CLI11 REQUIRED)
|
|
|
|
set(BUILD_DIR "${PROJECT_SOURCE_DIR}/build")
|
|
set(CLI11_DIR ${BUILD_DIR})
|
|
|
|
# include_directories(include)
|
|
|
|
add_library(challenge SHARED
|
|
src/File.cpp
|
|
)
|
|
target_include_directories(challenge PUBLIC include)
|
|
|
|
add_executable(${PROJECT_NAME}
|
|
src/cppchallenge.cpp
|
|
)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
CLI11::CLI11
|
|
challenge
|
|
)
|
|
|
|
set_target_properties(${PROJECT_NAME}
|
|
PROPERTIES
|
|
PUBLIC_HEADER
|
|
include/File.h
|
|
)
|
|
|
|
install(TARGETS ${PROJECT_NAME} challenge
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
PUBLIC_HEADER DESTINATION include
|
|
)
|
|
|
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
include(packdeb)
|