From a946639cc427cf2eeb935ffc238b7e9f7cb0210e Mon Sep 17 00:00:00 2001 From: Whitney Armstrong <warmstrong@anl.gov> Date: Thu, 28 Jun 2018 23:49:13 -0500 Subject: [PATCH] modified: CMakeLists.txt new file: external/CMakeLists.txt new file: external/PODD.CMakeLists.txt modified: src/CMakeLists.txt --- CMakeLists.txt | 9 +++++--- external/CMakeLists.txt | 40 ++++++++++++++++++++++++++++++++++++ external/PODD.CMakeLists.txt | 20 ++++++++++++++++++ src/CMakeLists.txt | 4 ++-- 4 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 external/CMakeLists.txt create mode 100644 external/PODD.CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 13ae055..d81fb7a 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 0000000..d66c2ad --- /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 0000000..c149508 --- /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 29f19bd..095e425 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) -- GitLab