diff --git a/CMakeLists.txt b/CMakeLists.txt index 13ae055c856245afe27ce048cd2e9f3a61b0fd6c..d81fb7aa3a5f36aa5b976930f304a39b6136386c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,8 +7,8 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules) ## Use C++17 features -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) +#set(CMAKE_CXX_STANDARD 17) +#set(CMAKE_CXX_STANDARD_REQUIRED ON) ## OS Specific settings include(cmake/os.cmake) @@ -18,11 +18,14 @@ include(cmake/modules/CompileTimeInfo.cmake) include(GNUInstallDirs) set(INSTALL_CONFIGDIR lib/hcana) +list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}) + find_package(EXPAT REQUIRED COMPONENTS EXPAT ) find_package(Threads REQUIRED) find_package(ZLIB REQUIRED) -find_package(EVIO REQUIRED) +include(ExternalProject) +add_subdirectory(external) find_package(PODD REQUIRED) list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS}) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..d66c2ad5be80ceaa93bfba0a718c230bb773e0d9 --- /dev/null +++ b/external/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.1) + +#include(ExternalProject) + +############## +## GFLAGS ## +############## +message(STATUS "Subproject: PODD...") +# Download and unpack gflags at configure time +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/PODD.CMakeLists.txt + ${CMAKE_BINARY_DIR}/PODD-download/CMakeLists.txt) + +execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . + RESULT_VARIABLE result + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/PODD-download) +if(result) + message(FATAL_ERROR "CMake step for PODD failed: ${result}") +endif() +execute_process(COMMAND ${CMAKE_COMMAND} --build . + RESULT_VARIABLE result + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/PODD-download) +if(result) + message(FATAL_ERROR "Build step for PODD failed: ${result}") +endif() + +#set(GFLAGS_NAMESPACE "gflags") +#set(GFLAGS_INSTALL_STATIC_LIBS ON) +#set(GFLAGS_INSTALL_HEADERS ON) +#set(GFLAGS_IS_SUBPROJECT TRUE) +add_subdirectory( + ${CMAKE_BINARY_DIR}/hallac_PODD-src + ${CMAKE_BINARY_DIR}/hallac_PODD-build) + +execute_process(COMMAND "rm -r *" + RESULT_VARIABLE result + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/PODD-download) + +message(STATUS "Subproject: PODD...DONE") + diff --git a/external/PODD.CMakeLists.txt b/external/PODD.CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..c149508ea70c7cf0f5b48100d8f4de2828f76f96 --- /dev/null +++ b/external/PODD.CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.5) + +# simplify variable expansion +cmake_policy(SET CMP0053 NEW) +cmake_policy(SET CMP0010 NEW) + +project(PODD-download NONE) + +include(ExternalProject) + +ExternalProject_Add(PODD_project + GIT_REPOSITORY https://github.com/whit2333/analyzer.git + GIT_TAG origin/testing + SOURCE_DIR "${CMAKE_BINARY_DIR}/hallac_PODD-src" + BINARY_DIR "${CMAKE_BINARY_DIR}/hallac_PODD-build" + CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=@CMAKE_INSTALL_PREFIX@" "-DCMAKE_PREFIX_PATH=@CMAKE_INSTALL_PREFIX@" + BUILD_COMMAND ${CMAKE_COMMAND} --build . -- -j4 + TEST_COMMAND "" + LOG_DOWNLOAD ON + ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 29f19bd4c28ec6aff7cd0f19bbd574040d988c23..095e425d1b310392cf3d4e51d3d922694f88b384 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -62,8 +62,8 @@ target_compile_options(HallC PRIVATE $<$<CXX_COMPILER_ID:GNU>:-DHAS_SSTREAM=1>) target_link_libraries(HallC PUBLIC ${ROOT_LIBRARIES} - PUBLIC PODD::HallA - PUBLIC PODD::Decode + PUBLIC HallA + PUBLIC dc ) #This is required so that the exported target has the name JSONUtils and not jsonutils #set_target_properties(HallC PROPERTIES EXPORT_NAME hallC)