diff --git a/CMakeLists.txt b/CMakeLists.txt index 5653ec33..87383904 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# using indentlog/CMakeLists.txt as model +# randomgen/CMakeLists.txt cmake_minimum_required(VERSION 3.10) @@ -23,14 +23,14 @@ add_code_coverage() add_code_coverage_all_targets(EXCLUDE /nix/store/* utest/*) # ---------------------------------------------------------------- -# c++ settings - -set(PROJECT_CXX_FLAGS "-fconcepts-diagnostics-depth=2") +# bespoke (usually temporary) c++ settings +set(PROJECT_CXX_FLAGS "") +#set(PROJECT_CXX_FLAGS "-fconcepts-diagnostics-depth=2") add_definitions(${PROJECT_CXX_FLAGS}) # ---------------------------------------------------------------- -# default install +# common include paths etc. xo_toplevel_compile_options() @@ -40,7 +40,7 @@ xo_toplevel_compile_options() # set CMAKE_INSTALL_PREFIX to analog of /usr # to use .cmake assistants from /usr/lib/cmake/indentlog # -#find_package(indentlog REQUIRED) +# xo_internal_dependency(..) # ---------------------------------------------------------------- @@ -48,7 +48,20 @@ add_subdirectory(example) #add_subdirectory(utest) # ---------------------------------------------------------------- +# output targets +set(SELF_LIB randomgen) +add_library(${SELF_LIB} INTERFACE) +xo_include_headeronly_options2(${SELF_LIB}) + +# ---------------------------------------------------------------- +# standard install + provide find_package() support + +xo_install_library2(${SELF_LIB}) xo_install_include_tree() +xo_export_cmake_config(${PROJECT_NAME} ${PROJECT_VERSION} ${PROJECT_NAME}Targets) + +# ---------------------------------------------------------------- +# install additional components install(TARGETS ex1 DESTINATION bin/randomgen/example) diff --git a/README.md b/README.md index 905f267e..73f13f1b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ $ cd randomgen $ mkdir build $ cd build -$ cmake -DCMAKE_MODULE_PATH=${INSTALL_PREFIX}/share/cmake -DCMAKE_PREFIX_PATH=$(INSTALL_PREFIX) .. +$ PREFIX=/usr/local # for example +$ cmake -DCMAKE_MODULE_PATH=${PREFIX}/share/cmake -DCMAKE_PREFIX_PATH=$(PREFIX) -DCMAKE_INSTALL_PREFIX=${PREFIX} .. $ make $ make install ``` diff --git a/cmake/randomgenConfig.cmake.in b/cmake/randomgenConfig.cmake.in new file mode 100644 index 00000000..e66430b0 --- /dev/null +++ b/cmake/randomgenConfig.cmake.in @@ -0,0 +1,4 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/randomgenTargets.cmake") +check_required_components("@PROJECT_NAME@")