diff --git a/CMakeLists.txt b/CMakeLists.txt index e4b56597ceae1f94339ea240687bdccab937e668..e1eda0c48de0f2541cbc71d2390fb41cd56e1d59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,6 +67,7 @@ set(libfp311online_SRCS src/command.cpp src/experimentstate.cpp src/rootcanvaswidget.cpp + src/cacertificates.cpp "${CMAKE_CURRENT_BINARY_DIR}/version.libfp311online.cpp" ) @@ -77,8 +78,16 @@ else() include(${PROJECT_SOURCE_DIR}/cmake/build-root-submodule.cmake) endif (${USE_HOST_ROOT_INSTALL}) +option(ENABLE_DEVEL_CERTIFICATES "Configure the application to use and trust the development certificate for the encryption of the connection between server and client. DO NOT ENABLE IN PRODUCTION!" ON) # Enable by default during development +if (${ENABLE_DEVEL_CERTIFICATES}) + set(DEVEL_CERT_RESOURCE_FILE crypto/devel_cert.qrc) +else() + set(DEVEL_CERT_RESOURCE_FILE "") +endif (${ENABLE_DEVEL_CERTIFICATES}) + add_library(fp311online STATIC ${libfp311online_SRCS} + ${DEVEL_CERT_RESOURCE_FILE} ) include(GenerateExportHeader) @@ -99,6 +108,10 @@ set_property(TARGET fp311online PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET fp311online PROPERTY CXX_VISIBILITY_PRESET hidden) set_property(TARGET fp311online PROPERTY VISIBILITY_INLINES_HIDDEN ON) +if (${ENABLE_DEVEL_CERTIFICATES}) + target_compile_definitions(fp311online PRIVATE LIBFP311ONLINE_LOAD_DEVEL_CERT_RESOURCE) +endif (${ENABLE_DEVEL_CERTIFICATES}) + if ("${ROOT_MAJOR_VERSION}.${ROOT_MINOR_VERSION}" VERSION_GREATER_EQUAL 6.24) # The interface of RooDataHist was improved in ROOT 6.24 and the old way of # querying the content of a bin was deprecated.