Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # CMake build script template
- #
- # Building from source:
- # > mkdir build && cd build
- # > cmake ..
- # > cmake --build .
- #
- # Testing:
- # > ctest -V
- #
- # Install:
- # > cmake --build . --target install
- cmake_minimum_required(VERSION 3.9)
- project(argsparser DESCRIPTION "A simple C++ command line argument parser.")
- include(GNUInstallDirs)
- enable_language(CXX)
- set(CMAKE_CXX_STANDARD 11)
- # Instructions to build static library
- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
- set(
- SOURCE_FILES
- src/main.cpp
- )
- set(
- HEADER_FILES
- include/main.h
- )
- set(
- PRIVATE_HEADER_FILES
- )
- set(
- LINK_LIBRARIES
- )
- set(LIB_NAME libname) # libname is the name of the compiled library
- add_library(${LIB_NAME} STATIC ${SOURCE_FILES})
- set_target_properties(
- ${LIB_NAME} PROPERTIES
- VERSION 1
- SOVERSION 1
- PUBLIC_HEADER "${HEADER_FILES}"
- PRIVATE_HEADER "${PRIVATE_HEADER_FILES}")
- target_include_directories(${LIB_NAME} PUBLIC include)
- target_link_libraries(${LIB_NAME} ${LINK_LIBRARIES})
- install(TARGETS ${LIB_NAME}
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION include/${LIB_NAME}/static
- PUBLIC_HEADER DESTINATION include/${LIB_NAME}
- PRIVATE_HEADER DESTINATION include/${LIB_NAME})
- # Option to build tests
- option(BUILD_TESTS "Build Tests." ON)
- if(BUILD_TESTS)
- include(CMakeTests.cmake)
- endif(BUILD_TESTS)
Add Comment
Please, Sign In to add comment