cmake_minimum_required(VERSION 2.6) PROJECT(AMDA-Kernel) SET(CPACK_PACKAGE_VERSION_MAJOR "3") SET(CPACK_PACKAGE_VERSION_MINOR "6") SET(CPACK_PACKAGE_VERSION_PATCH "0") set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/bin/) set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/lib/) set(PLUGIN_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/plugin/) find_program(LSB_RELEASE_EXEC lsb_release) execute_process(COMMAND ${LSB_RELEASE_EXEC} -is OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE ) if (${LSB_RELEASE_ID_SHORT} MATCHES "Fedora") set(OPTION_SUP "${OPTION_SUP} -I/usr/include/tirpc -Wno-deprecated-copy") endif() set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${OPTION_SUP} -std=c++0x -fPIC -Wall -Wextra -ggdb -DLINUX -Dlinux -D_REENTRANT -malign-double -pthread") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${OPTION_SUP} -fPIC -Wall -ggdb -DLINUX -fPIC -Dlinux -D_REENTRANT -malign-double -pthread") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++0x -Wall -Wextra -fPIC -DLINUX -Dlinux -D_REENTRANT -malign-double -pthread -O3 -DNDEBUG") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_DEBUG} ${OPTION_SUP} -fPIC -Wall -DLINUX -Dlinux -D_REENTRANT -malign-double -pthread") set(Boost_USE_MULTITHREADED ON) # Check some environment variables if (EXISTS "$ENV{AMDA_COTS_DIR}") message("AMDA_COTS_DIR exists") set(AMDA_COTS_DIR "$ENV{AMDA_COTS_DIR}") set(USERLOCAL_ROOT "$ENV{AMDA_COTS_DIR}/local") set(AMDA_TOOLS_DIR "$ENV{AMDA_COTS_DIR}/tools") set(GCC_ROOT "$ENV{GCC_ROOT}") set(BOOST_ROOT "$ENV{BOOST_ROOT}") set(SONAR_ROOT "$ENV{AMDA_COTS_DIR}/tools/sonar") set(FITNESSE_ROOT "$ENV{AMDA_COTS_DIR}/tools/FitNesse") else() message(FATAL_ERROR "AMDA_COTS_DIR NOT exists") endif() message("USERLOCAL_ROOT (AMDA COTS install directory) is defined as ${USERLOCAL_ROOT}") message("GCC_ROOT (gcc install directory) is defined as ${GCC_ROOT}") message("BOOST_ROOT (Boost install directory) is defined as ${BOOST_ROOT}") if(NOT DEFINED ENV{DDSERVER_HOST_NAME}) message(FATAL_ERROR "Missing DDSERVER_HOST_NAME definition") endif() set(DDSERVER_HOST_NAME "$ENV{DDSERVER_HOST_NAME}") if(NOT DEFINED ENV{DDSERVER_PORT}) message(FATAL_ERROR "Missing DDSERVER_PORT definition") endif() set(DDSERVER_PORT "$ENV{DDSERVER_PORT}") #Find all packages set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") find_package( Boost 1.51 REQUIRED COMPONENTS program_options regex system filesystem thread iostreams) find_package(Threads REQUIRED) find_package( Boost COMPONENTS thread system REQUIRED) find_package(cURL REQUIRED) find_package(Archive REQUIRED) find_package(Log4Cxx REQUIRED) find_package(LibXML2 REQUIRED) find_package(PLplot REQUIRED) find_package(CDF REQUIRED) find_package(NetCDF REQUIRED) find_package(DDClientCpp REQUIRED) find_package(Geopack REQUIRED) find_package(Maglib REQUIRED) find_package(CSlim) get_filename_component(DDCLIENTLIB_DIR ${DDCLIENTLIBRARIES} PATH) # Apply configuration configure_file ( "${CMAKE_SOURCE_DIR}/src/Common/AMDA-Kernel_Config.hh.in" "${CMAKE_SOURCE_DIR}/src/Common/AMDA-Kernel_Config.hh" ) configure_file ( "${CMAKE_SOURCE_DIR}/config/app/templates/spiceKernelConfig.xml.in" "${CMAKE_SOURCE_DIR}/config/app/spiceKernelConfig.xml" ) foreach(environment debug release generate-paraminfo) configure_file ( "${CMAKE_SOURCE_DIR}/config/app/templates/app.properties.${environment}.in" "${CMAKE_SOURCE_DIR}/app-${environment}/app.properties" ) configure_file ( "${CMAKE_SOURCE_DIR}/config/app/templates/DD.res.in" "${CMAKE_SOURCE_DIR}/app-${environment}/DD.res" ) configure_file( "${CMAKE_SOURCE_DIR}/config/app/amda.properties" "${CMAKE_SOURCE_DIR}/app-${environment}/amda.properties" COPYONLY ) endforeach() configure_file ( "${CMAKE_SOURCE_DIR}/script/templates/amda-kernel-env.in" "${CMAKE_SOURCE_DIR}/script/amda-kernel-env" @ONLY ) # Build AMDA Kernel MESSAGE( STATUS "Build AMDA-Kernel Project" ) add_subdirectory(src/TimeUtil) add_subdirectory(src/Common) add_subdirectory(src/helpers) add_subdirectory(src/Info) add_subdirectory(src/Parameters) add_subdirectory(src/XMLConfigurator) add_subdirectory(src/XMLParameterConfigurator) add_subdirectory(src/Plugins) add_subdirectory(src/Main) add_subdirectory(src/XMLRequest) add_subdirectory(src/SpiceKernel) add_subdirectory(src/amdaXMLRequestorTool) add_subdirectory(src/amdaParameterGenerator) add_subdirectory(src/expressionParser) add_subdirectory(src/amdaParameterInfo) add_subdirectory(src/amdaGetErrorMsg) add_subdirectory(src/PostProcessing) add_subdirectory(src/ParamOutputImpl/Download) add_subdirectory(src/ParamOutputImpl/IntervalTrue) add_subdirectory(src/ParamOutputImpl/DataMining) add_subdirectory(src/ParamOutputImpl/Plot) add_subdirectory(src/ParamOutputImpl/Statistic) add_subdirectory(src/TimeTableCatalog) add_subdirectory(src/TTOperations) add_subdirectory(src/TTConversion) add_subdirectory(src/ParamGetImpl/DDServerInterface) add_subdirectory(src/ParamGetImpl/LocalFileInterface) add_subdirectory(src/ParamGetImpl/ConstantInterface) add_subdirectory(src/InternLib) add_subdirectory(src/ExternLib/Deriv) add_subdirectory(src/ExternLib/Morschhauser) add_subdirectory(src/ExternLib/Ram_Presure) add_subdirectory(src/ExternLib/TimeShifted) add_subdirectory(src/ExternLib/GetClbInfo) add_subdirectory(src/ExternLib/GetClbInfoByIndex) add_subdirectory(src/ExternLib/GetMavenStaticEnergy) add_subdirectory(src/ExternLib/GetJunoJediEnergy) add_subdirectory(src/ExternLib/EnergyBounds) add_subdirectory(src/ExternLib/Boxcar) add_subdirectory(src/ExternLib/SlidingAverage) add_subdirectory(src/ExternLib/Merge) add_subdirectory(src/ExternLib/els_calculate) add_subdirectory(src/ExternLib/Maglib) add_subdirectory(src/ExternLib/mexvex_els_decode) add_subdirectory(src/ExternLib/mexvex_els_calculate) add_subdirectory(src/ExternLib/mexvex_els_calculate_sum) add_subdirectory(src/ExternLib/mex_imah_calculate) add_subdirectory(src/ExternLib/mex_imao_calculate) add_subdirectory(src/ExternLib/PlotCurves) add_subdirectory(src/ExternLib/StatisticProcesses) add_subdirectory(src/ExternLib/FramesTransformation) add_subdirectory(src/ExternLib/Jupiter_JRM09_CAN_81) add_subdirectory(src/ExternLib/sum_into_table_range) add_subdirectory(src/ExternLib/sum_into_table_indexes) add_subdirectory(src/ExternLib/EISCATDataFilter) add_subdirectory(src/ExternLib/Tsyganenko96) add_subdirectory(src/ExternLib/StatisticFunctions) add_subdirectory(src/ExternLib/Fix) add_subdirectory(src/ExternLib/Ceil) add_subdirectory(src/ExternLib/Floor) add_subdirectory(src/ExternLib/Sign) add_subdirectory(src/ExternLib/ttcat_to_param) IF ( CSLIM_FOUND ) add_subdirectory(test/DD_Client/CSlimFixtures) add_subdirectory(test/CSlimTestServer) ENDIF () IF(CMAKE_COMPILER_IS_GNUCC) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") ENDIF(CMAKE_COMPILER_IS_GNUCC) IF(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") ENDIF(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_VERBOSE_MAKEFILE ON) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMDA-Kernel") SET(CPACK_GENERATOR "STGZ;TGZ") SET(CPACK_SOURCE_GENERATOR "TGZ") SET(CPACK_PACKAGE_VENDOR "AKKA IS") #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt") #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") #SET(CPACK_STRIP_FILES "bin/MyExecutable") #SET(CPACK_SOURCE_STRIP_FILES "") SET(CPACK_PACKAGE_EXECUTABLES "roof" "FTP client") INCLUDE(CPack)