CMakeLists.txt.All 3.72 KB
cmake_minimum_required(VERSION 2.6)

PROJECT(DDServer)

add_definitions( -DLINUX )
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/bin/)
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/lib/)

if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
  #64 bits
  MESSAGE( STATUS "64 bits" )
  set(CMAKE_C_FLAGS_DEBUG "-ggdb -DLINUX -Dlinux -m64 -march=core2 -fPIC -D_REENTRANT -pthread")
  set(CMAKE_C_FLAGS_RELEASE "-DLINUX -Dlinux -m64 -march=core2 -fPIC -D_REENTRANT -pthread")
  set(USRLIB_DIR "/usr/lib64/:/usr/local/lib64/")
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
  #32 bits
  MESSAGE( STATUS "32 bits" )
  set(CMAKE_C_FLAGS_DEBUG "-ggdb -DLINUX -march=i686 -fPIC -Dlinux -D_REENTRANT -malign-double -pthread")
  set(CMAKE_C_FLAGS_DEBUG "-DLINUX -march=i686 -fPIC -Dlinux -D_REENTRANT -malign-double -pthread")
  set(USRLIB_DIR "/usr/lib/:/usr/local/lib/")
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )

set (USERLOCAL_ROOT "/usr/local/lib/")
if (EXISTS "$ENV{USERLOCAL_ROOT}")
    set(USERLOCAL_ROOT "$ENV{USERLOCAL_ROOT}")
    message("USERLOCAL_ROOT forced to ${USERLOCAL_ROOT}")
endif()

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")

# Fedora30
# include_directories( AFTER "/usr/include/tirpc" )

find_package( Threads REQUIRED )
find_package( CRYPT REQUIRED )
find_package( NetCDF REQUIRED )
find_package( DDClient REQUIRED )
find_package( CDF REQUIRED )
find_package( LibXML2 REQUIRED ) 

get_filename_component(NETCDFLIB_DIR ${NETCDFLIBRARIES} PATH)
get_filename_component(DDCLIENTLIB_DIR ${DDCLIENTLIBRARIES} PATH)
set(DDSERVICE_URL $ENV{DDSERVICE_URL})
set(DDRESPATH $ENV{DDRESPATH})
set(DDBASEDATA "$ENV{DDBASEPATH}/DATA")
set(DDBASEINFO "$ENV{DDBASEPATH}/INFO")
set(PROXY_HOST $ENV{PROXY_HOST})
set(PROXY_USERPWD $ENV{PROXY_USERPWD})

configure_file (
 "${CMAKE_SOURCE_DIR}/scripts/DDServer.env.in"
 "${CMAKE_SOURCE_DIR}/scripts/DDServer.env"
)

configure_file (
 "${CMAKE_SOURCE_DIR}/src/DDSERVICES/SOAP/DDserverWeb_ini.php.in"
 "${CMAKE_SOURCE_DIR}/src/DDSERVICES/SOAP/DDserverWeb_ini.php"
)

configure_file (
 "${CMAKE_SOURCE_DIR}/src/DDSERVICES/SOAP/dd.wsdl.in"
 "${CMAKE_SOURCE_DIR}/src/DDSERVICES/SOAP/dd.wsdl"
)

MESSAGE( STATUS "Build DD_Server Project" )
add_subdirectory(src/SERVER)
add_subdirectory(src/DECODERS/ascii2nc)
add_subdirectory(src/DECODERS/cdfnew2nc)
add_subdirectory(src/DECODERS/nc2nc)
add_subdirectory(src/DECODERS/themis)
add_subdirectory(src/DATA/TOOLS)
add_subdirectory(src/DDSERVICES/TOOLS)
add_subdirectory(src/DDADMIN/TOOLS)
add_subdirectory(tests)

install(FILES "scripts/StartServer" DESTINATION . PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(FILES "scripts/DDServer.env" DESTINATION . PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
file(GLOB scripts "scripts/*.sh")
install(FILES ${scripts} DESTINATION . PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

install(DIRECTORY "src/CALLEXT/" DESTINATION bin/CALLEXT)
install(DIRECTORY "src/DATA/MANAGER/" DESTINATION bin/DATAMANAGER)
install(DIRECTORY "src/DATA/TEMPLATES/" DESTINATION bin)
install(DIRECTORY "src/REMOTEDATA/" DESTINATION bin/REMOTEDATA)
install(DIRECTORY "src/DDADMIN/MANAGER/" DESTINATION bin/USERMANAGER)
install(DIRECTORY "src/DDSERVICES/SOAP/" DESTINATION DDService)
install(DIRECTORY "src/DDSERVICES/REST/" DESTINATION DDService)

install(FILES "src/DECODERS/cdfnew2nc/cdf_to_netcdf_mapping.dat" DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE  GROUP_READ  WORLD_READ) 

file(GLOB config_files "info/REMOTEDATA/*.xml")
install(FILES ${config_files} DESTINATION ${DDBASEINFO} PERMISSIONS OWNER_READ OWNER_WRITE  GROUP_READ WORLD_READ)

SET(CMAKE_VERBOSE_MAKEFILE ON)