source: trunk/CMakeLists.txt@ 104

Last change on this file since 104 was 104, checked in by smurzch2, 14 years ago

Add cross-compilation setup for sh4 amino

File size: 4.0 KB
Line 
1project (OSCam C)
2
3cmake_minimum_required (VERSION 2.6)
4
5#----------------------- detect system ------------------------------
6
7if (CMAKE_CROSSCOMPILING)
8 if (OSCAM_SYSTEM_NAME MATCHES "Tuxbox")
9 set (OSCamOperatingSystem "Tuxbox")
10 elseif (OSCAM_SYSTEM_NAME MATCHES "Fonera2")
11 set (OSCamOperatingSystem "Fonera2")
12 elseif (OSCAM_SYSTEM_NAME MATCHES "Amino")
13 set (OSCamOperatingSystem "Amino")
14 else (OSCAM_SYSTEM_NAME MATCHES "Tuxbox")
15 set (OSCamOperatingSystem "Unknown")
16 endif (OSCAM_SYSTEM_NAME MATCHES "Tuxbox")
17else (CMAKE_CROSSCOMPILING)
18 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
19 set (OSCamOperatingSystem "Linux")
20 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
21 set (OSCamOperatingSystem "Mac OS X")
22 else (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
23 set (OSCamOperatingSystem "Unknown")
24 endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
25endif (CMAKE_CROSSCOMPILING)
26
27#----------------------- some paths ------------------------------
28
29set (OPTIONAL_LINK_DIR "" CACHE STRING "Some optional link directories")
30set (OPTIONAL_INCLUDE_DIR "" CACHE STRING "Some optional include directories")
31
32include_directories (
33 ${CMAKE_CURRENT_SOURCE_DIR}/csctapi
34 ${CMAKE_CURRENT_SOURCE_DIR}/cscrypt
35 ${OPTIONAL_INCLUDE_DIR}
36 )
37link_directories (${OPTIONAL_LINK_DIR})
38
39#----------------------- global options ------------------------------
40
41if (OSCamOperatingSystem MATCHES "Linux")
42 add_definitions ("-DOS_LINUX")
43elseif (OSCamOperatingSystem MATCHES "Mac OS X")
44 add_definitions ("-DOS_MACOSX -DNEED_DAEMON -DCS_NOSHM -DHAVE_PTHREAD_H -DUSE_PTHREAD")
45elseif (OSCamOperatingSystem MATCHES "Tuxbox")
46 add_definitions ("-DOS_LINUX -DTUXBOX -DPPC")
47elseif (OSCamOperatingSystem MATCHES "Fonera2")
48 add_definitions ("-DOS_LINUX -DMIPSEL -DUCLIBC")
49elseif (OSCamOperatingSystem MATCHES "Amino")
50 add_definitions ("-DOS_LINUX")
51endif (OSCamOperatingSystem MATCHES "Linux")
52
53#----------------------- subdirectories ------------------------------
54
55add_subdirectory (csctapi)
56add_subdirectory (cscrypt)
57
58#----------------------- file groups ------------------------------
59
60file (GLOB csmodules_srcs "module-*.c")
61file (GLOB csmodules_hdrs "module-*.h")
62file (GLOB csreaders_srcs "reader-*.c")
63file (GLOB csreaders_hdrs "reader-*.h")
64file (GLOB csoscam_srcs "oscam-*.c")
65file (GLOB csoscam_hdrs "oscam-*.h")
66file (GLOB exe_srcs "oscam.c")
67file (GLOB exe_hdrs "globals.h")
68file (GLOB all_srcs ${csmodules_srcs} ${csreaders_srcs} ${csoscam_srcs} ${exe_srcs})
69
70#----------------------- modules ------------------------------
71
72set (csmodules "csmodules")
73add_library (${csmodules} STATIC ${csmodules_srcs} ${csmodules_hdrs})
74
75#----------------------- readers ------------------------------
76
77set (csreaders "csreaders")
78add_library (${csreaders} STATIC ${csreaders_srcs} ${csreaders_hdrs})
79
80#----------------------- other oscam files ------------------------------
81
82set (csoscam "csoscam")
83add_library (${csoscam} STATIC ${csoscam_srcs} ${csoscam_hdrs})
84
85#----------------------- the executable ------------------------------
86
87set (exe_name "oscam")
88add_executable (${exe_name} ${exe_srcs} ${exe_hdrs})
89target_link_libraries (${exe_name} crypto pthread ${csoscam} ${csmodules} ${csreaders} csctapi cscrypt)
90add_dependencies (${exe_name} ${csoscam} ${csreaders} ${csmodules})
91
92#----------------------- specific options ------------------------------
93
94if (OSCamOperatingSystem MATCHES "Linux")
95elseif (OSCamOperatingSystem MATCHES "Mac OS X")
96elseif (OSCamOperatingSystem MATCHES "Tuxbox")
97 target_link_libraries ( ${exe_name} dl)
98elseif (OSCamOperatingSystem MATCHES "Fonera2")
99elseif (OSCamOperatingSystem MATCHES "Amino")
100endif (OSCamOperatingSystem MATCHES "Linux")
101
102set_source_files_properties (${all_srcs} PROPERTIES COMPILE_FLAGS "-O3 -Winline -Werror -finline-functions -fomit-frame-pointer")
103
104#----------------------- printout resume -----------------------------
105
106message (STATUS "")
107message (STATUS " operating system: ${OSCamOperatingSystem}")
108message (STATUS "")
Note: See TracBrowser for help on using the repository browser.