126 lines
4.5 KiB
CMake
126 lines
4.5 KiB
CMake
|
# - Locate NeL 3D library
|
||
|
# This module defines
|
||
|
# NEL3D_LIBRARY, the library to link against
|
||
|
# NEL_FOUND, if false, do not try to link to NEL3D
|
||
|
# NEL_INCLUDE_DIR, where to find headers.
|
||
|
|
||
|
IF(NELNS_NAMING_SERVICE_BIN AND NELNS_COMMON_CFG)
|
||
|
# in cache already
|
||
|
SET(NELNS_FIND_QUIETLY TRUE)
|
||
|
ENDIF(NELNS_NAMING_SERVICE_BIN AND NELNS_COMMON_CFG)
|
||
|
|
||
|
# Assume we find NeL and correct it along the way.
|
||
|
SET(NELNS_FOUND "YES")
|
||
|
|
||
|
# determine the components to retrieve.
|
||
|
IF(NOT NeLNS_FIND_COMPONENTS)
|
||
|
# We must always have naming_service.
|
||
|
SET(NeLNS_FIND_COMPONENTS naming_service)
|
||
|
ELSE(NOT NeLNS_FIND_COMPONENTS)
|
||
|
# Make sure we have naming_service in the list.
|
||
|
LIST(FIND NeLNS_FIND_COMPONENTS naming_service TMP_FIND_NELNS)
|
||
|
IF(TMP_FIND_NELNS EQUAL -1)
|
||
|
LIST(APPEND NeLNS_FIND_COMPONENTS naming_service)
|
||
|
ENDIF(TMP_FIND_NELNS EQUAL -1)
|
||
|
ENDIF(NOT NeLNS_FIND_COMPONENTS)
|
||
|
|
||
|
FIND_FILE(NELNS_COMMON_CFG
|
||
|
NAME NAME common.cfg
|
||
|
PATHS
|
||
|
[HKEY_LOCAL_MACHINE\\SOFTWARE\\NeL\\NeLNS;]/etc/nel/nelns
|
||
|
$ENV{ProgramFiles}/NeLNS/etc/nel/nelns
|
||
|
$ENV{NELNS_DIR}/etc/nel/nelns)
|
||
|
|
||
|
# Make sure we found the include files.
|
||
|
IF(NOT NELNS_COMMON_CFG)
|
||
|
SET(NEL_FOUND "NO")
|
||
|
ENDIF(NOT NELNS_COMMON_CFG)
|
||
|
|
||
|
# A utility macro to wrap NeL finds...
|
||
|
MACRO(FIND_NELNS_PROGRAM NELNSPROGRAM NELNSBINNAME)
|
||
|
FIND_PROGRAM(NELNS_${NELNSPROGRAM}_BIN
|
||
|
NAME ${NELNSBINNAME}
|
||
|
PATHS
|
||
|
[HKEY_LOCAL_MACHINE\\SOFTWARE\\NeL\\NeLNS;]/sbin
|
||
|
[HKEY_LOCAL_MACHINE\\SOFTWARE\\NeL\\NeLNS;]/bin
|
||
|
$ENV{ProgramFiles}/NeLNS/sbin
|
||
|
$ENV{ProgramFiles}/NeLNS/bin
|
||
|
$ENV{NELNS_DIR}/sbin
|
||
|
$ENV{NELNS_DIR}/bin)
|
||
|
FIND_FILE(NELNS_${NELNSPROGRAM}_CFG
|
||
|
NAME NAME ${NELNSBINNAME}.cfg
|
||
|
PATHS
|
||
|
[HKEY_LOCAL_MACHINE\\SOFTWARE\\NeL\\NeL;]/etc/nel/nelns
|
||
|
$ENV{ProgramFiles}/NeLNS/etc/nel/nelns
|
||
|
$ENV{NELNS_DIR}/etc/nel/nelns)
|
||
|
ENDMACRO(FIND_NELNS_PROGRAM NELNSPROGRAM)
|
||
|
|
||
|
|
||
|
# Find the library for each required library.
|
||
|
FOREACH(NL_F_COMPONENT ${NeLNS_FIND_COMPONENTS})
|
||
|
|
||
|
# Check for NeL Naming Service
|
||
|
IF(NL_F_COMPONENT STREQUAL "naming_service")
|
||
|
FIND_NELNS_PROGRAM(NAMING_SERVICE naming_service)
|
||
|
|
||
|
IF(NOT NELNS_NAMING_SERVICE_BIN OR NOT NELNS_NAMING_SERVICE_CFG)
|
||
|
SET(NELNS_FOUND "NO")
|
||
|
ENDIF(NOT NELNS_NAMING_SERVICE_BIN OR NOT NELNS_NAMING_SERVICE_CFG)
|
||
|
|
||
|
# Check for NeL Login Service
|
||
|
ELSEIF(NL_F_COMPONENT STREQUAL "login_service")
|
||
|
FIND_NELNS_PROGRAM(LOGIN_SERVICE login_service)
|
||
|
|
||
|
IF(NOT NELNS_LOGIN_SERVICE_BIN OR NOT NELNS_LOGIN_SERVICE_CFG)
|
||
|
SET(NELNS_FOUND "NO")
|
||
|
ENDIF(NOT NELNS_LOGIN_SERVICE_BIN OR NOT NELNS_LOGIN_SERVICE_CFG)
|
||
|
|
||
|
# Check for NeL Welcome Service
|
||
|
ELSEIF(NL_F_COMPONENT STREQUAL "welcome_service")
|
||
|
FIND_NELNS_PROGRAM(WELCOME_SERVICE welcome_service)
|
||
|
|
||
|
IF(NOT NELNS_WELCOME_SERVICE_BIN OR NOT NELNS_WELCOME_SERVICE_CFG)
|
||
|
SET(NELNS_FOUND "NO")
|
||
|
ENDIF(NOT NELNS_WELCOME_SERVICE_BIN OR NOT NELNS_WELCOME_SERVICE_CFG)
|
||
|
|
||
|
# Check for NeL Admin Service
|
||
|
ELSEIF(NL_F_COMPONENT STREQUAL "admin_service")
|
||
|
FIND_NELNS_PROGRAM(ADMIN_SERVICE admin_service)
|
||
|
|
||
|
IF(NOT NELNS_ADMIN_SERVICE_BIN OR NOT NELNS_ADMIN_SERVICE_CFG)
|
||
|
SET(NELNS_FOUND "NO")
|
||
|
ENDIF(NOT NELNS_ADMIN_SERVICE_BIN OR NOT NELNS_ADMIN_SERVICE_CFG)
|
||
|
|
||
|
# Check for NeL Admin Executor Service
|
||
|
ELSEIF(NL_F_COMPONENT STREQUAL "admin_executor_service")
|
||
|
FIND_NELNS_PROGRAM(ADMIN_EXECUTOR_SERVICE admin_executor_service)
|
||
|
|
||
|
IF(NOT NELNS_ADMIN_EXECUTOR_SERVICE_BIN OR NOT NELNS_ADMIN_EXECUTOR_SERVICE_CFG)
|
||
|
SET(NELNS_FOUND "NO")
|
||
|
ENDIF(NOT NELNS_ADMIN_EXECUTOR_SERVICE_BIN OR NOT NELNS_ADMIN_EXECUTOR_SERVICE_CFG)
|
||
|
|
||
|
# Check for NeL Qt Launcher
|
||
|
ELSEIF(NL_F_COMPONENT STREQUAL "nel_launcher_qt")
|
||
|
FIND_NELNS_PROGRAM(NEL_LAUNCHER nel_launcher_qt)
|
||
|
|
||
|
IF(NOT NELNS_NEL_LAUNCHER_BIN)
|
||
|
SET(NELNS_FOUND "NO")
|
||
|
ENDIF(NOT NELNS_NEL_LAUNCHER_BIN)
|
||
|
|
||
|
# Output an error message if an unknown component is requested.
|
||
|
ELSE(NL_F_COMPONENT STREQUAL "naming_service")
|
||
|
MESSAGE(ERROR " Unknown component ${NL_F_COMPONENT}!!")
|
||
|
SET(NELNS_FOUND "NO")
|
||
|
ENDIF(NL_F_COMPONENT STREQUAL "naming_service")
|
||
|
ENDFOREACH(NL_F_COMPONENT ${NeLNS_FIND_COMPONENTS})
|
||
|
|
||
|
IF(NELNS_FOUND STREQUAL "YES")
|
||
|
IF(NOT NELNS_FIND_QUIETLY)
|
||
|
MESSAGE(STATUS "Found NeLNS: ${NELNS_COMMON_CFG}")
|
||
|
ENDIF(NOT NELNS_FIND_QUIETLY)
|
||
|
ELSE(NELNS_FOUND STREQUAL "YES")
|
||
|
IF(NOT NELNS_FIND_QUIETLY)
|
||
|
MESSAGE(STATUS "Warning: Unable to find NeLNS!")
|
||
|
ENDIF(NOT NELNS_FIND_QUIETLY)
|
||
|
ENDIF(NELNS_FOUND STREQUAL "YES")
|