cmake_minimum_required(VERSION 3.27) list(APPEND CMAKE_MESSAGE_CONTEXT km3net-jpp) project(km3net-jpp VERSION 18.5.2 LANGUAGES CXX) # general defaults like output paths, optional parts, etc... include(cmake/defaults/CMakeLists.txt) if(KM3NET_JPP_ENABLE_TESTING) include(CTest) endif() # usefull functions to ease declaration of libraries # and executables for this project include(cmake/functions/CMakeLists.txt) # list of external packages we're depending upon include(FeatureSummary) include(dependencies.cmake) feature_summary( FATAL_ON_MISSING_REQUIRED_PACKAGES WHAT PACKAGES_NOT_FOUND QUIET_ON_EMPTY) # define our targets add_subdirectory(software) # temporary hack to get (very) old and modern cmake peacefully coexisting for a # while in DataQueue and MonRouter directories include(cmake/adapter/CMakeLists.txt) if(KM3NET_JPP_ENABLE_EXAMPLES) add_subdirectory(examples) endif() add_subdirectory(data) # if we are the top level directory we add tests and packaging if (PROJECT_IS_TOP_LEVEL) if(BUILD_TESTING) add_subdirectory(tests) endif() if(KM3NET_JPP_ENABLE_DOCUMENTATION) add_subdirectory(documentation) endif() include(cmake/packaging/CMakeLists.txt) jpp_report() endif() list(POP_BACK CMAKE_MESSAGE_CONTEXT)