Documente Academic
Documente Profesional
Documente Cultură
# if you want to switch to 2.6 min, please look at the escaped definitions
# later in this file (the add_definitions in 2.6 don't need to be escaped),
# and remove the CMP0005 policy.
# the CMP0003 could also be removed for cmake 2.6
cmake_minimum_required (VERSION 2.4)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0005 OLD)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
if (CMAKE_CROSSCOMPILING)
if (OSCAM_SYSTEM_NAME MATCHES "Tuxbox")
set (OSCamOperatingSystem "Tuxbox")
elseif (OSCAM_SYSTEM_NAME MATCHES "TripleDragon")
set (OSCamOperatingSystem "TripleDragon")
elseif (OSCAM_SYSTEM_NAME MATCHES "Coolstream")
set (OSCamOperatingSystem "NeutrinoHD")
elseif (OSCAM_SYSTEM_NAME MATCHES "NSLU2")
set (OSCamOperatingSystem "SlugOS")
elseif (OSCAM_SYSTEM_NAME MATCHES "WRT350NV2")
set (OSCamOperatingSystem "OpenWRT")
set (CS_OS_HW "wrt350nv2")
elseif (OSCAM_SYSTEM_NAME MATCHES "Dockstar")
set (OSCamOperatingSystem "OpenWRT")
set (CS_OS_HW "dockstar")
elseif (OSCAM_SYSTEM_NAME MATCHES "Fonera2")
set (OSCamOperatingSystem "Fonera2")
elseif (OSCAM_SYSTEM_NAME MATCHES "DIR-825")
set (OSCamOperatingSystem "DIR-825")
elseif (OSCAM_SYSTEM_NAME MATCHES "AZBox")
set (OSCamOperatingSystem "AZBox")
elseif (OSCAM_SYSTEM_NAME MATCHES "SU980")
set (OSCamOperatingSystem "SU980")
elseif (OSCAM_SYSTEM_NAME MATCHES "MCA")
set (OSCamOperatingSystem "MCA")
elseif (OSCAM_SYSTEM_NAME MATCHES "agv2+w")
set (OSCamOperatingSystem "agv2+w")
elseif (OSCAM_SYSTEM_NAME MATCHES "WRT54G")
set (OSCamOperatingSystem "WRT54G")
elseif (OSCAM_SYSTEM_NAME MATCHES "Amino")
set (OSCamOperatingSystem "Amino")
elseif (OSCAM_SYSTEM_NAME MATCHES "QboxHD")
set (OSCamOperatingSystem "QboxHD")
elseif (OSCAM_SYSTEM_NAME MATCHES "Padre")
set (OSCamOperatingSystem "Padre")
elseif (OSCAM_SYSTEM_NAME MATCHES "FriendlyARM")
set (OSCamOperatingSystem "FriendlyARM")
else (OSCAM_SYSTEM_NAME MATCHES "Tuxbox")
message (STATUS "Unknown cross system name: <${CMAKE_SYSTEM_NAME}>")
set (OSCamOperatingSystem "Unknown")
endif (OSCAM_SYSTEM_NAME MATCHES "Tuxbox")
else (CMAKE_CROSSCOMPILING)
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set (OSCamOperatingSystem "Linux")
elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
set (OSCamOperatingSystem "FreeBSD")
elseif (OSCamOperatingSystem MATCHES "Padre")
add_definitions ("-DPADRE -DSPARC")
set (DEFAULT_CS_CONFDIR "/etc/oscam")
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set (OSCamOperatingSystem "Mac OS X")
execute_process(COMMAND sw_vers -productVersion COMMAND cut -c 1-4 COMMAND tr
-d '\n' OUTPUT_VARIABLE SWVER)
execute_process(COMMAND xcodebuild -version COMMAND grep Xcode COMMAND sed
"s/Xcode\ //g" COMMAND tr -d '\n' OUTPUT_VARIABLE XCODEVER)
message (STATUS "mac sdk version is ${SWVER}")
message (STATUS "mac Xcode version is ${XCODEVER}")
add_definitions ("-w")
set (CMAKE_OSX_DEPLOYMENT_TARGET "${SWVER}")
if (SWVER GREATER 10.5)
set (CMAKE_OSX_ARCHITECTURES "x86_64")
endif (SWVER GREATER 10.5)
if (SWVER EQUAL 10.7 AND XCODEVER LESS 4.3)
message (STATUS "Compiling with xcode less then 4.3 on 10.7 If You have time
update You're Xcode")
endif (SWVER EQUAL 10.7 AND XCODEVER LESS 4.3)
set (STATIC_LIBUSB True)
elseif (${CYGWIN})
set (OSCamOperatingSystem "Windows/Cygwin")
set (CMAKE_SYSTEM_PROCESSOR "i386")
else (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
message (STATUS "Unknown system name: <${CMAKE_SYSTEM_NAME}>")
set (OSCamOperatingSystem "Unknown")
endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
endif (CMAKE_CROSSCOMPILING)
set (CS_CONFDIR ${DEFAULT_CS_CONFDIR} CACHE STRING "Default path for the config
files")
add_definitions ("-DCS_CONFDIR=\\\"${CS_CONFDIR}\\\"")
include (CheckIncludeFile)
find_package(OpenSSL)
if (OPENSSL_FOUND AND HAVE_LIBCRYPTO)
include_directories(${OPENSSL_INCLUDE_DIR})
message(STATUS " openssl found.")
if (WITH_SSL EQUAL 1)
set(USE_SSL "USE_SSL")
endif (WITH_SSL EQUAL 1)
else (OPENSSL_FOUND AND HAVE_LIBCRYPTO)
message(STATUS "SSL REQUESTED BUT OPENSSL or LYBCRYPTO NOT FOUND !!")
if (WITH_SSL)
message(STATUS " ssl support requested but openssl or libcrypto NOT FOUND
COMPILING WHITOUT SSL !!! ")
set (WITH_SSL "0")
endif (WITH_SSL)
endif (OPENSSL_FOUND AND HAVE_LIBCRYPTO)
MACRO(GENERATE_OSCAM_CONFIG fullpath)
foreach(option ${config_vars})
if(DEFINED ${option})
if(${option})
execute_process (COMMAND $
{CMAKE_CURRENT_SOURCE_DIR}/config.sh --enable ${option})
else(${option})
execute_process (COMMAND $
{CMAKE_CURRENT_SOURCE_DIR}/config.sh --disable ${option})
endif(${option})
endif(DEFINED ${option})
endforeach(option)
ENDMACRO(GENERATE_OSCAM_CONFIG fullpath)
GENERATE_OSCAM_CONFIG("${CMAKE_CURRENT_SOURCE_DIR}/config.h")
add_subdirectory (csctapi)
add_subdirectory (minilzo)
add_subdirectory (cscrypt)
if (HAVE_PTHREAD)
set (pthread_link "pthread")
endif (HAVE_PTHREAD)
if (WITH_SSL)
target_link_libraries (${exe_name} ssl)
endif (WITH_SSL)
if (HAVE_LIBCRYPTO)
target_link_libraries (${exe_name} crypto)
endif (HAVE_LIBCRYPTO)
if (HAVE_PCSC)
if (NOT OSCamOperatingSystem MATCHES "Mac OS X")
if (NOT OSCamOperatingSystem MATCHES "Windows/Cygwin")
target_link_libraries (${exe_name} pcsclite)
endif (NOT OSCamOperatingSystem MATCHES "Windows/Cygwin")
endif (NOT OSCamOperatingSystem MATCHES "Mac OS X")
endif (HAVE_PCSC)
if (HAVE_LIBSTAPI)
target_link_libraries(${exe_name} stapilib)
endif (HAVE_LIBSTAPI)
#--------------------------------------------------------------------------------
# compute my filename
set (CPACK_PACKAGE_FILE_NAME
"${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-${CS_TARGET}")