Blame view

CMakeLists.txt 7.16 KB
fbe3c2bb   Benjamin Renard   First commit
1
2
3
4
5
cmake_minimum_required(VERSION 2.6)

PROJECT(AMDA-Kernel)

SET(CPACK_PACKAGE_VERSION_MAJOR "3")
66028c2c   Benjamin Renard   Set to version 3.6.0
6
SET(CPACK_PACKAGE_VERSION_MINOR "6")
fbe3c2bb   Benjamin Renard   First commit
7
SET(CPACK_PACKAGE_VERSION_PATCH "0")
fbe3c2bb   Benjamin Renard   First commit
8
9
10
11
12
13
14
15
16
17
18

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/)

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")

fbe3c2bb   Benjamin Renard   First commit
19
set(Boost_USE_MULTITHREADED ON)
fbe3c2bb   Benjamin Renard   First commit
20

7bde1dd3   Benjamin Renard   Remove hard coded...
21
22
23
# Check some environment variables
if (EXISTS "$ENV{AMDA_COTS_DIR}")
    message("AMDA_COTS_DIR exists")
96e26914   Benjamin Renard   Some fix in kerne...
24
25
26
    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")
ab9d7e65   Benjamin Renard   Fix libraries loc...
27
28
    set(GCC_ROOT "$ENV{GCC_ROOT}")
    set(BOOST_ROOT "$ENV{BOOST_ROOT}")
96e26914   Benjamin Renard   Some fix in kerne...
29
    set(SONAR_ROOT "$ENV{AMDA_COTS_DIR}/tools/sonar")
fb64e17e   Benjamin Renard   Add script to run...
30
    set(FITNESSE_ROOT "$ENV{AMDA_COTS_DIR}/tools/FitNesse")
7bde1dd3   Benjamin Renard   Remove hard coded...
31
32
33
else()
    message(FATAL_ERROR "AMDA_COTS_DIR NOT exists")
endif()
cfe8df50   Benjamin Renard   DD_Client is now ...
34

7bde1dd3   Benjamin Renard   Remove hard coded...
35
message("USERLOCAL_ROOT (AMDA COTS install directory) is defined as ${USERLOCAL_ROOT}")
96e26914   Benjamin Renard   Some fix in kerne...
36
message("GCC_ROOT (gcc install directory) is defined as ${GCC_ROOT}")
7bde1dd3   Benjamin Renard   Remove hard coded...
37
38
message("BOOST_ROOT (Boost install directory) is defined as ${BOOST_ROOT}")

6c8de11c   Benjamin Renard   Remove hard coded...
39
if(NOT DEFINED ENV{DDSERVER_HOST_NAME})
7bde1dd3   Benjamin Renard   Remove hard coded...
40
41
42
43
44
    message(FATAL_ERROR "Missing DDSERVER_HOST_NAME definition")
endif()

set(DDSERVER_HOST_NAME "$ENV{DDSERVER_HOST_NAME}")

6c8de11c   Benjamin Renard   Remove hard coded...
45
if(NOT DEFINED ENV{DDSERVER_PORT})
7bde1dd3   Benjamin Renard   Remove hard coded...
46
47
48
49
50
51
52
    message(FATAL_ERROR "Missing DDSERVER_PORT definition")
endif()

set(DDSERVER_PORT "$ENV{DDSERVER_PORT}")


#Find all packages
fbe3c2bb   Benjamin Renard   First commit
53
54
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")

7bde1dd3   Benjamin Renard   Remove hard coded...
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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(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"
)
fbe3c2bb   Benjamin Renard   First commit
76

7bde1dd3   Benjamin Renard   Remove hard coded...
77
78
79
80
configure_file (
    "${CMAKE_SOURCE_DIR}/config/app/templates/spiceKernelConfig.xml.in"
    "${CMAKE_SOURCE_DIR}/config/app/spiceKernelConfig.xml"
)
cfe8df50   Benjamin Renard   DD_Client is now ...
81

7bde1dd3   Benjamin Renard   Remove hard coded...
82
83
84
85
86
87
88
89
90
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"
    )
3eb67c8c   Benjamin Renard   Copy amda.propert...
91
92
93
94
95
    configure_file(
        "${CMAKE_SOURCE_DIR}/config/app/amda.properties"
        "${CMAKE_SOURCE_DIR}/app-${environment}/amda.properties"
        COPYONLY
    )
7bde1dd3   Benjamin Renard   Remove hard coded...
96
97
endforeach()

96e26914   Benjamin Renard   Some fix in kerne...
98
99
100
101
102
configure_file (
    "${CMAKE_SOURCE_DIR}/script/templates/amda-kernel-env.in"
    "${CMAKE_SOURCE_DIR}/script/amda-kernel-env"
    @ONLY
)
7bde1dd3   Benjamin Renard   Remove hard coded...
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

# 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)
e3ca4c3f   Benjamin Renard   adding structure ...
120
add_subdirectory(src/expressionParser)
7bde1dd3   Benjamin Renard   Remove hard coded...
121
122
123
124
125
126
127
128
129
130
131
132
add_subdirectory(src/amdaParameterInfo)
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)
895c3576   Benjamin Renard   ConstantInterface...
133
add_subdirectory(src/ParamGetImpl/ConstantInterface)
7bde1dd3   Benjamin Renard   Remove hard coded...
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
add_subdirectory(src/InternLib)
add_subdirectory(src/ExternLib/Deriv)
add_subdirectory(src/ExternLib/Magnitude)
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/mexvex_els_decode)
add_subdirectory(src/ExternLib/mexvex_els_calculate)
4ff6e5e9   Elena.Budnik   mexvex_els_calcul...
151
add_subdirectory(src/ExternLib/mexvex_els_calculate_sum)
4ff9a3bd   Elena.Budnik   MEX IMA plugin
152
153
add_subdirectory(src/ExternLib/mex_imah_calculate)
add_subdirectory(src/ExternLib/mex_imao_calculate)
7bde1dd3   Benjamin Renard   Remove hard coded...
154
155
156
157
add_subdirectory(src/ExternLib/PlotCurves)
add_subdirectory(src/ExternLib/StatisticProcesses)
add_subdirectory(src/ExternLib/FramesTransformation)
add_subdirectory(src/ExternLib/sum_into_table_range)
09ec73e7   Benjamin Renard   Add process sum_i...
158
add_subdirectory(src/ExternLib/sum_into_table_indexes)
7bde1dd3   Benjamin Renard   Remove hard coded...
159
160
add_subdirectory(src/ExternLib/EISCATDataFilter)
add_subdirectory(src/ExternLib/Tsyganenko96)
74a11471   Benjamin Renard   Add min, max, var...
161
162
163
164
165
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)
40f1fe40   Benjamin Renard   Define a simple p...
166
add_subdirectory(src/ExternLib/ttcat_to_param)
262ee6e6   Elena.Budnik   new function angl...
167
 
7bde1dd3   Benjamin Renard   Remove hard coded...
168
169
170
171
IF ( CSLIM_FOUND )
    add_subdirectory(test/DD_Client/CSlimFixtures)
    add_subdirectory(test/CSlimTestServer)
ENDIF ()
fbe3c2bb   Benjamin Renard   First commit
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
    
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)