From 8f009a87eba28921f6b6cc1e610181252e307b6d Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Fri, 13 Sep 2013 14:48:38 +0200 Subject: [PATCH] Fix in finding ROOT under windows --- App/CMakeLists.txt | 22 ++++++++++--- CMakeLists.txt | 1 + cmake/modules/FindROOT.cmake | 60 ++++++++++++++++++++---------------- 3 files changed, 52 insertions(+), 31 deletions(-) diff --git a/App/CMakeLists.txt b/App/CMakeLists.txt index 39d6d283a6c..882479f2cdf 100644 --- a/App/CMakeLists.txt +++ b/App/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 2.8 FATAL_ERROR) set(executable_name App) -# files to have in library +# source files file(GLOB source_files "src/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS06/*.cpp" @@ -20,6 +20,17 @@ file(GLOB source_files # to get rid from files generated via qmake compilation list(REMOVE_ITEM source_files ${CMAKE_CURRENT_SOURCE_DIR}/src/AppDict.cpp) +# header files +file(GLOB include_files + "inc/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS06/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS07/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS08/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS10/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS11/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS15/*.h" +) + include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/inc ${CMAKE_CURRENT_SOURCE_DIR}/../Tests/FunctionalTests/TestCore/IsGISAXS06 @@ -33,15 +44,18 @@ include_directories( # data files are required by App for comparison execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/Tests/ReferenceData/IsGISAXS ${CMAKE_BINARY_DIR}/Tests/ReferenceData/IsGISAXS) -#dictionaries +# dictionaries ROOT_GENERATE_DICTIONARY(AppDict inc/DrawHelper.h inc/TreeEventStructure.h LINKDEF AppLinkDef.h) -add_executable(${executable_name} ${source_files} AppDict.cxx) +add_executable(${executable_name} ${source_files} AppDict.cxx ${header_files}) # dependencies include_directories(${BornAgainCore_INCLUDE_DIRS}) target_link_libraries(${executable_name} ${BornAgainCore_LIBRARY}) include_directories(${BornAgainFit_INCLUDE_DIRS}) target_link_libraries(${executable_name} ${BornAgainFit_LIBRARY}) -target_link_libraries(${executable_name} ${ROOT_LIBRARIES}) +message("XXX ROOT_LIBRARIES ${ROOT_LIBRARIES}") +message("XXX ROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR}") +include_directories(${ROOT_INCLUDE_DIR}) +target_link_libraries(${executable_name} ${ROOT_LIBRARIES}) diff --git a/CMakeLists.txt b/CMakeLists.txt index 37c0cee24d2..cd14bde5670 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,7 @@ add_subdirectory(ThirdParty/RootMinimizers) add_subdirectory(Fit) add_subdirectory(Tests/FunctionalTests) # functional tests (make check) +message("XXX ${ROOT_FOUND}") if(ROOT_FOUND AND BORNAGAIN_APP) add_subdirectory(App) endif() diff --git a/cmake/modules/FindROOT.cmake b/cmake/modules/FindROOT.cmake index bbbab4ba8ed..de21d6ee71e 100644 --- a/cmake/modules/FindROOT.cmake +++ b/cmake/modules/FindROOT.cmake @@ -11,40 +11,46 @@ find_program(ROOT_CONFIG_EXECUTABLE root-config PATHS $ENV{ROOTSYS}/bin) if(NOT ROOT_CONFIG_EXECUTABLE) - set(ROOT_FOUND FALSE) -else() - set(ROOT_FOUND TRUE) + set(ROOT_FOUND FALSE) +else() + set(ROOT_FOUND TRUE) - execute_process( - COMMAND ${ROOT_CONFIG_EXECUTABLE} --prefix - OUTPUT_VARIABLE ROOTSYS - OUTPUT_STRIP_TRAILING_WHITESPACE) + if(WIN32) + set(ROOT_INCLUDE_DIR $ENV{ROOTSYS}/include) + set(ROOT_LIBRARY_DIR $ENV{ROOTSYS}/lib) + set(ROOT_LIBRARIES -LIBPATH:${ROOT_LIBRARY_DIR} libGpad.lib libHist.lib libGraf.lib libGraf3d.lib libTree.lib libRint.lib libPostscript.lib libMatrix.lib libPhysics.lib libMathCore.lib libRIO.lib libNet.lib libThread.lib libCore.lib libCint.lib) + + else() - execute_process( - COMMAND ${ROOT_CONFIG_EXECUTABLE} --version - OUTPUT_VARIABLE ROOT_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${ROOT_CONFIG_EXECUTABLE} --prefix + OUTPUT_VARIABLE ROOTSYS + OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process( - COMMAND ${ROOT_CONFIG_EXECUTABLE} --incdir - OUTPUT_VARIABLE ROOT_INCLUDE_DIR - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${ROOT_CONFIG_EXECUTABLE} --version + OUTPUT_VARIABLE ROOT_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process( - COMMAND ${ROOT_CONFIG_EXECUTABLE} --libs - OUTPUT_VARIABLE ROOT_LIBRARIES - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${ROOT_CONFIG_EXECUTABLE} --incdir + OUTPUT_VARIABLE ROOT_INCLUDE_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE) - #set(ROOT_LIBRARIES ${ROOT_LIBRARIES} -lThread -lMinuit -lHtml -lVMC -lEG -lGeom -lTreePlayer -lXMLIO -lProof) - #set(ROOT_LIBRARIES ${ROOT_LIBRARIES} -lProofPlayer -lMLP -lSpectrum -lEve -lRGL -lGed -lXMLParser -lPhysics) - set(ROOT_LIBRARY_DIR ${ROOTSYS}/lib) + execute_process( + COMMAND ${ROOT_CONFIG_EXECUTABLE} --libs + OUTPUT_VARIABLE ROOT_LIBRARIES + OUTPUT_STRIP_TRAILING_WHITESPACE) - # Make variables changeble to the advanced user - mark_as_advanced(ROOT_CONFIG_EXECUTABLE) + set(ROOT_LIBRARY_DIR ${ROOTSYS}/lib) - if(NOT ROOT_FIND_QUIETLY) - message(STATUS "Found ROOT ${ROOT_VERSION} in ${ROOTSYS}") - endif() + # Make variables changeble to the advanced user + mark_as_advanced(ROOT_CONFIG_EXECUTABLE) + + if(NOT ROOT_FIND_QUIETLY) + message(STATUS "Found ROOT ${ROOT_VERSION} in ${ROOTSYS}") + endif() + endif() endif() -- GitLab