# # cmake file for a standalone program # # J. Dudouet # CMAKE_MINIMUM_REQUIRED(VERSION 2.6) # # NAME OF THE PROGRAM : means main is in PROG_NAME.[c,cpp ...] and it gives exec with name PROG_NAME # SET(PROG_NAME Cubix) SET(CMAKE_EXEC_LINKER_FLAGS -static) # PROJECT(${PROG_NAME}) # Options SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/modules) # #Set C++11 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) # -stdlib=libc++") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread" ) # -stdlib=libc++") #Set ROOT list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS}) find_package(ROOT REQUIRED COMPONENTS Core MathCore Hist Gui Gpad Graf RIO Matrix Physics Thread MultiProc) include(${ROOT_USE_FILE}) if ( NOT ROOT_FOUND ) MESSAGE( FATAL_ERROR "ROOT not found ==> EXIT") else() MESSAGE( "ROOT found. --> ROOTSYS=$ENV{ROOTSYS}") endif() find_package(GW) if ( NOT GW_FOUND ) MESSAGE( FATAL_ERROR "Gammaware not found ==> EXIT") endif() # SET(SourceDir ${CMAKE_SOURCE_DIR}/sources) # # exe and list of required libraries SET( PROG_NAME_SRCS ${SourceDir}/Cubix.cpp ) INCLUDE_DIRECTORIES(${ROOT_INCLUDES}) link_directories(${ROOT_LIBRARY_DIR}) SET(EXTRA_EXTERNAL_LIBRARIES ${EXTRA_EXTERNAL_LIBRARIES} Core MathCore Hist Gui Gpad Graf RIO Matrix Physics Thread MultiProc Spectrum ) INCLUDE_DIRECTORIES(${GW_INCLUDE_DIR}) link_directories(${GW_LIBRARY_DIR}) SET(EXTRA_EXTERNAL_LIBRARIES ${EXTRA_EXTERNAL_LIBRARIES} GWPHYSICS GWTOOLS GWCORE ) file(GLOB headers ${SourceDir}/*.h) list(REMOVE_ITEM headers ${SourceDir}/LinkDef.h) file(GLOB icons ${CMAKE_SOURCE_DIR}/icons/*) file(GLOB database ${CMAKE_SOURCE_DIR}/DataBase) file(GLOB sources ${SourceDir}/*.cpp) include_directories(${SourceDir}) ROOT_GENERATE_DICTIONARY(G__${PROG_NAME} ${headers} LINKDEF ${SourceDir}/LinkDef.h ) set(CMAKE_INSTALL_MESSAGE LAZY) # ADD_EXECUTABLE(${PROG_NAME} G__${PROG_NAME}.cxx ${sources} ) TARGET_LINK_LIBRARIES(${PROG_NAME} ${EXTRA_EXTERNAL_LIBRARIES}) install(TARGETS ${PROG_NAME} RUNTIME DESTINATION bin) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib${PROG_NAME}_rdict.pcm DESTINATION lib) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib${PROG_NAME}.rootmap DESTINATION lib) install(FILES ${headers} DESTINATION include COMPONENT headers) install(FILES ${icons} DESTINATION icons COMPONENT icons) install(DIRECTORY ${database} DESTINATION ${CMAKE_INSTALL_PREFIX})